微信支付API V3 版本,相对V2简化了许多。
首先需要在商户平台 - 账户中心 - API安全 - 设置APIv3密钥,设置完需要等待几分钟才生效。
设置V3密钥:
https://kf.qq.com/faq/180830E36vyQ180830AZFZvu.html
查看证书序列号:
-
“商户证书”是指由商户申请的,包含商户的商户号、公司名称、公钥信息的证书。
-
”平台证书”是指由微信支付负责申请的,包含微信支付平台标识、公钥信息的证书。
-
每个证书都有一个由CA颁发的唯一编号,即证书序列号。
openssl x509 -in ./apiclient_cert.pem -noout -serial
官方文档:
https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_4.shtml
开发工具:
wechatpay-apache-httpclient,适用于使用Apache HttpClient处理HTTP的Java开发者
https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient
Certificate Downloader 是 Java 微信支付 APIv3 平台证书的命令行下载工具。
https://github.com/wechatpay-apiv3/CertificateDownloader
使用:
java -jar CertificateDownloader-1.1.jar -f 商户私钥文件路径 -k 证书解密的密钥 -m 商户号 -o 证书保存路径 -s 商户证书序列号
常见错误:
1.商户未设置加密的密钥,请登录商户平台操作
设置完密钥,需要等待几分钟,并不是马上生效
2.应答的微信支付签名验证失败
检查是否设置了V3密钥