收藏
回答

调用微信转账接口报400错误,怎么解决?

调用微信转账接口报错:

Error message: Client error: `POST https://api.mch.weixin.qq.com/v3/fund-app/mch-transfer/transfer-bills` resulted in a `400 Bad Request` response:

{"code":"PARAM_ERROR","message":"请确认待处理的消息是否为加密后的密文"}


代码:

$promise = $instance

        ->chain('v3/fund-app/mch-transfer/transfer-bills')

        ->postAsync([

            'json' => [

                'appid'                       => WX_APPID,

                'out_bill_no'                 => $out_bill_no,

                'openid'                      => $open_id,

                'user_name'                   => $user_nickname,

                'transfer_amount'             => $amount,

                'transfer_remark'             => '用户佣金提现',

                'notify_url'                  => $callback_url,

                'user_recv_perception'        => '平台佣金',

                'transfer_scene_id'           => '1005',

                'transfer_scene_report_infos' => [

                        [

                            'info_type'    => '岗位类型',

                            'info_content' => '分销商',

                        ],

                        [

                            'info_type'    => '报酬说明',

                            'info_content' => '订单佣金提现',

                        ],

                    ],

                ],

                'headers' => [

                    'Wechatpay-Serial' => $platformCertificateSerial,

                ],

        ])->then(static function($response) {

            

            self::$response = $response;


            // 正常逻辑回调处理

            Log::info('Refund body: ' . $response->getBody());


            

        })->otherwise(static function($e) {

            // 异常错误处理

            Log::info('Error message: ' . $e->getMessage());

          

            if ($e instanceof \GuzzleHttp\Exception\RequestException && $e->hasResponse()) {

                $r = $e->getResponse();

            

                Log::info('Error StatusCode: ' . $r->getStatusCode() . ' ' . $r->getReasonPhrase());

                Log::info('Error body: ' . $r->getBody());

            }

           

            Log::info('TraceAsString: ' . $e->getTraceAsString());

        });

        // 同步等待

        $promise->wait();



回答关注问题邀请回答
收藏

1 个回答

  • Memory
    Memory
    05-05

    user_name,user_name需要用平台证书/平台公钥加密

    05-05
    有用 2
    回复
登录 后发表内容