Golang實現(xiàn)支付寶沙箱支付的方法步驟
首先我使用的是 gin 作為我的后端框架,我們先設(shè)定好幾個接口。
func main() { r := gin.Default() r.GET("/pay", tools.WebPageAlipay) r.GET("/return", tools.AliPayNotify) r.Run(":8100") }
github.com/smartwalle/alipay 這個第三方庫來作為定義了很多支付寶接口,我們直接使用這個庫來繼續(xù)我們的開發(fā)。
首先初始化
var ( appID = "你的支付寶ID" privateKey = "你的支付寶私鑰" client, _ = alipay.New(appID, privateKey, false) ) func init() { client.LoadAliPayPublicKey("你的支付寶公鑰") }
將在支付寶開放平臺沙箱中申請的密鑰和公鑰填入對應(yīng)位置
使用 Web 掃碼支付接口
// WebPageAlipay 網(wǎng)頁掃碼支付 func WebPageAlipay(c *gin.Context) { ...... var p = alipay.TradePagePay{} p.ReturnURL = "http://127.0.0.1:8080/return" //訂單付款后跳轉(zhuǎn)的網(wǎng)址頁面 p.Subject = fmt.Sprintf("訂單號:%s", orderSn) //付款標題 p.OutTradeNo = orderSn //商家訂單號 p.TotalAmount = price //價格 p.ProductCode = "FAST_INSTANT_TRADE_PAY" var url, err = client.TradePagePay(p) if err != nil { fmt.Println(err) } var payURL = url.String() //掃碼支付的網(wǎng)頁鏈接,返回前端后打開 }
在支付成功后,支付頁面會自動跳轉(zhuǎn)到 p.ReturnURL 中設(shè)置的地址(我這里設(shè)置的前端地址,跳轉(zhuǎn)到前端地址后,前端向后端請求 /return ,完整獲取頁面的查詢參數(shù)并全部拼接到后端 /return 中),后端獲取查詢參數(shù)做簽名驗證
// AliPayNotify 接受通知接口 func AliPayNotify(c *gin.Context) { //獲取url并轉(zhuǎn)成*URL x, _ := url.Parse(c.Request.URL.String()) //驗證是否成功支付 ok, err := client.VerifySign(x.Query()) }
到此這篇關(guān)于Golang實現(xiàn)支付寶沙箱支付的方法步驟的文章就介紹到這了,更多相關(guān)Golang 支付寶沙箱支付內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語言實現(xiàn)一個簡單生產(chǎn)者消費者模型
本文主要介紹了Go語言實現(xiàn)一個簡單生產(chǎn)者消費者模型,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12利用golang實現(xiàn)封裝trycatch異常處理實例代碼
Go語言追求簡潔優(yōu)雅,所以go語言不支持傳統(tǒng)的 try…catch…finally 這種異常,最近發(fā)現(xiàn)了不錯的trycatch包,下面這篇文章主要跟大家分享了關(guān)于利用golang實現(xiàn)封裝trycatch異常處理的實例代碼,需要的朋友可以參考下。2017-07-07Go語言實戰(zhàn)之實現(xiàn)一個簡單分布式系統(tǒng)
如今很多云原生系統(tǒng)、分布式系統(tǒng),例如?Kubernetes,都是用?Go?語言寫的,這是因為?Go?語言天然支持異步編程。本篇文章將介紹如何用?Go?語言編寫一個簡單的分布式系統(tǒng),需要的小伙伴開業(yè)跟隨小編一起學(xué)習(xí)一下2022-10-10go panic時如何讓函數(shù)返回數(shù)據(jù)?
今天小編就為大家分享一篇關(guān)于go panic時如何讓函數(shù)返回數(shù)據(jù)?,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法
本文主要介紹了Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02golang?cache帶索引超時緩存庫實戰(zhàn)示例
這篇文章主要為大家介紹了golang?cache帶索引超時緩存庫實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09