• 异步接收支付结果
    • 异步接收
    • 主动查询

    异步接收支付结果

    异步接收

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

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

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

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

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

    回调方法payok的例子:

    1. public function payok($res_data)
    2. {
    3. // 记录下日志
    4. add_debug_log($res_data, 'payok');
    5. // 进行具体的业务操作
    6. // TODO
    7. }

    主动查询

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

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

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

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