Informationen zu den Schritten für die WeChat-Zahlung mit dem WeChat-Applet

不言
Freigeben: 2018-06-23 11:26:35
Original
2743 Leute haben es durchsucht

Vor kurzem ist die Entwicklung des WeChat-Applets in die Zahlungsphase eingetreten. Ich beschäftige mich mit der App-Entwicklung und kenne den Zahlungsvorgang daher immer noch auswendig. In diesem Artikel erfahren Sie mehr über die Schritte der WeChat-Zahlung über das WeChat-Miniprogramm. Freunde, die es benötigen, können sich darauf beziehen.

Vor kurzem ist die Entwicklung des WeChat-Miniprogramms in die Zahlungsphase eingetreten Entwicklung, daher kenne ich den Bezahlvorgang noch auswendig. Die Zahlung für das WeChat-Miniprogramm ist jedoch etwas seltsam. Der Antrag wird im offiziellen Konto erstellt, aber die Einführung des Dokuments ist im offiziellen Konto nicht zu finden Auch der Umfang bzw. die Reichweite der App-Zahlung ist fraglich. Das Folgende ist der Eingang zum Miniprogramm-Zahlungsdokument (verschachtelt in der Miniprogramm-API):

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php? kapitel= 7_3&index=1

Miniprogramm-Zahlungsschritte:

1, Vorauszahlung

2, basierend auf Vorauszahlungsdaten + Unterschrift ——>Zahlung einleiten

3, Zahlungsrückruf

Im Folgenden finden Sie eine kurze Beschreibung dieser 3 Schritte:

1, Prepaid. Diese Schnittstelle übermittelt die Zahlungsinformationen (Bestellnummer, Preis usw.) über das Frontend an den Entwicklerserver und gibt dann einige Informationen zurück, die das eigentliche Frontend bezahlen muss.

Vorauszahlungsschnittstelle des Entwicklerservers:

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"
}
Nach dem Login kopieren

2. Zahlung auslösen (es ist zu beachten, dass für die Einleitung der Zahlung kein Hochladen erforderlich ist appid,

Aber Signatur paySign erfordert appid und wird zuerst platziert)

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() { 
} 
})
Nach dem Login kopieren

Signatur generieren unterschreiben

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3&index=1&t=20161122

Download-Adresse des WeChat-Applets MD5-Verschlüsselungstool: 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();
Nach dem Login kopieren

Signatur generieren Das Obige ist mein Code, Es ist nicht sehr klar. Die detaillierte Beschreibung aus dem offiziellen Dokument ist unten aufgeführt:

Gehen Sie davon aus, dass die übertragenen Parameter wie folgt sind:

appid: wxd930ea5d5a258f4f(需要注意的是appid 在wx.requestPayment({})发起支付是不上传,但是签名时需要)
mch_id: 10000100
device_info: 1000
body: test
nonce_str: ibuaiVcKdpRxkhJA
Nach dem Login kopieren

Schritt 1: Ordnen Sie die Parameter im Schlüssel=Wert-Format an und sortieren Sie sie in der Reihenfolge des ASCII-Wörterbuchs wie folgt:

stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";
Nach dem Login kopieren

Schritt 2: API-Schlüssel spleißen:

stringSignTemp="stringA&key=192006250b4c09247ec02edce69f6a2d"
sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7"
Nach dem Login kopieren

Das Zeichen zu diesem Zeitpunkt wird für den wx.requestPayment-Upload-Parameter paySign verwendet.

Endlich die endgültigen gesendeten Daten erhalten:

<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>
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein Studieren, mehr Bitte beachten Sie die PHP-Chinese-Website für verwandte Inhalte!

Verwandte Empfehlungen:

Das WeChat-Miniprogramm verwendet PHP, um die Zahlungsfunktion zu implementieren

Über die Mall-Entwicklung des WeChat-Miniprogramms (ecshop)

Das obige ist der detaillierte Inhalt vonInformationen zu den Schritten für die WeChat-Zahlung mit dem WeChat-Applet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage