欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang實現(xiàn)支付寶沙箱支付的方法步驟

 更新時間:2023年04月19日 15:38:26   作者:落雪bin飛  
本文主要介紹了Golang實現(xiàn)支付寶沙箱支付的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

首先我使用的是 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)文章

  • 一文詳解Golang中的匿名變量

    一文詳解Golang中的匿名變量

    匿名變量是一種特殊類型的變量,可以簡化代碼并提高可讀性,本文將為大家詳細介紹一下golang中匿名變量的定義、特性和使用方法,需要的可以參考下
    2023-09-09
  • Go語言實現(xiàn)一個簡單生產(chǎn)者消費者模型

    Go語言實現(xiàn)一個簡單生產(chǎn)者消費者模型

    本文主要介紹了Go語言實現(xiàn)一個簡單生產(chǎn)者消費者模型,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 利用golang實現(xiàn)封裝trycatch異常處理實例代碼

    利用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-07
  • Go語言實戰(zhàn)之實現(xiàn)一個簡單分布式系統(tǒng)

    Go語言實戰(zhàn)之實現(xiàn)一個簡單分布式系統(tǒng)

    如今很多云原生系統(tǒng)、分布式系統(tǒng),例如?Kubernetes,都是用?Go?語言寫的,這是因為?Go?語言天然支持異步編程。本篇文章將介紹如何用?Go?語言編寫一個簡單的分布式系統(tǒng),需要的小伙伴開業(yè)跟隨小編一起學(xué)習(xí)一下
    2022-10-10
  • go語言實現(xiàn)同步操作項目示例

    go語言實現(xiàn)同步操作項目示例

    本文主要介紹了go語言實現(xiàn)同步操作項目示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • go panic時如何讓函數(shù)返回數(shù)據(jù)?

    go panic時如何讓函數(shù)返回數(shù)據(jù)?

    今天小編就為大家分享一篇關(guān)于go panic時如何讓函數(shù)返回數(shù)據(jù)?,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • go的websocket實現(xiàn)原理與用法詳解

    go的websocket實現(xiàn)原理與用法詳解

    這篇文章主要介紹了go的websocket實現(xiàn)原理與用法,詳細分析了websocket的功能、原理及Go語言實現(xiàn)websocket的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法

    Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法

    本文主要介紹了Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Go中使用加密算法的方法

    Go中使用加密算法的方法

    本文通過實例代碼給大家介紹go中使用加密算法的方法,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-08-08
  • golang?cache帶索引超時緩存庫實戰(zhàn)示例

    golang?cache帶索引超時緩存庫實戰(zhàn)示例

    這篇文章主要為大家介紹了golang?cache帶索引超時緩存庫實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09

最新評論