03 订单系统的退款问题

2020-04-30  本文已影响0人  呢看了看

《1》申请退款【商品还没有发货】,需要:

【1】重新给商品增加库存

【2】更改订单状态为“已经完成”

【3】减少你的积分

【4】收回你的优惠券和红包

【5】发送Push告诉你退款完成了

【6】通知仓储系统取消发货

流程太多,步骤太长,用户体验极差。

《2》申请退款,最大的问题

退款失败,有可能是第三方支付系统自己的问题导致退款失败,也可能是在调用第三方支付系统的时候,因为你自己的网络问题导致调用失败。

回滚各种操作。比如更改订单状态、增加库存、收回优惠券和红包、减少积分,通知取消发货等。

《3》确认订单,但是不支付如何处理

确认订单了,创建订单的时候已经调用库存系统锁定了商品的库存,已经跳转到支付界面了,你却放弃了支付。如果一直不支付,就会一直锁定着库存。

通常的处理方式:

订单系统启动一个后台线程,扫描待支付的订单,如果发现24小时没有付款,就关闭,释放库存。如果订单系统有几百万,甚至几千万,上亿呢?–》效率极其低下。

《4》系统耦合

订单系统可能会和仓库系统,第三方物流系统、第三方支付接口之间调用。跟第三方系统耦合的:

订单系统可能会和仓库系统,第三方物流系统、第三方支付接口之间调用。

跟第三方系统耦合的:

【1】第三方系统,是永远不能完全信任的。

【2】突然修改参数,导致代码重新开发

【3】性能差、接口失败。第三方一个接口可能需要几百毫秒,甚至几秒。

上一篇 下一篇

猜你喜欢

热点阅读