- TRADE_SUCCESS 交易成功(或支付成功)
- TRADE_FINISHED 交易完成
- 即时到账普通版。 普通版不支持支付完成后的退款操作,即用户充值完成后,该交易就算是完成了,这笔交易就不能再做任何操作了。
- 即时到账高级版。 这个版本在用户充值完成后,卖家可以执行退款操作进行退款,即该交易还没有彻底完成,卖家还可以修改这笔交易。
当用户在支付宝网站上充值完成后,这个时候支付宝的通知消息中,如果是即时到账普通版,那么这时的交易状态值为: TRADE_FINISHED;如果是即时到账高级版,此时的交易状态值就为:TRADE_SUCCESS。
TRADE_SUCCESS状态代表了充值成功,也就是说钱已经进了支付宝(担保交易)或卖家(即时到账);这时候,这笔交易应该还可以进行后续的操作(比如三个月后交易状态自动变成TRADE_FINISHED),因为整笔交易还没有关闭掉,也就是说一定还有主动通知过来。而TRADE_FINISHED代表了这笔订单彻底完成了,不会再有任何主动通知过来了。
综上所述,收到TRADE_FINISHED请求后,这笔订单就结束了,支付宝不会再主动请求商户网站了;收到TRADE_SUCCESS请求后,后续一定还有至少一条通知记录,即TRADE_FINISHED。所以,在做通知接口时,切记使用判断订单状态用或的关系。