1. 

使用已有的支付宝帐号便可git

 

因为官方没有提供go语言支付的SDK,因此在github找了很长时间找到了一个能用的(累。。。)golang

 

 

 

2. 

 

 

登陆后,在页面顶部能够选择进入沙箱环境设置页面工具

 

3. 

电脑网站支付this

 

4. 

 

 

 

5. 

https://github.com/smartwalle/alipayspa

安装orm

go get github.com/smartwalle/alipay

生成密文件

openssl

OpenSSL> genrsa -out app_private_key.pem   2048  # 私钥

OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem # 导出公钥

OpenSSL> exit

 

cat app_publict_key.pem 查看公钥的内容

 

将-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----中间的内容保存在支付宝的用户配置中(沙箱或者正式)

 

 

 

下载支付宝的公钥文件

 

beego+golang直接调用的代码

 

支付代码:

var privateKey = "写入私钥"

 

var appId = "支付宝配置能够拿到APPID"

var aliPublicKey = "写入私钥"

 

var client = alipay.New(appId, aliPublicKey, privateKey, false)

 

//alipay.trade.page.pay

var p = alipay.AliPayTradePagePay{}

p.NotifyURL = "http://生成环境IP加端口/user/payOk"

p.ReturnURL = "http://生成环境IP加端口/user/payOk"

p.Subject = "项目名称"

p.OutTradeNo = "自定义订单号"

p.TotalAmount = "支付价格"

p.ProductCode = "FAST_INSTANT_TRADE_PAY"

 

var url, err = client.TradePagePay(p)

if err != nil {

fmt.Println(err)

}

 

var payURL = url.String()

 

this.Redirect(payURL,302)

 

支付成功调用处理方法:

func(this *OrderController)PayOK(){ trade_no :=this.GetString("trade_no") if trade_no != ""{ //获取相应的订单,更改订单信息 } this.Redirect("/goods/userCenterOrder",302)}