面试官问:用户钱付了,订单还是显示未支付,怎么解决?

什么是掉单?

所谓的掉单,就是用户下单支付,在钱包里完成了支付,结果回到电商APP一看,订单还是未支付……

毫无疑问,用户肯定会炸,结果不是投诉,就是差评。

用户感觉受到了欺诈

那么掉单是怎么来的呢?

我们先来看看订单支付的完整流程:

钱包支付的完整流程

  1. 用户从电商应用点击支付,客户端向服务端发起支付请求

  2. 支付服务会向第三方的支付渠道发起支付,支付渠道会响应对应的url

  3. 以APP为例,客户端通常是会拉起对应的钱包,用户跳到对应的钱包

  4. 用户在钱包里完成支付

  5. 用户完成支付后,跳转回对应的电商APP

  6. 客户端轮询订单服务,获取订单状态

  7. 支付渠道回调支付服务,通知支付结果

  8. 支付服务通知订单服务,更新订单状态

对于支付订单而言,大概可以分为这么几个状态:

支付状态

  • 未支付:用户在点击支付之后,支付服务请求支付渠道之前,处于未支付状态

  • 支付中:用户发起支付后,到跳转到支付钱包,再到完成支付,支付服务获取到最终支付结果之间,属于支付中状态,这个状态下,可以说是一个迷雾状态,电商系统对于用户的支付是不确定

  • 支付成功/失败/取消/关闭:电商系统最终确定了用户在第三方钱包的支付最终结果

看起来没什么问题啊,怎么就掉单了?简单说,就是支付的状态没有同步到,或者没有及时同步到。

掉单发生

1.  支付渠道的支付回调

发生了一些异常,导致支付服务没有收到支付渠道的回调通知

2.  支付服务通知订单服务

服务内部出现异常,导致支付状态没有同步到订单服务

3.  客户端获取订单状态

客户端通常是轮询获取状态,可能会在轮询时间内没有获取到订单状态,结果用户看到未支付

其中1可以称之为外部掉单,2和3可以称之为内部掉单。

接下来我们看看,怎么预防掉单问题。

怎么防止内部掉单

我们先从系统内部的掉单说起,当然在系统内部,稳定性更容易保证,发生掉单的概率还是

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值