代码拉取完成,页面将自动刷新
同步操作将从 北京小程科技有限公司/微信 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
这是用Golang封装了微信的所有API接口的SDK,并自动生成和解析XML数据,包括微信支付、公众号、小程序、移动端的工具函数。
struct
类型传递,而不是map
类型。go get -u gitee.com/cuckoopark/wechat
const (
isProd = true // 生产环境或沙盒环境
isMch = false // 是否是企业模式,仅当调用企业付款时为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, isMch, serviceType, apiKey, certFilepath, config)
以下是通用的接口,使用上面初始化时生成的实例client
进行相应函数的调用。其中带有(*Client)
字样的接口,需要使用wechat.NewClient
创建的实例对象来调用,而不带的接口,则可以直接使用wechat.XXX
调用。
使用样例:
func Test() {
// 初始化参数
body := wechat.QueryOrderBody{}
body.OutTradeNo = "YgENQFTovdeJdFouNyy3nFVOhGD6ZvPH"
// 请求订单查询
wxRsp, err := client.QueryOrder(body)
if err != nil {
return
}
fmt.Printf("返回值: %+v\n", wxRsp)
}
注意事项:
XXXBody
和XXXResponse
与之对应。对应文件:wx_pay_xxxxxx.go
(*Client) Micropay
。(*Client) UnifiedOrder
。(*Client) QueryOrder
。(*Client) CloseOrder
。(*Client) Reverse
。(*Client) Refund
。(*Client) QueryRefund
。(*Client) DownloadBill
。(*Client) ReportJsApi
。(*Client) ReportMicropay
。(*Client) Change
。(*Client) QueryChange
。对应文件:wx_notify_xxxxxx.go
(*Client) NotifyPay
。(*Client) NotifyRefund
。对应文件:wx_service_xxxxxx.go
(*Client) OpenIdByAuthCode
。GetBasicAccessToken
。GetUserInfo
。GetH5PaySign
。对应文件:wx_applet_xxxxxx.go
GetAppletPaySign
。GetAppletUnlimitQrcode
。对应文件:wx_app_xxxxxx.go
GetAppPaySign
。修改client_test.go
中的生成测试Client的代码,调整沙盒/生产环境、普通商户/服务商等选项,或者修改环境变量,来调整商户参数。
环境变量的脚本在env
文件中,修改后加载环境变量:
source env
go test
service
开头的文件。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。