异步接收

无论是公众号支付,原生扫码支付还是小程序支付,用户支付后,微信都会通过异步的方式通知WeiPHP系统。
系统自动更新完订单状态后,会根据之前统一下单的callback参数,再把支付结果以数组的方式传回给开发者。

如callback设置为Common/Service/payok时,WeiPHP系统会这样调用

D('Common/Service')->payok($data);

实现回调,其中支付结果的数组($data)的参数请参考微信官方的说明

开发者得到支付的参数后,就可以在自己定义的回调里进行具体的业务开发了。

回调方法payok的例子:

    public function payok($res_data)
    {
        // 记录下日志
        add_debug_log($res_data, 'payok');
        
        // 进行具体的业务操作
        // TODO
    }

主动查询

如果未收到支付通知的情况,开发者可以调用查询订单接口得到支付结果,调用方法如下:

        $appid = '你的公众号appid';
        $out_trade_no'=>'商户系统内部订单号';
        $res = D('weixin/Payment')->query_order($appid, $out_trade_no);

系统会以数组的方式返回查询结果

至此支付流程完成,开发者得到支付结果后进行相应的业务开发。