1. 微信支付

    这是用Golang封装了微信的所有API接口的SDK,并自动生成和解析XML数据,包括微信支付、公众号、小程序、移动端的工具函数。

    • 支持境内普通商户和境内服务商(境外和银行服务商没有条件测试)。
    • 支持全局配置应用ID、商家ID等信息。
    • 全部参数和返回值均使用类型传递,而不是map类型。

    1.1.2. 初始化

    以下是通用的接口,使用上面初始化时生成的实例client进行相应函数的调用。其中带有(*Client)字样的接口,需要使用wechat.NewClient创建的实例对象来调用,而不带的接口,则可以直接使用wechat.XXX调用。

    使用样例:

    • 参数或返回值的类型,请查看接口对应的文件,里面有XXXBodyXXXResponse与之对应。
    • 参数或返回值中的常量,请参照constant.go文件。
    • 具体使用方法,请参照接口对应的测试文件。

    微信支付

    对应文件:wx_pay_xxxxxx.go

    • 提交付款码支付:(*Client) Micropay
    • 统一下单:(*Client) UnifiedOrder
    • 查询订单:(*Client) QueryOrder
    • 关闭订单:。
    • 撤销订单:(*Client) Reverse
    • 申请退款:(*Client) Refund
    • 查询退款:(*Client) QueryRefund
    • 交易保障(JSAPI):(*Client) ReportJsApi
    • 交易保障(MICROPAY):(*Client) ReportMicropay
    • 下载资金账单:TODO,client.DownloadFundFlow()。
    • 拉取订单评价数据:TODO,client.BatchQueryComment()。
    • 企业付款到零钱:(*Client) Change
    • 查询企业付款到零钱:(*Client) QueryChange

    微信支付回调

    对应文件:wx_notify_xxxxxx.go

    • 支付回调:(*Client) NotifyPay
    • 退款回调:(*Client) NotifyRefund

    微信公众号

    对应文件:

    • 授权码查询OpenId:(*Client) OpenIdByAuthCode
    • 获取基础支持的AccessToken:GetBasicAccessToken
    • 获取用户基本信息(UnionId机制):GetUserInfo
    • 获取H5支付签名:GetH5PaySign

    微信小程序

    • 获取小程序支付签名:GetAppletPaySign
    • 获取小程序码:GetAppletUnlimitQrcode

    移动端

    对应文件:wx_app_xxxxxx.go

    • 获取APP支付签名:GetAppPaySign

    1.1.4. 文档

    1.1.6. 测试方法

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

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

    • 测试改为不同情境使用不同的用例。
    • 继续调试境内普通商户和境内服务商的其他模块API文档。
    • 选择性调试境外接口。
    • 继续增加公众号和小程序相关接口。
    • 移除开头的文件。