Golang 入门资料+笔记深入浅出golangGolang语言社区

微信支付的GoLang接口封装方案

2019-08-19  本文已影响14人  爱翻身的咸鱼

这是用Golang封装了微信支付的所有API接口的SDK,并自动生成和解析XML数据。

Github地址:https://github.com/cuckoopark/wechat

安装

go get -u github.com/cuckoopark/wechat

初始化

const (
    isProd       = true                             // 生产环境或沙盒环境
    serviceType  = wechat.ServiceTypeNormalDomestic // 普通商户或服务商等类型
    apiKey       = "xxxxxxxx"                       // 微信支付上设置的API Key
    certFilepath = "/xxx/yyy/apiclient_cert.p12"    // 微信证书文件的本地路径,仅部分接口使用,如果不使用这些接口,可以传递空值
)
config := wechat.Config{
    AppId: AppID,
    MchId: MchID,
    SubAppId: SubAppId, // 仅服务商模式有效
    SubMchId: SubMchID, // 仅服务商模式有效
}
client := wechat.NewClient(isProd, serviceType, apiKey, certFilepath, config)

使用

下面是通用的接口,使用上面初始化时生成的实例client进行相应函数的调用:

使用样例:

// 测试函数,client的生成参见上文
func Test() {
    // 初始化参数
    body := wechat.QueryOrderBody{}
    body.OutTradeNo = "YgENQFTovdeJdFouNyy3nFVOhGD6ZvPH"
    // 请求订单查询
    wxRsp, err := client.QueryOrder(body)
    if err != nil {
        return
    }
    fmt.Printf("返回值: %+v\n", wxRsp)
}

注意事项:

文档

开发进度

测试方法

修改client_test.go中的生成测试Client的代码,调整沙盒/生产环境、普通商户/服务商等选项,或者修改环境变量,来调整商户参数。

环境变量的脚本在env文件中,修改后加载环境变量:

source env
go test

TODO

上一篇下一篇

猜你喜欢

热点阅读