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

Implementierung des Tomcat-Bereitstellungsprojekts und Integration mit IDEA

Inhaltsverzeichnis 3 Möglichkeiten zum Bereitstel...

Concat() von kombinierten Feldern in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

Mit HTML+CSS3 implementierte Anmeldeschnittstelle

Ergebnisse erzielen Bauen Sie zunächst mit HTML e...

Lösungen für Websites mit hohem Datenverkehr

Erstens: Stellen Sie zunächst sicher, dass die Ser...

Beispiel für die Verwendung des href-Attributs und des onclick-Ereignisses eines Tags

Das „a“-Tag wird hauptsächlich verwendet, um Seit...

Methoden und Techniken zur Gestaltung einer interessanten Website (Bild)

Haben Sie schon einmal eine Situation erlebt, in d...

Sechs Methoden zur Nginx-Optimierung

1. Optimieren Sie die Nginx-Parallelität [root@pr...

Lösung für die Upload-Einschränkung von Element-ui-Uploaddateien

Frage Die Angabe des Typs der hochgeladenen Datei...

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

Verwendung regulärer Ausdrücke in CSS-Selektoren

Ja, CSS hat auch reguläre Ausdrücke (Amen) Zwei l...

Der Unterschied und die Einführung von ARGB, RGB und RGBA

ARGB ist ein Farbmodus, also der RGB-Farbmodus mi...

So legen Sie einen gepunkteten Rahmen in HTML fest

Verwenden Sie CSS-Stile und HTML-Tag-Elemente Um ...