微信支付参数配置
如何配置微信支付参数
Javashop电商系统已经将微信支付功能集成完毕,只需要在管理端配置好相关参数即可使用。
配置参数的位置在:平台管理端-设置-支付与物流-收款方式。如下图所示:
微信参数配置分为两种:公共参数配置和子应用参数配置
公共参数配置:点击编辑按钮,即可配置公共参数,如下图所示:
公共参数包括:商户号、商户证书私钥文件、商户证书序列号、微信支付平台证书文件和APIv3秘钥
子应用参数配置:点击子应用编辑按钮,进入子应用配置页面即可配置,如下图所示:
子应用配置是按照不同的客户端来进行设置的,分别为:H5、小程序和APP
tip
将如上参数配置完毕后,就可以在Javashop系统内使用微信支付了
如何获取微信支付参数
公共参数
公共参数包括:商户号、商户证书私钥文件、商户证书序列号、微信支付平台证书文件和APIv3秘钥
商户号
获取商户号,需要商户接入微信支付,具体接入流程可以参考官方文档:微信支付商户接入指引
接入成功后,登录微信商户平台(pay.weixin.qq.com),在【账户中心】-【商户信息】中查看。
手机端也可以查看商户号,具体可参考官方文档:查看微信收款商业版的商户信息
商户证书私钥文件
API证书,是指由商户申请的,用来证实商户身份的证书。API证书由证书授权机构Certificate Authority(简称CA)颁发。证书中包含商户的商户号、公司名称、公钥等信息。请妥善保管API证书文件,防止泄露。
具体如何获取商户证书?可参考官方文档:如何获取商户API证书
根据文档一步一步进行操作,最终我们会获取到三个文件,如下图所示:
其中apiclient_key.pem就是商户证书私钥文件
如何获取商户证书序列号
方法一:登录【微信支付商户平台-> 账户中心 -> 账户设置-> API安全,API证书】点击“管理证书”,即可查看证书序列号,如下图所示:
方法二:可以通过证书在线解析工具获取证书序列号
此种获取证书序列号的方式比较复杂,不推荐使用,感兴趣的小伙伴可自行研究
证书在线解析工具地址:证书解析工具
通过工具上传商户证书(apiclient_cert.pem文件就是商户证书)进行解析,解析结果如下图所示:
方法三:通过对接微信支付SDK进行获取,微信支付SDK提供了解析工具类PemUtil.java,里面含有获取证书序列号的方法
微信支付平台证书文件
微信支付平台证书是指由微信支付负责申请的、包含微信支付平台标识、公钥信息的证书。
此证书不同于上述在微信商户平台->账户中心->API安全中申请的商户API证书
微信商户平台->账户中心->API安全中申请的证书是由权威CA颁发的商户API证书
当前证书是由微信支付颁发的商户API证书
(两者具体区别可参考官方文档:微信支付商户API证书升级指引)
如何获取微信支付平台证书文件?(比较复杂需要懂技术人员处理)
当前证书只能通过接口进行下载,具体可参考官方文档:获取平台证书
微信支付官方为了方便用户下载证书,集成好了一款 Java 微信支付 APIv3 平台证书的命令行下载工具--Certificate Downloader。该工具可从
https://api.mch.weixin.qq.com/v3/certificates
接口获取商户可用证书,并使用 APIv3秘钥 和 AES_256_GCM 算法进行解密,并把解密后证书下载到指定位置。具体操作步骤如下:
1、下载工具:点击下载Certificate Downloader工具
2、执行下载命令
如果是首次下载证书,之前没有下载过,需要执行以下命令:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
如果你已有微信支付平台证书,完整命令如:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
必需参数有:
-f <mchPrivateKeyFilePath>
,商户API私钥文件路径-k <apiV3Key>
,证书解密的密钥-m <mchId>
,商户号-o <outputFilePath>
,保存证书的路径-s <mchSerialNo>
,商户API证书的序列号
非必需参数有:
-c <wechatpayCertificateFilePath>
,微信支付平台证书的路径。如果你还没有证书,请先不传该参数。
3、下载后的证书如下:
以上信息均来自与官方,具体可参考:https://github.com/wechatpay-apiv3/CertificateDownloader(需要科学上网)
APIv3秘钥
APIv3秘钥需要开发人员自行创建,创建规则为:32个字符,支持数字和大小写字母组合,不支持特殊字符
注意:APIv3密钥属于敏感信息,请妥善保管不要泄露,如果怀疑信息泄露,请重设密钥。
秘钥生成后,还需要设置到微信商户平台中,如何设置APIv3秘钥,请参考官方文档:设置APIv3秘钥
子应用参数
微信支付子应用参数实际上就是配置AppID,AppID是指已通过微信认证(如何进行微信认证)的服务号、订阅号、小程序、企业微信和移动应用等的ID。
微信支付想要正常使用AppID,还需要将商户与AppID账号进行关联。
可登录微信支付商户平台【pay.weixin.qq.com/】->产品中心->AppID账号管理->我关联的AppID账号->+关联AppID,即可新增AppID账号;具体操作步骤可参考官方文档:微信支付普通商户与AppID账号关联管理
tip
由于网站应用AppID、普通企业订阅号和未认证的AppID均不支持直接绑定关联微信商户,所以在Javashop系统中,PC端的微信支付和H5端的微信支付共用同一个AppID