Maison  >  Article  >  Applet WeChat  >  À propos des étapes de paiement WeChat à l'aide de l'applet WeChat

À propos des étapes de paiement WeChat à l'aide de l'applet WeChat

不言
不言original
2018-06-23 11:26:352742parcourir

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(&#39;../../../utils/md5.js&#39;);
var sign = &#39;&#39;; 
//<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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn