Heim >Backend-Entwicklung >Golang >So implementieren Sie JD-Zahlungen für Webanwendungen mit Golang

So implementieren Sie JD-Zahlungen für Webanwendungen mit Golang

WBOY
WBOYOriginal
2023-06-24 09:40:171409Durchsuche

Mit der rasanten Entwicklung des E-Commerce entscheiden sich immer mehr Unternehmen für die Online-Zahlung, um den Transaktionsprozess abzuschließen. Unter ihnen ist JD Pay als einer der bekanntesten Drei-Parteien-Zahlungsdienstleister in China bei Unternehmen und Verbrauchern beliebt. Da Golang eine effiziente und prägnante Programmiersprache ist, denken immer mehr Unternehmen darüber nach, sie für die Entwicklung von Webanwendungen zu verwenden. In diesem Artikel wird erläutert, wie Sie mit Golang die JD-Zahlung für Webanwendungen implementieren.

  1. Registrieren Sie ein JD Pay-Entwicklerkonto.
    Zunächst müssen Sie auf die JD Pay-Website gehen, um ein Entwicklerkonto zu registrieren. Melden Sie sich nach Abschluss der Registrierung an der Konsole an und wählen Sie „Zugriffsverwaltung“ – „Händlerverwaltung“ – „Händlerkonfigurationsinformationen“, um die Händlernummer, den Händlerschlüssel und andere Informationen zu erhalten.
  2. Golang-Projekt erstellen
    Als nächstes erstellen Sie ein Golang-Projekt auf Ihrem lokalen Computer. Sie können jede integrierte Entwicklungsumgebung (IDE) wie Visual Studio Code verwenden. Öffnen Sie das Terminal und erstellen Sie mit dem folgenden Befehl eine neue Golang-Anwendung:
$ go mod init example.com/myproject

Unter diesen kann example.com/myproject durch den gewünschten Projektnamen und -pfad ersetzt werden. Nach der Ausführung wird eine go.mod-Datei zur Verwaltung von Projektabhängigkeiten generiert.

  1. Installieren Sie Golang-Drittanbieterpakete
    Um die JD-Zahlungsfunktion zu implementieren, müssen Sie einige notwendige Golang-Drittanbieterpakete installieren. Verwenden Sie den folgenden Befehl im Terminal:
$ go get github.com/smartwalle/alipay/v3

Dieses Paket ist das mit Golang entwickelte Alibaba Cloud Alipay SDK und kann zur Implementierung von JD.com-Zahlungsfunktionen verwendet werden. Nachdem die Installation abgeschlossen ist, importieren Sie das Paket in das Projekt:

import "github.com/smartwalle/alipay/v3"
  1. JD-Zahlungsparameter konfigurieren
    Um die JD-Zahlungsfunktion in Golang zu implementieren, müssen Sie einige notwendige Parameter festlegen, wie z. B. Händlernummer, Händlerschlüssel, öffentlichen Alipay-Schlüssel, usw. Fügen Sie dem Code den folgenden Inhalt hinzu:
alipayClient := alipay.NewClient("商户号", "密钥")
// 设置公钥
alipayClient.SetAliPayPublicKey("支付宝公钥")
// 设置签名类型
alipayClient.SetSignType(alipay.RSA2)

Darunter können die „Händlernummer“ und der „Schlüssel“ in der JD-Zahlungskonsole abgerufen werden, und der „öffentliche Alipay-Schlüssel“ muss ebenfalls in der Konsole heruntergeladen werden. Darüber hinaus müssen Sie auch den Signaturtyp festlegen. JD Pay unterstützt drei Signaturmethoden: MD5, RSA und RSA2. Es wird empfohlen, die RSA2-Signatur zu verwenden.

  1. Zahlung ausführen
    Jetzt können Sie Golang verwenden, um die Zahlungsfunktion von JD.com zu implementieren. Das Folgende ist ein einfaches Beispiel, um automatisch zur JD-Zahlungsseite zur Zahlung zu springen, wenn der Benutzer eine Bestellung aufgibt:
func MakePayment(orderNo string, amount float64) (string, error) {
    var p = alipay.TradePagePay{}
    p.NotifyURL = "http://xxx.com/notify"
    p.ReturnURL = "http://xxx.com/return"
    p.Subject = "订单名称"
    p.Body = "订单描述"
    p.OutTradeNo = orderNo
    p.ProductCode = "FAST_INSTANT_TRADE_PAY"
    p.TotalAmount = amount

    url, err := alipayClient.TradePagePay(p)
    if err != nil {
        return "", err
    }

    return url.String(), nil
}

wobei orderNo die Bestellnummer und amount der Bestellbetrag ist. NotifyURL und ReturnURL sind die Benachrichtigungs-URL über das Zahlungsergebnis bzw. die Rückgabe-URL nach Abschluss der Zahlung. Betreff und Text stellen den Bestellnamen und die Bestellbeschreibung dar. OutTradeNo ist die einzige Bestellnummer auf der Händler-Website und muss die Eindeutigkeit jeder Zahlung sicherstellen. ProductCode ist der voreingestellte Produktcode von Alipay.

  1. Zahlungsergebnisse überprüfen
    Nach Abschluss der Zahlung müssen Sie überprüfen, ob die Zahlungsergebnisse korrekt sind. Der JD-Zahlungsserver sendet eine Zahlungsergebnisbenachrichtigung an NotifyURL, und die entsprechende Logik kann zur Verarbeitung in den Code geschrieben werden. Das Folgende ist ein Beispiel:
func VerifyPayment(notification *alipay.TradeNotification) error {
    var err = alipayClient.VerifySign(notification)
    if err != nil {
        return err
    }

    if notification.TradeStatus != "TRADE_SUCCESS" {
        return errors.New("支付失败")
    }

    return nil
}

Unter anderem wird die VerifySign-Funktion verwendet, um zu überprüfen, ob die Signatur des Zahlungsergebnisses korrekt ist. Wenn ein Fehler zurückgegeben wird, ist das Zahlungsergebnis falsch. Ob die Zahlung erfolgreich war, können Sie anhand des Feldes TradeStatus feststellen.

Fazit:
In diesem Artikel wird erläutert, wie Sie mit Golang die JD-Zahlungsfunktion von Webanwendungen implementieren, einschließlich der Registrierung eines Entwicklerkontos, der Erstellung eines Golang-Projekts, der Installation von Paketen von Drittanbietern, der Konfiguration von Zahlungsparametern, der Implementierung von Zahlungsfunktionen und der Überprüfung von Zahlungsergebnissen . Wenn Sie sich für Golang und Zahlungsfunktionen interessieren, können Sie sich weiterhin darüber informieren.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie JD-Zahlungen für Webanwendungen mit Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn