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",
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

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

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

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

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

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

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

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

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

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

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

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

11个月前 评论

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