当前位置:文档之家› 农行支付接口开发--支付流程整理

农行支付接口开发--支付流程整理

这里说的农行包含农行的第三方支付,因为他的流程和处理方式完全一致
一、订单状态
待支付:用户提交订单的时候赋予此状态(可再支付)
支付成功,待确认:在农行的通知页面里,success代码中赋予此状态(不可再支付)
支付失败:在农行的通知页面里,fail代码中赋予此状态(可再支付)
交易成功:在支付宝的通知页面里,success代码中赋予此状态;在农行的查询订单代码中,当农行返回03、04时赋予此状态(不可再支付)
交易失败:在支付宝的通知页面里,fail代码中赋予此状态;在农行的查询订单代码中,当农行返回00时,赋予此状态(可再支付)
二、支付流程
首先、支付宝和农行都有一个异步通知页面。

这个页面很关键
这2个页面都有一个判断支付是否成功的代码
对于支付宝来说,支付成功,就意味着交易成功,可以马上将用户的订单状态改为“交易成功”
对于农行来说,支付成功,只能表示用户的钱已经扣了,但是农行还没有到账,此时订单状态改为“已支付、待确认”,这种状态下,用户不能再次支付,否则要造成重复支付。

在这个通知页面里的代码没有执行前,我们都可以肯定用户是没有支付的,这种情况下,用户可以再次支付。

当这个通知页面执行后,就要分两种情况。

支付宝
通知页面里的success就意味着交易完成,可以将订单状态改为“交易完成”,否则就是“交易失败”
农行
通知页面里的success表示用户已经支付了,扣款了。

但是钱不一定到农行的账户。

这个时候订单状态改为“支付成功、待确认”这种状态下,用户不能再次对这个订单进行支付
通知页面的fail表示支付失败,这种状态下,可以再次进行支付。

针对农行,需要设计一个定时器,定时查询处于“支付成功、待确认”02状态下的订单。

根据查询订单的返回值,改变订单的状态。

相关主题