支付宝异步通知返回给我:trade_status=WAIT_BUYER_PAY,但是手机上的支付宝后台给出的提示是支付成功,求大神解释下是什么原因?
根据我个人的开发经验,支付这种核心环节必须清楚明确地记录请求和应答日志。主要分为如下几步:
1、构造支付请求报文,你要记录请求日志,调用支付宝SDK,发起支付请求;
2、将支付宝同步返回的报文记录下来,如果确定支付结果是成功,做你的业务逻辑;
3、将支付宝异步通知的报文记录下来,然后根据支付结果,做你的业务逻辑,这里要判断2是否已经做过逻辑,防止重复。
你贴出来的描述,我认为你应该根据发给支付宝的订单号查到支付宝异步通知给你的报文,和你所谓的手机后台的订单号对比,判断是否是同一条支付记录。如果相同订单,两处结果确实是trade_status不一致,一个是等待买家付款,一个是支付成功,直接联系支付宝客服。
怎么解决的?楼主,我也遇到了相同的问题。我是在ios开发的,项目里有订单支付,和账户充值两种使用支付宝的地方。订单支付能成功,也就是trade_status=TRADE_SUCCESS;但时充值时,支付宝支付完成了,但异步通知返回给我:trade_status=WAIT_BUYER_PAY,跪求楼在解决办法!!!不胜感激!!!