版权声明:本文为博主原创文章,转载请声明出处!有问题联系QQ或微信(同号)85411418。 https://blog.csdn.net/ming2316780/article/details/86505883
GoPay
- 开源地址:GoPay(期待您鼓励的小星星哟)
- 微信支付、支付宝支付等的Go版本SDK(持续更新维护中)
微信
- 统一下单
- JSAPI - JSAPI支付(或小程序支付)
- NATIVE - Native支付
- APP - app支付
- MWEB - H5支付
- 查询订单(开发中)
- 关闭订单(开发中)
- 申请退款(开发中)
- 查询退款(开发中)
- 下载对账单(开发中)
- 下载资金账单(开发中)
- 拉取订单评价数据(开发中)
安装
$ go get github.com/iGoogle-ink/gopay
微信统一下单 example
- 初始化客户端
- 参数:AppId:应用ID
- 参数:mchID:商户ID
- 参数:secretKey:Key值
- 参数:isProd:是否正式环境
//正式环境
client := gopay.NewWeChatClient("wxd678efh567hg6787", "1230000109", "192006250b4c09247ec02edce69f6a2d", true)
//沙箱环境
client := gopay.NewWeChatClient("wxd678efh567hg6787", "1230000109", "192006250b4c09247ec02edce69f6a2d", false)
- 初始化统一下单参数
以下参数设置皆为必选参数,如需其他参数,请参考API文档。
参考文档:微信支付文档
params := new(gopay.WeChatPayParams)
params.NonceStr = "dyUNIkNS29hvDUC1CmoF0alSdfCQGg9I"
params.Body = "支付测试"
params.OutTradeNo = "GYsadfjk4dhg3fkh3ffgnlsdkf"
params.TotalFee = 10 //单位为分,如沙箱环境,则默认为101
params.SpbillCreateIp = "127.0.0.1"
params.NotifyUrl = "http://www.igoogle.ink"
params.TradeType = gopay.WX_PayType_JsApi
params.DeviceInfo = "WEB"
params.SignType = gopay.WX_SignType_HMAC_SHA256 //如不设置此参数,默认为MD5,如沙箱环境,则默认为MD5
params.Openid = "o0Df70H2Q0fY8JXh1aFPIRyOBgu8" //JSAPI 方式时,此参数必填
- 发起统一下单请求
- 参数:param:统一下单请求参数
请求成功后,获取下单结果
wxRsp, err := client.UnifiedOrder(params)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("ReturnCode:", wxRsp.ReturnCode)
fmt.Println("ReturnMsg:", wxRsp.ReturnMsg)
fmt.Println("Appid:", wxRsp.Appid)
fmt.Println("MchId:", wxRsp.MchId)
fmt.Println("DeviceInfo:", wxRsp.DeviceInfo)
fmt.Println("NonceStr:", wxRsp.NonceStr)
fmt.Println("Sign:", wxRsp.Sign)
fmt.Println("ResultCode:", wxRsp.ResultCode)
fmt.Println("ErrCode:", wxRsp.ErrCode)
fmt.Println("ErrCodeDes:", wxRsp.ErrCodeDes)
fmt.Println("PrepayId:", wxRsp.PrepayId)
fmt.Println("TradeType:", wxRsp.TradeType)
}
至此:
如果您觉得本文对您有所帮助,请移步 Github 给作者一颗小星星吧
- 开源地址:GoPay