微信支付入门

在使用之前,请先阅读官方文档API V3 了解微信支付的大致工作流程。

微信支付是独立的一个服务,能够支持公众号、小程序、JSSDK、企业微信支付等平台,所以我们这边Payment拆分成了一个单独的实例。

Payment实例初始化 #

UserConfig参数说明: #

AppID #

string是ww16143ea0101327cc

小程序、公众号或者企业微信的appId。

MchID #

string是1611854986

微信支付商户号ID

MchApiV3Key #

string是1611854986

微信商户里面设置的API V3密钥。参考官方文档: API v3密钥

Key #

string是管理员设置的随机数

微信商户里面设置的API V2密钥。参考官方文档: 配置API key

CertPath #

string是/.../apiclient_cert.pem

微信商户里面设置的API V3证书。参考官方文档: 私钥和证书

KeyPath #

string是/.../apiclient_key.pem

商户API V3私钥。

SerialNo #

string是2655A2CD634B06C2A86B28780228A997D047B01A

商户号API V3证书的序列号。 获取证书调用方法:

正常的情况下会输出:

CertificateKeyPath #

string否/.../wx_rsa_public_key.pem

微信支付API v3使用微信支付 的平台公钥(不是商户私钥 )进行应答签名。 获取请详见官方文档

WechatPaySerial #

string否5157F09EFDC096DE15EBE81A47057A7232F1B8E1

获取请详见,获取微信支付V3平台证书接口时,微信会一并返回
官方文档

RSAPublicKeyPath #

string否/.../wx_rsa_public_key.pem

微信支付API v2使用微信支付 的平台公钥(不是商户私钥 )进行应答签名。 获取请详见官方文档

SubAppID #

string否ww16143ea0101327cc

在服务商平台下的,子小程序、公众号或者企业微信的appId。

SubMchID #

string否1611854986

在服务商平台下的,子微信支付商户号ID。

注意,如果没有在服务商平台下,请不要设置这两个参数。

NotifyURL #

string是https://pay.artisan-cloud.cn/wx/notify

微信支付完成后的通知回调地址。参考官方文档: 支付通知API

Log #

payment.Log否

输出日志到指定文件。

Http #

payment.Http否
https://api.mch.weixin.qq.com/sandboxnew

HttpDebug #

bool否false

是否开启打印SDK调用微信API接口时候的日志,开启之后会显示出提交的参数和微信详情的数据,对于排查问题时候非常有帮助。

Cache #

CacheInterface否nil

如果需要实现Token中控,例如多个应用实例共享或者和其他应用共享Token。

更多详细内容请参考: Cache配置