Implementierung der Zahlungsfunktion im Vue-Projekt (WeChat-Zahlung und Alipay-Zahlung)

Implementierung der Zahlungsfunktion im Vue-Projekt (WeChat-Zahlung und Alipay-Zahlung)

Gängige Zahlungsarten in Projekten

  • Alipay-Zahlung
  • WeChat Bezahlen
  • Restzahlung (Aufladung per Allipay oder WeChat ist ebenfalls erforderlich)

Hinweis: Dieser Artikel erklärt nur aus der Front-End-Perspektive

Alipay-Zahlung

Projektschwierigkeit:

Bei der Seite handelt es sich um eine h5-Webseite. Um mit Alipay zu bezahlen, müssen Sie eine Alipay-Autorisierung einholen und die API von Alipay aufrufen.

(Informationen zur Autorisierung finden Sie unter: Aufrufen der Alipay-API)

Der allgemeine Ablauf der Alipay-Zahlung ist:

Rufen Sie die Bestelloberfläche auf um Bestellnummer, Zahlbetrag etc. zu erfahren.
Übergabe der Bestellnummer und des Betrages an die Vorauskasse-Schnittstelle
Das Backend gibt ein Formular zurück und sendet es dann ab, um automatisch zur Alipay-Zahlungsseite zu springen

Zahlungsvorgang:

Die folgende Abbildung zeigt das Schnittstellendokument, die Zahlungsschnittstelle

Wenn wir Alipay auswählen, ist Radio = 1;
Wenn wir auf die Schaltfläche „Bezahlen“ klicken, wird die Methode pay() ausgeführt
An dieser Stelle rufen wir die Backend-Zahlungsschnittstelle auf und übergeben die vom Schnittstellendokument benötigten Felder wie Bestellnummer, Betrag etc.
Das Backend sendet uns einen {code:201,data:""};
An diesem Punkt fügen wir das Formular in unsere Seite ein, senden es ab und springen zur Alipay-Seite

 topay(){
      Schalter(dieses.Radio){
        Fall '3':
        dies.yuer();
        brechen;
        Fall '1':
        dies.zhifubao();
        Fall '0':
        dies.getWechatCode();
      }
    },
   zhifubao(){
     bezahlenVonZhifubao(
       {
         OutTradeNo:'Oct20200909095646265303127', //Händlerbestellnummer, die einzige Bestellnummer im Bestellsystem der Händler-Website, erforderlich. Die Händlerseite muss eindeutig sein.
          Betreff: „Mobile Website-Zahlungstest“, //Thema Produktcode: „QUICK_WAP_WAY“,
          body: „Zahlungsbeschreibungsinformationen für mobile Websites“, //Produktbeschreibung, optional TotalAmount: 20 //Zahlungsbetrag, erforderlich}
     ).dann(res=>{
       konsole.log(res);
        wenn (res.code === 201) {
            //Daten in vuex speichern // this.$store.dispatch('addAliFrom', res.data.data)
            diese.html = res.data;
            var form = res.data;
            const div = document.createElement("div");
            div.innerHTML = form; //Hier sind die Daten „form“, die vom Hintergrund zurückgegeben werden. document.body.appendChild(div);
            Dokument.Formulare[0].Senden();
            //gib dies zurück.$router.push('/aliPay')
          } anders {
            gibt Warnung zurück (res.data.msg);
          }
     })
    },

WeChat Bezahlen

Schritt:
Der WeChat-Zahlungs-Backend-Programmierer gibt Ihnen eine Adresse zurück. Zuerst müssen wir qrcodejs2 installieren, um die Adresse in einen QR-Code umzuwandeln. Sie müssen zuerst qrcodejs2 per npm installieren.
Dann benötigen Sie ein Div zum Speichern des WeChat-QR-Codes. Sie können die Breiten- und Höhenstile in CSS schreiben. Ich habe hier auch eine Ladeseite hinzugefügt. Sie können sie bei Bedarf selbst hinzufügen.

 <div id="wechatcode" v-loading="wird geladen"
element-loading-text="Wird geladen"
Element wird geladen-Spinner = "el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)">
</div>

Module importieren

 QRCode aus „qrcodejs2“ importieren // QRcode importieren

Nachfolgend finden Sie die Schnittstelle zur Datenerfassung und anschließend zum Betrieb des QR-Codes.

 getWechatCode() {
                Modelle
                    .getModel("wechatpay")
                    .erhalten({
                        Bestell-ID:diese.Bestell-ID
                    })
                    .then(res => {
                        wenn(res.data.code == 200){
                            this.wechatPayUrl = res.data.resultData
                            wenn(!diese.flagge){
                            //Der entscheidende Punkt ist hier, der Rest ist für meine Umschaltgeschäftslogik und -schnittstelle let wechatcode = new QRCode('wechatcode', {
                                    Breite: 200,
                                    Höhe: 200,
                                    Text: this.wechatPayUrl, // QR-Code-Adresse colorDark: "#000",
                                    Farblicht: "#fff",
                                })
                            }
                            dieses.flag = wahr
                            dies.laden = falsch
                            this.isWechatCodeShow = true
                        }
                    })
        },

Nachdem WeChat gescannt und bezahlt hat, kann das Backend-Personal das erfolgreiche Zahlungsergebnis abrufen und an das Frontend-Personal zurückgeben. Dann kann das Frontend-Personal nur weiter die Schnittstelle aufrufen, um zu prüfen, ob die Zahlung erfolgt ist. Hier können wir den Lebenszyklus zum Abrufen verwenden und dieser muss nach dem Herausspringen zerstört werden.

 montiert() {
        dies.getWechatCode()
        //Polling implementieren this.interval = window.setInterval(() => {
        setTimeout(this.getOrderStatus(), 0);
        }, 3000);
        
    },
    vorZerstören() {
        // Polling löschen clearInterval(this.interval)
        dieses.Intervall = null
    },

Die Methode `getOrderStatus() dient hier zum Abfragen des Backend-Zahlungsstatus. Wenn Sie erfolgreich zur Zahlungsseite springen, führen Sie einfach eine If else-Beurteilung durch

Dies ist das Ende dieses Artikels über die Implementierung von Zahlungsfunktionen in Vue-Projekten (WeChat-Zahlung und Alipay-Zahlung). Weitere relevante Inhalte zu Vue-Projektzahlungen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Springboot + Vue + Docking-Alipay-Schnittstelle + Zahlungsfunktion zum Scannen von QR-Codes (Sandbox-Umgebung)
  • Fallstricke bei der Implementierung der WeChat-Zahlungsfunktion in Vue
  • Die H5-Seite von Vue ruft die Alipay-Zahlungsfunktion auf
  • Vue imitiert die Bezahlfunktion von Alipay
  • Detaillierte Erläuterung des Zahlungsfunktionscodes des Vue-Projekts

<<:  Beispielcode für reines CSS zum Erzielen eines Popup-Popup-Effekts beim Hovern von Bildern

>>:  So richten Sie Textfelder in mehreren Formularen in HTML aus

Artikel empfehlen

Nginx-Stream-Konfigurationsproxy (Nginx TCP/UDP-Lastausgleich)

Auftakt Wir alle wissen, dass nginx ein hervorrag...

Ein Artikel zum Verständnis der Verwendung von typeof in js

Inhaltsverzeichnis Base Rückgabetyp String und Bo...

Tutorial zur grundlegenden Verwendung des MySQL Slow Query Log

Parameter im Zusammenhang mit dem langsamen Abfra...

Farbabstimmungstechniken und Effektdarstellung für Beauty- und Styling-Websites

Farbe ist eines der wichtigsten Elemente jeder We...

MySQL versteht kurz, wie "order by" funktioniert

Zum Sortieren ist „order by“ ein Schlüsselwort, d...

CSS-Standard: Eigenschaft „vertical-align“

<br />Originaltext: http://www.mikkolee.com/...

MySQL 8.0.16 Installations- und Konfigurations-Tutorial unter CentOS7

Deinstallieren Sie die alte MySQL-Version (übersp...

Perfekte Lösung zur vertikalen Zentrierung von Formelementen

Code kopieren Der Code lautet wie folgt: <!DOC...

Detaillierte Erklärung, warum MySQL nicht mit UNION zwei Abfragen verbinden kann

Überblick UNION Mit dem Schlüsselwort „Verbindung...

Sequentielles und zufälliges Schreiben auf Linux-Festplatten

1. Einleitung ● Zufälliges Schreiben führt dazu, ...

Beispiel zum schnellen Löschen einer 2T-Tabelle in MySQL in Innodb

Vorwort Dieser Artikel stellt hauptsächlich den r...