Maison > Article > Applet WeChat > À propos des étapes de paiement WeChat à l'aide de l'applet WeChat
Récemment, le développement de l'applet WeChat est entré dans la phase de paiement. J'ai été engagé dans le développement d'applications, je connais donc toujours le processus de paiement par cœur. Cet article vous expliquera les étapes du paiement WeChat via le mini-programme WeChat. Les amis qui en ont besoin peuvent s'y référer
Récemment, le développement du mini-programme WeChat est entré dans la phase de paiement. développement, je connais donc toujours par cœur le processus de paiement. Mais le paiement pour le mini-programme WeChat est un peu étrange. L'application est créée dans le compte officiel, mais l'introduction du document est introuvable dans le compte officiel. C'est très déroutant et le maître du mini-programme appartient au. compte officiel pour le paiement. La portée ou la portée du paiement par application est également discutable. Voici l'entrée du document de paiement du mini programme (imbriqué dans l'API du mini programme) :
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php? Chapter= 7_3&index=1
Étapes de paiement du mini programme :
1, prépaiement
2, basé sur les données de prépaiement + signature ——>Initier le paiement
3, rappel du paiement
Voici une brève description de ces 3 étapes :
1, prépayé. Cette interface soumet les informations de paiement (numéro de commande, prix, etc.) au serveur du développeur via le front-end. Le serveur du développeur les soumet à WeChat, puis renvoie certaines informations que le véritable front-end doit payer, par exemple :
Interface de pré-paiement du serveur développeur :
https://()htm?total_fee=100&cid=6001&orderCodes=2016120119 { "sign":"A2****************A6", "timestamp":"14****************68", "package":"Sign=WXPay", "partnerId":"14****************02", "appid":"wx****************ab", "nonceStr":"9f****************37", "prepayId":"wx****************54" }
2. Initier le paiement (à noter que l'initiation du paiement ne nécessite le téléchargement de l'appid,
Mais la signature paySign nécessite l'appid, et elle est placée en premier)
wx.requestPayment({ nonceStr: res.data.nonceStr, package: "prepay_id="+res.data.prepayId, signType: 'MD5', timeStamp: res.data.timestamp, paySign: sign,//<strong><span style="color:#ff0000;">五个字段参与签名(区分大小写):appId,nonceStr,package,signType,timeStamp(需要注意的是,这5个参数签名排序的顺序按照ASCII字典序排序)</span></strong> success: function(res){ console.log("支付成功"); }, fail: function() { }, complete: function() { } })
Signe de signature généré
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1&t=20161122
Adresse de téléchargement de l'outil de cryptage MD5 de l'applet WeChat : https://code.csdn.net/snippets/2019875/master/download
var MD5Util = require('../../../utils/md5.js'); var sign = ''; //<strong><span style="color:#ff0000;">顺序按照ASCII字典序排序</span></strong> var signA = "appId="+app.appId+"&nonceStr="+res.data.nonceStr+"&package=prepay_id="+res.data.prepayId+"&signType=MD5&timeStamp="+res.data.timestamp; var signB = signA+"&key="+app.key; sign = MD5Util.MD5(signB).toUpperCase();
Générer la signature Ce qui précède est mon code, qui n'est pas très clair. La description détaillée du document officiel est listée ci-dessous :
Supposons que les paramètres transmis soient les suivants :
appid: wxd930ea5d5a258f4f(需要注意的是appid 在wx.requestPayment({})发起支付是不上传,但是签名时需要) mch_id: 10000100 device_info: 1000 body: test nonce_str: ibuaiVcKdpRxkhJA
Première étape : Triez les paramètres au format clé=valeur et dans l'ordre du dictionnaire ASCII des noms de paramètres comme suit :
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";
Étape 2 : Épisser la clé API :
stringSignTemp="stringA&key=192006250b4c09247ec02edce69f6a2d" sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7"
Le signe à ce moment est utilisé pour le paramètre de téléchargement wx.requestPayment paySign .
Obtenez enfin les données finales envoyées :
<xml> <appid>wxd930ea5d5a258f4f</appid> <mch_id>10000100</mch_id> <device_info>1000<device_info> <body>test</body> <nonce_str>ibuaiVcKdpRxkhJA</nonce_str> <sign>9A0A8659F005D6984697E2CA0A9CF3B7</sign> <xml>
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il vous sera utile. à l'étude de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Le mini-programme WeChat utilise PHP pour implémenter la fonction de paiement
À propos du développement du mini-programme WeChat dans le centre commercial (ecshop)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!