收藏
回答

微信支付多次回调的问题?

最近微信支付,在线上运行.发现了多次回调的问题.回传transaction_id为:4200000419201911020109389587

这样的订单还有好多.是我会传错了吗?怎么都是这样的?大概回传了4次,就不回传了.

自己响应的结果

<xml>

  <return_code><![CDATA[SUCCESS]]></return_code>

  <return_msg><![CDATA[OK]]></return_msg>

</xml>



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

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-11-05

    收到支付回调,处理完自己的业务后要返回成功给微信服务器吧,微信服务器回调后未收到成功的,后面还会回调几次的

    /**
     * 微信支付回调
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function paySuccess()
    {
        $config = config('wechat.payment.default');
        $app = Factory::payment($config);
        $response = $app->handlePaidNotify(function ($message, $fail) use($app){
            ////Log::info($message);
            // return_code 表示通信状态,不代表支付状态
            if ($message['return_code'] === 'SUCCESS') {
                ////Log::info('return_code = SUCCESS');
                $result_code = array_get($message, 'result_code');
                // 用户是否支付成功
                if ($result_code === 'SUCCESS') {
                    ////Log::info('result_code = SUCCESS');
                    // 再次验证,调用【订单查询】接口,确认是否已经支付
                    $back = $this->payCheck($app, $message['out_trade_no']);
                    if($back === true){
                        ////Log::info('payCheck = OK');
                        return $this->handlePaidUpdate($message, $fail);
                    }else{
                        $message['__error'] = '调用【订单查询】接口出错';
                        ////Log::info($message);
                        return $fail('通信失败,请稍后再通知我');
                    }
                } elseif ($result_code === 'FAIL') {
                    // 用户支付失败,处理完成,不需要再通知了
                    return true;
                }
            } else {
                ////Log::info('FAIL');
                return $fail('通信失败,请稍后再通知我');
            }
            // 处理完成,不需要再通知了
            return true;
        });
         
        return $response;
    }


    2019-11-05
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-11-05

    你好,支付、卡券相关的问题请移步至微信支付专区https://developers.weixin.qq.com/community/pay提问,我们会有对应同学来处理。

    2019-11-05
    有用
    回复
登录 后发表内容
问题标签