php支付宝手机网站支付,异步回调和同步回调里面应该怎么写?
这几天要开发支付功能,用的是新版alipay.trade.wap.pay接口,看了一下支付宝文档,发现回调分为同步和异步返回,分别返回参数到设置的return_url和notify_url地址。
官方DEMO的notify_url解释要写的判断逻辑:
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//请务必判断请求时的total_fee、seller_id与通知时获取的total_fee、seller_id为一致的
//如果有做过处理,不执行商户的业务程序
官方DEMO的return_url中:
则没提示要的写任何判断逻辑
问题是:有两种返回方式,我不知道哪种执行再前,哪种在后。
1.return_url中先查询订单状态,在将数据库订单状态更新为已付款。这样return_url和notify_url的逻辑是一模一样的了。
2.return_url中直接在将数据库订单状态更新为已付款
3.return_url中不做任何更改数据库操作,就由notify_url来做
这三种处理哪种才正确?因为不知道同步回调和异步回调的先后顺序,不知道要不要在同步回调的return_ur中写哪种处理