nciaer 发表于 2021-6-11 18:12:28

微信APIV3扫码支付遇到的问题

扫码支付,也就是native支付。

前期工作,需要知道商户号,apiv3密匙(32位那个),商户API证书序列号,还有什么pem证书文件。
之前也搞过,好像没那么麻烦,这次比较麻烦。我直接从支付平台下载的wechatpay-guzzle-middleware,这个说是什么v3版本,官方有demo,但是老是出错,提示应答的微信支付签名验证失败,但是依然能获取到支付二维码,官方代码是这样的:
// 微信支付平台配置
$wechatpayCertificate = PemUtil::loadCertificate('./path/to/wechatpay/cert.pem'); // 微信支付平台证书文件路径

我以为这个cert.pem是通过微信那个什么密匙工具生成的那个,原来不是,必须用java命令行来获取,如下:

CertificateDownloader-1.1.jar 自行百度获取吧,php也有这个脚本的,但是老是提示出错。
java -jar CertificateDownloader-1.1.jar -f apiclient_key.pem -k apiv3密匙 -m 商户号 -s 商户api证书序列号 -o 保存位置


用这个,齐活。官方例子跑起来了。
v3版本的太复杂了,demo又不全,回调验签那搞不定,一看还有V2版本的,果断换回V2版本。



页: [1]
查看完整版本: 微信APIV3扫码支付遇到的问题