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

js, um einen coolen Feuerwerkseffekt zu erzielen

In diesem Artikel finden Sie den spezifischen Cod...

Docker Link realisiert die Containerverbindung

Inhaltsverzeichnis 1.1. Netzwerkzugriff zwischen ...

Allgemeine Verwendung von regulären Ausdrücken in MySQL

Allgemeine Verwendung von Regexp in Mysql Fuzzy-M...

So installieren und konfigurieren Sie MySQL und ändern das Root-Passwort

1. Installation apt-get install mysql-server erfo...

Analyse des Tutorials zur Implementierung der Remote-Anmeldung unter Linux

Linux wird im Allgemeinen als Server verwendet un...

So mounten Sie eine Festplatte in Linux

Wenn Sie eine virtuelle Maschine verwenden, stell...

Aufzeichnungen zur Verwendung von SSH-Befehlen unter Windows 8

1. Öffnen Sie die virtuelle Maschine und das Git-...

IE8 bietet eine gute Erfahrung: Aktivitäten

Heute habe ich einen kleinen Vorgeschmack auf IE8...

Beispiele für die Verwendung des ES6-Spread-Operators

Inhaltsverzeichnis Was sind Spread- und Rest-Oper...

So legen Sie den Fokus auf HTML-Elemente fest

Code kopieren Der Code lautet wie folgt: <Körp...

So migrieren Sie das Datenverzeichnis in Docker

Inhaltsverzeichnis Datenträgernutzung anzeigen Da...