微信支付 SDK for Golang

來源:互聯網
上載者:User

一個為Go語言量身定做、超級好用的支付SDK。

GitHub地址:wxpay

支付開發文檔API

對支付開發人員文檔中給出的API進行了封裝。

wxpay提供了對應的方法:

| 方法名 | 說明 |

| ---------------- | ----------- |

| MicroPay | 刷卡支付 |

| UnifiedOrder | 統一下單 |

| OrderQuery | 查詢訂單 |

| Reverse | 撤銷訂單 |

| CloseOrder | 關閉訂單 |

| Refund | 申請退款 |

| RefundQuery | 查詢退款 |

| DownloadBill | 下載對賬單 |

| Report | 交易保障 |

| ShortUrl | 轉換短連結 |

| AuthCodeToOpenid | 授權碼查詢openid |

  • 參數為Params類型,傳回型別也是ParamsParams 是一個 map[string]string 類型的結構體。

  • 方法內部會將參數會轉換成含有appidmch_idnonce_strsign\_typesign的XML;

  • 預設使用MD5進行簽名;

  • 通過HTTPS請求得到返回資料後會對其做必要的處理(例如驗證簽名,簽名錯誤則拋出異常)。

  • 對於downloadBill,無論是否成功都返回Map,且都含有return_codereturn_msg。若成功,其中return_codeSUCCESS,另外data對應對賬單資料。

安裝

go get github.com/objcoding/wxpay

樣本

// 建立支付用戶端client := wxpay.NewClient(wxpay.NewAccount{AppID: "appid",MchID: "mchid",ApiKey: "apiKey",}, false) // sandbox環境請傳true// 統一下單params := make(wxpay.Params)params.SetString("body", "test").SetString("out_trade_no", "436577857").SetInt64("total_fee", 1).SetString("spbill_create_ip", "127.0.0.1").SetString("notify_url", "http://notify.objcoding.com/notify").SetString("trade_type", "APP")p, _ := client.UnifiedOrder(params)// 訂單查詢params := make(wxpay.Params)params.SetString("out_trade_no", "3568785")p, _ := client.OrderQuery(params)// 退款params := make(wxpay.Params)params.SetString("out_trade_no", "3568785").SetString("out_refund_no", "19374568").SetInt64("total_fee", 1).SetInt64("refund_fee", 1)p, _ := client.Refund(params)// 退款查詢params := make(wxpay.Params)params.SetString("out_refund_no", "3568785")p, _ := client.RefundQuery(params)
// 建立支付賬戶account := wxpay.NewAccount("appid", "mchid", "apiKey")// 設定認證account.SetCertData("認證地址")// 建立支付用戶端client := wxpay.NewClient(account, false) // sandbox環境請傳true// 設定http請求逾時時間client.SetHttpConnectTimeoutMs(2000)// 設定http讀取資訊流逾時時間client.SetHttpReadTimeoutMs(1000)// 更改簽名類型client.SetSignType(HMACSHA256)// 設定支付賬戶client.setAccount(account)
// 簽名signStr := client.Sign(params)// 校正簽名b := client.ValidSign(params)
// 支付或退款返回成功資訊return wxpay.Notifies{}.OK()// 支付或退款返回失敗資訊return wxpay.Notifies{}.NotOK("支付失敗或退款失敗了")

License

MIT license

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.