跳到主要内容

微信支付参数配置

如何配置微信支付参数

Javashop电商系统已经将微信支付功能集成完毕,只需要在管理端配置好相关参数即可使用。

配置参数的位置在:平台管理端-设置-支付与物流-收款方式。如下图所示:

image-20230713095855004

微信参数配置分为两种:公共参数配置子应用参数配置

  1. 公共参数配置:点击编辑按钮,即可配置公共参数,如下图所示:

    公共参数包括:商户号、商户证书私钥文件、商户证书序列号、微信支付平台证书文件和APIv3秘钥

    image-20230713100420451

  2. 子应用参数配置:点击子应用编辑按钮,进入子应用配置页面即可配置,如下图所示:

    子应用配置是按照不同的客户端来进行设置的,分别为:H5、小程序和APP

    image-20230713100710053

    image-20230713101528508

tip

将如上参数配置完毕后,就可以在Javashop系统内使用微信支付了

如何获取微信支付参数

公共参数

公共参数包括:商户号、商户证书私钥文件、商户证书序列号、微信支付平台证书文件和APIv3秘钥

商户号

获取商户号,需要商户接入微信支付,具体接入流程可以参考官方文档:微信支付商户接入指引

接入成功后,登录微信商户平台(pay.weixin.qq.com),在【账户中心】-【商户信息】中查看。

image-20230713110835224

image-20241017170651901

手机端也可以查看商户号,具体可参考官方文档:查看微信收款商业版的商户信息

商户证书私钥文件

API证书,是指由商户申请的,用来证实商户身份的证书。API证书由证书授权机构Certificate Authority(简称CA)颁发。证书中包含商户的商户号、公司名称、公钥等信息。请妥善保管API证书文件,防止泄露。

具体如何获取商户证书?可参考官方文档:如何获取商户API证书

根据文档一步一步进行操作,最终我们会获取到三个文件,如下图所示:

image-20230713111522686

其中apiclient_key.pem就是商户证书私钥文件

企业微信20241017-171529@2x

如何获取商户证书序列号

方法一:登录【微信支付商户平台-> 账户中心 -> 账户设置-> API安全,API证书】点击“管理证书”,即可查看证书序列号,如下图所示:

image-20230713112053612

image-20230713112212060

企业微信20241017-171947

方法二:可以通过证书在线解析工具获取证书序列号

此种获取证书序列号的方式比较复杂,不推荐使用,感兴趣的小伙伴可自行研究

证书在线解析工具地址:证书解析工具

通过工具上传商户证书(apiclient_cert.pem文件就是商户证书)进行解析,解析结果如下图所示:

image-20230713112847897

方法三:通过对接微信支付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、下载后的证书如下:

    image-20230713150232495

    以上信息均来自与官方,具体可参考:https://github.com/wechatpay-apiv3/CertificateDownloader(需要科学上网)

    企业微信20241017-173108

APIv3秘钥

APIv3秘钥需要开发人员自行创建,创建规则为:32个字符,支持数字和大小写字母组合,不支持特殊字符

注意:APIv3密钥属于敏感信息,请妥善保管不要泄露,如果怀疑信息泄露,请重设密钥。

秘钥生成后,还需要设置到微信商户平台中,如何设置APIv3秘钥,请参考官方文档:设置APIv3秘钥

企业微信20241017-173935

子应用参数

微信支付子应用参数实际上就是配置AppID,AppID是指已通过微信认证(如何进行微信认证)的服务号、订阅号、小程序、企业微信和移动应用等的ID。

微信支付想要正常使用AppID,还需要将商户与AppID账号进行关联。

可登录微信支付商户平台【pay.weixin.qq.com/】->产品中心->AppID账号管理->我关联的AppID账号->+关联AppID,即可新增AppID账号;具体操作步骤可参考官方文档:微信支付普通商户与AppID账号关联管理

image-20230713152928286

tip

由于网站应用AppID、普通企业订阅号和未认证的AppID均不支持直接绑定关联微信商户,所以在Javashop系统中,PC端的微信支付和H5端的微信支付共用同一个AppID