EasyWeChat 6.* 调用API 请求微信支付订单查询接口 报错签名错误

当前使用的 Laravel 版本#

laravel9

PHP 版本:#

8.0

相关软件版本#

EasyWeChat 6.*

问题描述?#

EasyWeChat 6.* 调用 API 请求微信公众号支付 JSAPI 时正常,但是调用微信支付查询订单状态 V3 API 时签名错误,有没有大铁门遇到过 怎么解决的 ?

配置#

        $config = [
            'mch_id' =>16172***,
            // 商户证书
            'private_key' =>__DIR__ .'/certs/apiclient_key.pem',
            'certificate' =>__DIR__ .'/certs/apiclient_cert.pem',
             // v3 API 秘钥
            'secret_key' => 'Alim**************************',
            // v2 API 秘钥
            'v2_secret_key' => 'Alim**************************',

            // 平台证书:微信支付 APIv3 平台证书,需要使用工具下载
            // 下载工具:https://github.com/wechatpay-apiv3/CertificateDownloader
            'platform_certs' => [
                // env('WECHAT_PAYMENT_KEY_PATH')
                // 'certs/apiclient_cert.pem'
                // '/path/to/wechatpay/cert.pem',
            ],
        ];

调用 API 代码#

        $transactiosnId = '217752501201407033233368018';
        $response = $app->getClient()->get("v3/pay/transactions/id/{$transactionId}", [
            'query'=>[
                'mchid' =>  $app->getMerchant()->getMerchantId()
            ]
        ]);

调用时报错#

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

是个 bug, 已经修复啦,更新到最新版即可。

3年前 评论
Bellaciao (楼主) 3年前
讨论数量: 6

appid 就这样暴露没关系吗

3年前 评论
Bellaciao (楼主) 3年前

我也碰到这个问题了,post 方式没问题,get 方式就不行,后来用原生解决了这块, 6 版本的文档看起来让人有点蒙,用的人少,所以问题也搜不到

3年前 评论
Bellaciao (楼主) 3年前

是个 bug, 已经修复啦,更新到最新版即可。

3年前 评论
Bellaciao (楼主) 3年前