beego框架/golang語言調用支付寶支付接口


1. 支付寶開放平台登錄

使用已有的支付寶賬號即可

https://open.alipay.com/platform/home.htm

 

由於官方沒有提供go語言支付的SDK,所以在github找了很長時間找到了一個能用的(累。。。)

 

 

 

2.  關於沙箱環境(開發模擬環境)

 

https://docs.open.alipay.com/200/105311

 

登錄后,在頁面頂部可以選擇進入沙箱環境設置頁面

 

3. 支付寶開發者文檔

https://openhome.alipay.com/developmentDocument.htm

電腦網站支付

https://docs.open.alipay.com/270

 

4. 電腦網站支付流程

 

 

 

5. 使用go工具包

https://github.com/smartwalle/alipay

安裝

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-----中間的內容保存在支付寶的用戶配置中(沙箱或者正式)

 

https://openhome.alipay.com/platform/appDaily.htm?tab=info

 

 

下載支付寶的公鑰文件

 

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)
}

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM