Heim >WeChat-Applet >Mini-Programmentwicklung >Detaillierte Erläuterung der Fehlerzusammenfassung bei der WeChat-Applet-Zahlungsfunktionsentwicklung
In diesem Artikel werden hauptsächlich relevante Informationen zur Zusammenfassung der Fehler bei der Entwicklung der Zahlungsfunktion des WeChat Mini-Programms vorgestellt. Freunde in Not können darauf zurückgreifen.
Zusammenfassung der Fehler bei der Entwicklung der Zahlungsfunktion von WeChat Mini-Programm
WeChat Mini-Programm Ich habe endlich die Fallstricke bei der Bezahlung überwunden und festgestellt, dass es darin ziemlich große Fallstricke gibt. Ich veröffentliche jetzt einen Beitrag und hoffe, dass Studenten, die in Zukunft in diese Falle tappen, dies tun können Werfen Sie einen Blick darauf:
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=2
Der Geschäftsprozess ist hier zu erkennen, wenn Sie sich das Dokument ansehen. Die erste Gefahr besteht darin, die OpenID des Benutzers zu erhalten. Die Parameter müssen in der URL-Verbindung geschrieben werden, andernfalls wird der Fehler {"errcode":40013,"errmsg": "invalid appid, hints: [ req_id: iil1ba0504ns86 ]"} gemeldet
onLoad: function () { var that = this wx.login({ success: function (res) { if (res.code) { //发起网络请求 wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxaacf22345345cfc7162fe3&secret=83ebd41c3e6f34a49b3a34578063434548ff3f71&js_code=' + res.code + '&grant_type=authorization_code', method: "POST", success: function (res) { that.setData({ openid: res.data.openid }) } }) } else { console.log('获取用户登录态失败!' + res.errMsg) } } }); }
Der zweite Fallstrick ist die einheitliche Zahlungsauftragsschnittstelle. Der Grund dafür ist, dass sich viele Menschen von der verschlüsselten Signatur unterscheiden
Adresse des Signaturverschlüsselungstools: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
Beim Signieren und Verschlüsseln muss es sein in utf-8 konvertiert werden. Zum Verschlüsseln verwende ich meine eigene Schnittstelle zum Verschlüsseln >
Drittens gibt es hier mehrere Fallstricke. Der erste besteht darin, dass viele App-IDs nicht als AppID geschrieben werden können Beim Aufruf der Zahlung wird ein Zahlungssignaturfehler gemeldet. Sie müssen außerdem zur Signaturschnittstelle gehen, um zu überprüfen, ob die Signaturen konsistent sind und ob die Parameter korrekt sind. Beim Aufruf der WeChat-Zahlung müssen Sie die AppId hinzufügen// 统一下单接口获取sign(签名) paysignjsapi: function (appid, attach, body, mch_id, nonce_str, notify_url, openid, out_trade_no, spbill_create_ip, total_fee, trade_type, key) { var self = this; //加密签名 wx.request({ url: 'http://localhost:8080/XinXingWXApi/wxXcxApi/Md5Encrypt.do', method: 'GET', data: { appid: appid, attach: attach, body: body, mch_id: mch_id, nonce_str: nonce_str, notify_url: notify_url, openid: openid, out_trade_no: out_trade_no, spbill_create_ip: spbill_create_ip, total_fee: total_fee, trade_type: trade_type, key: key }, //统一下单 success: function (res) { var sign = res.data.strMd5 var formData = "<xml>" formData += "<appid>" + appid + "</appid>" //appid formData += "<attach>" + attach + "</attach>" //附加数据 formData += "<body>" + body + "</body>" //标题 formData += "<mch_id>" + mch_id + "</mch_id>" //商户号 formData += "<nonce_str>" + nonce_str + "</nonce_str>" //随机字符串,不长于32位。 formData += "<notify_url>" + notify_url + "</notify_url>" //异步接收微信支付结果通知的回调地址 formData += "<openid>" + openid + "</openid>" //用户Id formData += "<out_trade_no>" + out_trade_no + "</out_trade_no>" //商户订单号 formData += "<spbill_create_ip>" + spbill_create_ip + "</spbill_create_ip>" formData += "<total_fee>" + total_fee + "</total_fee>" //金额 formData += "<trade_type>" + trade_type + "</trade_type>" //公共号支付 formData += "<sign>" + sign + "</sign>"//签名 formData += "</xml>"Vielen Dank fürs Lesen. Ich hoffe, es kann allen helfen.
//请求统一下单接口 wx.request({ url: "https://api.mch.weixin.qq.com/pay/unifiedorder", method: 'POST', data: formData, success: function (data) { wx.request({ url: "http://localhost:8080/XinXingWXApi/wxXcxApi/xmlAnalyze.do?strXml=" + data.data, method: 'POST', success: function (res) { var pk = 'prepay_id=' + res.data.prepayId; var timeStamp = self.createTimeStamp(); //获取支付签名,并支付 self.getsignType(appid, timeStamp, nonce_str, pk, "MD5", key); } }) } }) } }); }
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Fehlerzusammenfassung bei der WeChat-Applet-Zahlungsfunktionsentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!