异步接收支付结果
异步接收
无论是公众号支付,原生扫码支付还是小程序支付,用户支付后,微信都会通过异步的方式通知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);
系统会以数组的方式返回查询结果
至此支付流程完成,开发者得到支付结果后进行相应的业务开发。