电商-支付-异常支付处理

异常订单一般出现的异常有以下:

1.用户重复支付。

2.我方对订单人为设置了过期时间,对方支付时间过长,或者停留在第三方界面时间过久,导致我方服务器对订单认定过期,订单无效。

 

解决方案:

1.基本没有可能完全解决重复支付和过期支付问题,毕竟这基本都是网络延时造成和用户个人习惯造成。

2.退款。定时检测重复支付的订单,然后退款。过期的过期却支付的订单,在回调地址的时候及时加入退款的消息队列,然后进行退款排队。

2.1 如何检测重复支付的订单?每个订单,每一次支付对应不同的支付流水号,检测在支付流水表中,如果有订单号相同,但是支付流水号不同,那么就选取一个进行退款,退款后标记已退款,并发送退款通知通知用户。

2.2如何检测过期支付订单?在回调地址中接收到第三方到来的确定支付消息后,检查订单是否被标记已经过期,如过期,即把当前流水放入退款队列中,等待退款。

3.退款,一般干两个事情,发推送到用户端,生成退款账单,有记录有通知,即可。

3.1其实大多数的第三方退款,都是原路退回,调用支付渠道对应的退款接口即可。     

                                                                                                                                                                                                                                                                             

关于支付为什么出现异常,原因大抵有以下几个:

1.网络原因或是对方服务器延时原因,用户支付后,第三方支付服务器通知我方服务器时间过长。

2.用户习惯,在支付的时候犹豫不决,导致了支付的时间过长,导致订单过期。

3.网络原因会造成订单过期和重复支付,支付时间过长会造成订单过期。

4.极端原因,其实在支付回调通知中,大家会发现,有存在已支付,未支付,还有一个交易中的状态。交易中状态出现的原因,有可能是银行系统访问时间过长,还有一些是账户有问题,虽然大多数在用户支付当时是成功的,后面银行系统返回交易中,最后大多数都会失败掉。至于这样的问题如何解决?

4.1交易中,如果订单标记交易中状态,当时即在界面上通知用户请等待支付结果,一般2小时内会有结果,请耐心等待,后续银行其实也不再进行通知的了,需要我方服务器主动请求确认其支付状态。故而采取主动的定时任务进行主动访问处理,间隔1min重复访问,如果访问到直到不再是交易中为止,如果是失败标记失败,并推送给用户支付失败,如果是成功,推送给用户支付成功,完成确认支付后续操作。

 

 

  • 4
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值