1. WeChat Pay öffnen1.1 Partner-Händlernummer 1.2 Händlernummer hinzufügen 1.3 Administratorberechtigung1.2 Klicken Sie auf diesem Bild auf Autorisieren. Im WeChat des Administrators wird eine Eingabeaufforderung angezeigt. Klicken Sie einfach, um die Autorisierung zu bestätigen. Andernfalls erscheint bei der Verwendung eine Fehlermeldung, die darauf hinweist 2. Entwicklung von Cloud-Funktionen2.1 Neue Cloud-Funktion erstellen2.2 Cloud-Funktionscode const cloud = erfordern('wx-server-sdk') cloud.init({ Umgebung: cloud.DYNAMIC_CURRENT_ENV }) exports.main = async (Ereignis, Kontext) => { const res = warte auf cloud.cloudPay.unifiedOrder({ "body" : Ereignis.body, "outTradeNo" : Ereignis.outTradeNo, "spbillCreateIp" : "127.0.0.1", "subMchId" : "0000000000", //Hinweis: Obwohl der Schlüssel die Unterhändler-ID ist, handelt es sich tatsächlich um die normale Händler-ID "totalFee" : parseInt(event.totalFee), //Zweite Falle: Beachten Sie, dass es eine Zahl sein muss. Wenn es keine Zahl ist, wird ein Fehler gemeldet: unifiedOrder:fail wx api error: -202 "envId": "ooo-xxxxxxxxxxxxxxxx", //Dies ist die Cloud-Umgebungs-ID, zu der die Rückruffunktion gehört "functionName": "payCallBack", //Dies ist der Name der Rückruffunktion"nonceStr":event.nonceStr, //Die dritte Falle: Der entsprechende Cloud-Funktionscode im offiziellen Dokument hat weder nonceStr noch tradeType. Beim Testen wird ein Fehler gemeldet, dass nonceStr nicht existiert. Ich habe das Dokument durchgesehen und festgestellt, dass dies ein erforderliches Element ist. Nachdem Sie es direkt eingefügt haben, müssen Sie diese beiden Parameter hinzufügen"tradeType":"JSAPI" }) Rückgabewert } 2.3 Hochladen und Bereitstellen von Cloud-Funktionen3. Mini-Programmaufruf3.1 Einheitliche Bestellung
//Cloud-Funktion aufrufen, WeChat vereinheitlichte Bestellung cloudPay(){ var _this = dies dies.setData({ Text: „Rechnungszahlung-xxxxx“, outTradeNo: this.data.id+"-"+util.uuid(16), totalFee: this.data.totalCost*100 //Zahlungseinheit: Cent}) app.showLoading(true) wx.cloud.callFunktion({ Name: "Bezahlen", Daten: { Körper: _this.data.body, outTradeNo: _this.data.outTradeNo, Gesamtgebühr: _this.data.totalFee, nonceStr:util.uuid(32)//Rufen Sie Ihre eigene UUID-Funktion auf}, Erfolg(res) { // Fehlercode: 0 // Fehlermeldung: "cloudPay.unifiedOrder:ok" // Rückgabewert: "FEHLER" // returnMsg: "total_fee ist leer." console.log("Übermittlung erfolgreich", res.result) if(res.result.returnCode!="ERFOLGREICH"){ app.showToast(res.result.returnMsg) zurückkehren } _this.unifiedOrder(result.ergebnis) // _this.requestPayment(result.ergebnis) }, Fehler(res) { console.log("Übermittlung fehlgeschlagen", res) } }) }, 3.2 WeChat-Zahlungsschnittstelle öffnen //Offizielle Standardzahlmethode, rufe die Zahlungsschnittstelle auf requestPayment(payData) { var _this = dies; const payment = payData.payment //Beachten Sie, dass das Ergebnis der vorherigen Funktion die hier zu verwendenden Parameter direkt integriert. Sie können es direkt erweitern und wx.requestPayment({ verwenden. ...Zahlung, //...ist die Syntax zum Erweitern von Variablen success(res) { console.log("Zahlung erfolgreich", res) _this.paySuccess() }, Fehler(res) { console.log("Zahlung fehlgeschlagen", res) } }) }, 3.2 Rückruf bei erfolgreicher Zahlung
Damit ist dieser Artikel über die Verwendung der WeChat-Zahlungsfunktion in einem Miniprogramm über die Miniprogramm-Cloud abgeschlossen. Weitere Informationen zur WeChat-Zahlung in einem Miniprogramm finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So zeigen Sie die Zeitzone in MySQL an und ändern sie
>>: Verwenden Sie den Linux-Befehl „seq“, um eine Zahlenfolge zu generieren (empfohlen)
1. Voraussetzungen: Die Datenbanksicherung ist be...
Die Gesamtarchitektur von NGINX ist durch eine Re...
Vorwort Langsame Systemaufrufe beziehen sich auf ...
Inhaltsverzeichnis Installieren Sie MySQL Konfigu...
So ändern Sie das MySQL-Tabellenpartitionierungsp...
Häufige Anwendungsszenarien Die Schnittstellen ak...
Inhaltsverzeichnis Was ist JSI Was ist anders an ...
1. CSS-Navigationsleiste (1) Funktion der Navigat...
Im Vorstellungsgespräch sollten Sie folgende Szen...
Natürlich gibt es auch viele Leute, die die gegent...
Informationen zur Überprüfung der Kennwortstärke:...
Das Grundprinzip aller Animationen besteht darin,...
Inhaltsverzeichnis 1. Was ist ein Abschluss? 1.2 ...
Inhaltsverzeichnis Überblick So teilen Sie Daten ...
React Native kann native iOS- und Android-Apps ba...