Maison >développement back-end >Golang >Comment utiliser Golang pour implémenter le paiement JD pour les applications Web

Comment utiliser Golang pour implémenter le paiement JD pour les applications Web

WBOY
WBOYoriginal
2023-06-24 09:40:171385parcourir

Avec le développement rapide du commerce électronique, de plus en plus d'entreprises commencent à choisir le paiement en ligne pour finaliser le processus de transaction. Parmi eux, JD Pay, en tant que l'un des fournisseurs de services de paiement tripartites bien connus en Chine, est favorisé par les entreprises et les consommateurs. Golang étant un langage de programmation efficace et concis, de plus en plus d’entreprises commencent à envisager de l’utiliser pour développer des applications Web. Cet article explique comment utiliser Golang pour implémenter le paiement JD pour les applications Web.

  1. Enregistrez un compte développeur JD Pay
    Tout d'abord, vous devez vous rendre sur le site Web JD Pay pour enregistrer un compte développeur. Une fois l'enregistrement terminé, connectez-vous à la console et sélectionnez « Gestion des accès » – « Gestion des marchands » – « Informations de configuration du marchand » pour obtenir le numéro du commerçant, la clé du commerçant et d'autres informations.
  2. Créer un projet Golang
    Ensuite, créez un projet Golang sur votre ordinateur local, vous pouvez utiliser n'importe quel environnement de développement intégré (IDE), tel que Visual Studio Code. Ouvrez le terminal et utilisez la commande suivante pour créer une nouvelle application Golang :
$ go mod init example.com/myproject

Parmi eux, example.com/myproject peut être remplacé par le nom du projet et le chemin souhaité. Après l'exécution, un fichier go.mod sera généré pour gérer les dépendances du projet.

  1. Installer les packages tiers Golang
    Afin d'implémenter la fonction de paiement JD, vous devez installer certains packages tiers Golang nécessaires. Utilisez la commande suivante dans le terminal :
$ go get github.com/smartwalle/alipay/v3

Ce package est le SDK Alibaba Cloud Alipay développé à l'aide de Golang et peut être utilisé pour implémenter les fonctions de paiement JD.com. Une fois l'installation terminée, importez le package dans le projet :

import "github.com/smartwalle/alipay/v3"
  1. Configurez les paramètres de paiement JD
    Pour implémenter la fonction de paiement JD dans Golang, vous devez définir certains paramètres nécessaires, tels que le numéro du commerçant, la clé du commerçant, la clé publique Alipay, etc. Ajoutez le contenu suivant au code :
alipayClient := alipay.NewClient("商户号", "密钥")
// 设置公钥
alipayClient.SetAliPayPublicKey("支付宝公钥")
// 设置签名类型
alipayClient.SetSignType(alipay.RSA2)

Parmi eux, le « numéro de commerçant » et la « clé » peuvent être obtenus dans la console de paiement JD, et la « clé publique Alipay » doit également être téléchargée dans la console. De plus, vous devez également définir le type de signature. JD Pay prend en charge trois méthodes de signature : MD5, RSA et RSA2. Il est recommandé d'utiliser la signature RSA2.

  1. Exécuter le paiement
    Vous pouvez désormais utiliser Golang pour implémenter la fonction de paiement JD.com. Voici un exemple simple pour accéder automatiquement à la page de paiement JD pour le paiement lorsqu'un utilisateur soumet une commande :
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
}

où orderNo est le numéro de commande et montant est le montant de la commande. NotifyURL et ReturnURL sont respectivement l'URL de notification du résultat du paiement et l'URL de retour une fois le paiement effectué. Le sujet et le corps représentent le nom et la description de la commande. OutTradeNo est le seul numéro de commande sur le site Internet du commerçant et doit garantir l'unicité de chaque paiement. ProductCode est le code produit prédéfini d'Alipay.

  1. Vérifier les résultats du paiement
    Après avoir effectué le paiement, vous devez vérifier si les résultats du paiement sont corrects. Le serveur de paiement JD enverra une notification de résultat de paiement à NotifyURL, et la logique pertinente pourra être écrite dans le code pour le traitement. Voici un exemple :
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
}

Parmi eux, la fonction VerifySign est utilisée pour vérifier si la signature du résultat du paiement est correcte. Si une erreur est renvoyée, le résultat du paiement est incorrect. Vous pouvez déterminer si le paiement a réussi en fonction du champ TradeStatus.

Conclusion :
Cet article explique comment utiliser Golang pour implémenter la fonction de paiement JD des applications Web, notamment l'enregistrement d'un compte de développeur, la création d'un projet Golang, l'installation de packages tiers, la configuration des paramètres de paiement, la mise en œuvre des fonctions de paiement et la vérification des résultats de paiement. . Si vous êtes intéressé par Golang et les fonctions de paiement, vous pouvez continuer à en savoir plus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn