首先我使用的是 gin 作为我的后端框架,我们先设定好几个接口。
func main() {
r := gin.Default()
r.GET("/pay", tools.WebPageAlipay)
r.GET("/return", tools.AliPayNotify)
r.Run(":8100")
}
github.com/smartwalle/alipay 这个第三方库来作为定义了很多支付宝接口,我们直接使用这个库来继续我们的开发。
首先初始化
var (
appID = "你的支付宝ID"
privateKey = "你的支付宝私钥"
client, _ = alipay.New(appID, privateKey, false)
)
func init() {
client.LoadAliPayPublicKey("你的支付宝公钥")
}
将在支付宝开放平台沙箱中申请的密钥和公钥填入对应位置
使用 Web 扫码支付接口
// WebPageAlipay 网页扫码支付
func WebPageAlipay(c *gin.Context) {
......
var p = alipay.TradePagePay{}
p.ReturnURL = "http://127.0.0.1:8080/return" //订单付款后跳转的网址页面
p.Subject = fmt.Sprintf("订单号:%s", orderSn) //付款标题
p.OutTradeNo = orderSn //商家订单号
p.TotalAmount = price //价格
p.ProductCode