移动支付业务处理逻辑是什么样的? 举报 理由 举报 取消 最近在做移动支付,但一直有个疑惑,就是支付完成后的业务处理究竟是在同步返回后进行还是在收到异步通知后进行呢?如果在同步返回后,那异步通知还有什么意义?如果是在异步通知后,那如果异步通知不及时怎么办,就让业务一直等着吗? 2017年6月18日 1 条回复 1023 次浏览 支付
回复 ( 1 )
一般通过异步通知进行。
异步通知过程中第三方支付的服务器会向你自己的服务器发送消息回执以描述某次支付的成功与否。此时,如果你的服务器因为各种原因忽略或没有接受到该回执,第三方支付的服务器会在很短的时间内再次发送同样的消息回执。这个重复发送的过程会一直下去直到第三方支付服务器得到你的服务器的回应,并且,每次重复发送的时间间隔会有所增长。
实际上,支付因为各种情况发生错误很常见的,我们在开发星际加速器( )过程中遇到过的有(按照影响力排序):
以上,我介绍了一些经常导致支付失败的情形,为什么要说这个呢?因为是想告诉提问者,发个消息回执都能失败只能是因为第三方支付的服务器挂掉这些非常罕见的特殊情况,异步通知不及时跟我说的这三种情况比起来发生的概率要小太多太多了。实际上,我们到目前为止还没有捕捉到哪一例支付失败是因为通知不及时。
所以,如果碰到支付不及时的情况,你的服务器确实就只能等。但与其考虑这个问题,还不如好好审视你自己支付逻辑的实现,要让支付不出错不是件易事。