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)
Dieser Artikel stellt hauptsächlich den Kreisdiag...
<br />In Gästebüchern, Foren und anderen Ort...
Vorwort Bei der Projektentwicklung gibt es viele ...
Beim Bereitstellen des Projekts auf Centos ist mi...
Inhaltsverzeichnis Frage 1. Installieren Sie webp...
Bei täglichen Entwicklungsaufgaben verwenden wir ...
Da eine bestimmte Funktion meines Projekts erford...
Beschreibung der HTML-Meta-Viewport-Attribute Was...
Wenn Sie mit dem Erlernen von Linux beginnen, müs...
Schließen Sie beim Schreiben einer Docker-Datei e...
Ich lerne derzeit etwas über Front-End-Leistungsop...
Daten initialisieren Tabelle löschen, wenn `test_...
Welche Rolle spielt http im Knoten? Die Aufgabe d...
1. Konfigurieren Sie den Docker-Remoteverbindungs...
Bereitstellungsumgebung: Installationsversion Red...