php-laravel对接微信app支付V3接口的流程以及坑(应答的微信支付签名验证失败)
最近在做app当我对接到微信支付的app支付时,居然有那么多文档没说明白的坑,我相信很多人也会遇到所以再次记录一下帮帮有缘人吧。首先我用的是laravel框架,然后用到了微信官方提供的sdkhttps://github.com/wechatpay-apiv3/wechatpay-guzzle-middleware这个该说不说这个sdk还是写的很不错的但是有些真的是文档搞得好懵逼比如这个参数$wec
最近在做app当我对接到微信支付的app支付时,居然有那么多文档没说明白的坑,我相信很多人也会遇到所以再次记录一下帮帮有缘人吧。
首先我用的是laravel框架,然后用到了微信官方提供的sdk
https://github.com/wechatpay-apiv3/wechatpay-guzzle-middleware
这个该说不说这个sdk还是写的很不错的但是有些真的是文档搞得好懵逼比如这个参数
$wechatpayCertificate = PemUtil::loadCertificate('/path/to/wechatpay/cert.pem'); // 微信支付平台证书
这个参数千万千万不要认为是用微信提供的那个工具生成出来的证书
开始我以为是这个
但是我通过看论坛查文档折腾了好久好久终于明白了,根本就他娘的不是嘛,这个证书是要你去生成的而且这个包也给了
就是这个包里的这个文件
这是个命令行可执行文件你直接去生成一个然后把生成出来的证书写到那个代码的路径里就ok了!!!!!!
真是天大的坑啊我靠,具体命令如下
php vendor/wechatpay/wechatpay-guzzle-middleware/tool/CertificateDownloader.php -f 你自己的key路径(apiclient_key.pem) -k (这个事你自己填写的apiv3密匙不是v2) -m (填商户号) -o 这个事生成的路径他会生成一个文件你存在哪里 -s 商户API证书序列号这个在微信后台找就ok了
最后生成出来的事一个类似于这个的东西
wechatpay_250393205B4A9CC12900B44B65E04B9751CE95.pem
然后再吧这个路径填写到上面那个证书哪里就ok了
文档根本没说清楚千万别去纠结这个接口根本不需要这么做(浪费老子好多时间去生成)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)