EasyWechat 微信支付 Native 支付回调 提示 Invalid request XML.

easywechat 微信支付 Native 支付回调 提示 Invalid request XML.

微信支付平台Native支付回调链接已配置

Native 支付代码

 $config = [
            'app_id'     => env('WX_PAY_APP_ID'),
            'mch_id'     => env('WX_PAY_MCH_ID'),
            'key'        => env('WX_PAY_APP_KEY'),
            'notify_url' => env('APP_URL') . '/api/pay/callback',
        ];

        $app = Factory::payment($config);
        $result = $app->order->unify([
            'product_id' => $request->input('id'),
            'body'         => Str::limit('商户订单' . $order["order_no"]),
            'out_trade_no' => $order["order_no"],
            'trade_type'   => 'NATIVE',
            'total_fee'    => $product[$productId]["price"] * 100, // 总价
        ]);

laravel扩展包版本:

"laravel/framework": "^8.54",
"overtrue/wechat": "~5.0",
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

解决方案:
1、检查回调是否POST请求, 请求要放在中间件外面,防止回调有中间件限制;
2、自己请求的话 缺少参数会报“Invalid request XML.” 提示。

10个月前 评论
讨论数量: 11

你可以看一下你的配置是否正确

10个月前 评论
SammlHui (楼主) 10个月前

先看下env的配置是不是都能拿到再检查下unify的参数是不是都正确

10个月前 评论
SammlHui (楼主) 10个月前

回调解析时用的 $this->app['request'] 是要你自己设置的,看下你传的对不对 file

10个月前 评论
SammlHui (楼主) 10个月前
Trace92 (作者) 10个月前
SammlHui (楼主) 10个月前

回调接口里 把回调信息存日志,一步一存然后看日志找问题就行了

10个月前 评论
SammlHui (楼主) 10个月前

解决方案:
1、检查回调是否POST请求, 请求要放在中间件外面,防止回调有中间件限制;
2、自己请求的话 缺少参数会报“Invalid request XML.” 提示。

10个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!