Go語言實現微信後端介面
- 2019 年 10 月 5 日
- 筆記
- 概述介紹
這是用Golang封裝了微信支付的所有API介面的SDK,並自動生成和解析XML數據,還包括部分服務號、小程式、移動端的工具函數。
- 支援境內普通商戶和境內服務商(境外和銀行服務商沒有條件測試)。
- 支援全局配置應用ID、商家ID等資訊。
- 全部參數和返回值均使用struct類型傳遞,而不是map類型。
- 包含公眾號網頁授權碼的相關操作。
- 包含H5、小程式、移動端的支付簽名生成方法。
下面是通用的介面,使用上面初始化時生成的實例client進行相應函數的調用:
提交付款碼支付:func (*Client) Micropay(MicropayBody) (MicropayResponse, error)
統一下單:func (*Client) UnifiedOrder(UnifiedOrderBody) (UnifiedOrderResponse, error)
查詢訂單:func (*Client) QueryOrder(QueryOrderBody) (QueryOrderResponse, error)
關閉訂單:func (*Client) CloseOrder(CloseOrderBody) (CloseOrderResponse, error)
撤銷訂單:func (*Client) Reverse(ReverseBody) (ReverseResponse, error)
申請退款:func (*Client) Refund(RefundBody) (RefundResponse, error)
查詢退款:func (*Client) QueryRefund(QueryRefundBody) (QueryRefundResponse, error)
下載對賬單:func (*Client) DownloadBill(DownloadBillBody) (string, *DownloadBillResponse, error)
交易保障(JSAPI):func (*Client) ReportJsApi(ReportJsApiBody) (ReportJsApiResponse, error)
交易保障(MICROPAY):func (*Client) ReportMicropay(ReportMicropayBody) (ReportMicropayResponse, error)
下載資金賬單:TODO,client.DownloadFundFlow()
拉取訂單評價數據:TODO,client.BatchQueryComment()
企業付款到零錢:func (*Client) Change(ChangeBody) (ChangeResponse, error)
授權碼查詢OpenId:func (*Client) OpenIdByAuthCode(OpenIdByAuthCodeBody) (OpenIdByAuthCodeResponse, error)
獲取AccessToken:func GetAccessToken(appId string, appSecret string) (AccessToken, error)
獲取用戶基本資訊(UnionId機制):func GetUserInfo(accessToken string, openId string, lang ...string) (UserInfo, error)
獲取小程式支付簽名:func GetMiniPaySign(appId, nonceStr, prepayId, signType, timeStamp, apiKey string) (string)
獲取H5支付簽名:func GetH5PaySign(appId, nonceStr, packages, signType, timeStamp, apiKey string) (string)
獲取APP支付簽名:func GetAppPaySign(appId, nonceStr, partnerId, prepayId, signType, timeStamp, apiKey string) (string)
其中帶有(*Client)字樣的介面,需要使用wechat.NewClient創建的實例對象來調用,而不帶的介面,則可以直接使用wechat.XXX調用。
- 免責聲明
【寫作說明】以上內容分享給喜歡編程,有夢想的程式設計師,希望能幫助到你們。以上文章屬於此公眾號原創所有,如需轉載請註明出處。