전자상거래의 급속한 발전과 함께 거래 프로세스를 완료하기 위해 온라인 결제를 선택하는 회사가 점점 더 많아지고 있습니다. 그 중 JD Pay는 중국의 유명한 3자 결제 서비스 제공업체 중 하나로 기업과 소비자의 선호를 받고 있습니다. Golang은 효율적이고 간결한 프로그래밍 언어이기 때문에 점점 더 많은 회사가 Golang을 사용하여 웹 애플리케이션을 개발하는 것을 고려하기 시작했습니다. 이 기사에서는 Golang을 사용하여 웹 애플리케이션용 JD 결제를 구현하는 방법을 소개합니다.
$ go mod init example.com/myproject
그 중 example.com/myproject는 원하는 프로젝트 이름과 경로로 바꿀 수 있습니다. 실행 후 프로젝트 종속성을 관리하기 위한 go.mod 파일이 생성됩니다.
$ go get github.com/smartwalle/alipay/v3
이 패키지는 Golang을 사용하여 개발된 Alibaba Cloud Alipay SDK이며 JD.com 결제 기능을 구현하는 데 사용할 수 있습니다. 설치가 완료되면 패키지를 프로젝트로 가져옵니다.
import "github.com/smartwalle/alipay/v3"
alipayClient := alipay.NewClient("商户号", "密钥") // 设置公钥 alipayClient.SetAliPayPublicKey("支付宝公钥") // 设置签名类型 alipayClient.SetSignType(alipay.RSA2)
그 중 "판매자 번호"와 "키"는 JD 결제 콘솔에서 얻을 수 있으며, "Alipay 공개 키"도 콘솔에서 다운로드해야 합니다. 또한, 서명 유형도 설정해야 합니다. JD Pay는 MD5, RSA, RSA2의 세 가지 서명 방법을 지원합니다. RSA2 서명을 사용하는 것이 좋습니다.
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 }
여기서 orderNo는 주문 번호이고 amount는 주문 금액입니다. NotifyURL과 ReturnURL은 각각 결제 결과 알림 URL과 결제 완료 후 반환 URL입니다. 제목과 본문은 주문 이름과 주문 설명을 나타냅니다. OutTradeNo는 판매자 웹사이트의 유일한 주문 번호이며 각 결제의 고유성을 보장해야 합니다. ProductCode는 Alipay에 미리 설정된 상품 코드입니다.
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 }
그 중 결제 결과의 서명이 올바른지 확인하기 위해 검증 기능이 사용됩니다. 오류가 반환되면 결제 결과가 잘못된 것입니다. TradeStatus 필드를 통해 결제 성공 여부를 확인할 수 있습니다.
결론:
이 글에서는 개발자 계정 등록, Golang 프로젝트 생성, 타사 패키지 설치, 결제 매개변수 구성, 결제 기능 구현 및 결제 결과 확인 등 Golang을 사용하여 웹 애플리케이션의 JD 결제 기능을 구현하는 방법을 소개합니다. . Golang 및 결제 기능에 관심이 있으시면 계속해서 자세히 알아볼 수 있습니다.
위 내용은 Golang을 사용하여 웹 애플리케이션에 JD 결제를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!