电商购物车统一结算失败后只能拆单支付的原因是什么?

体验淘宝购物车的流程,加购不同的产品到购物车后,可以进行统一结算支付,如果支付失败了,则重新发起支付后不能再统一的支付,只能拆单分别支付,这样设计的原因是什么?交易前拆单后支付失败后是不是可以统一支付
阅读全文
请先 登录 后评论
  • 0 关注
  • 0 收藏 70 浏览
  • 略问用户 提出于 2020-09-28 12:18:46

8 个回答

xxxxxa

这个和具体产品的电商性质有关系,想要探究清楚这个关系,其实最直接的反应是探究清楚“订单编号的关系”。一个订单号对应的是一个订单,一个订单有特有的订单状态、仓储、调拨、物流信息、售后情况等多个属性构成,而这众多属性的可合并性决定了具体是有多少个订单组成,而基本上所有电商中订单号和物流编号是一一对应的。以下针对淘宝为例。

假设场景:购物车里的所有商品都正常(仓储正常、上架状态正常),则结算可以统一给多个订单支付,这多个订单由C端用户这边的信息关键词就是收货地和是否付款。则统一付款的流程肯定做法正确且减少用户操作,符合用户体验要素和用户操作流程。

但是,反过头想想想,为什么如果支付被中断后就不能统一支付了呢?其实这个源头性问题在于订单在进入结算时,在调起支付后不管支付成功还是不成功,订单号就已经产生了。注意,订单号的产生是关键,订单号产生了则标志着这个订单就应该具有前面提到的众多属性了,而每个订单的情况都不一样,所以用户如果想要继续支付某个订单则需要重新进入到结算页去调起支付结算

前面咱们说的是淘宝,甚至也仅针对于淘宝,为什么呢?像这个问题,如果向唯品会、京东等众多垂直电商遇到这种状态,其实他们应该是由其他解决办法的,毕竟在他们的处理逻辑中如果用户所购买的商品都是从同一个仓调货,那么这个几个毫不相干的产品则可以被打包成一个订单,只产生一个包裹,这也是节省了运输成本。而这种特例也仅仅存在于像我刚举例说明的有自己特有的仓储系统的平台,且用户要买的东西在同一个仓中。

如若有心,反过头想,那么像淘宝可不可以对待支付状态下的订单进行统一支付呢?(交互方式和逻辑方法可类似参考淘宝购物车,在选择统一支付后勾选多个订单进行统一付款)可以是肯定的,只是在订单中这样做可能会吃力不讨好,原因简单,我将用以下几个观点来定性这个伪需求:

1、出现的频次较低。一般情况大家都是看好了就直接下单买了,哪怕是买了之后去仔细查验这个订单是否正确。

2、状态出现的背后原因。用户在正常支付中可能是遇到了商品库存等问题不能正常支付,或自己发现了订单问题不能正常支付。出现这些问题的原因就是因为要仔细的去检查订单,而统一付款的方式肯定又不能保证能提供再到结算页面去。

3、反复建立和培养用户对交易的认知和认同感。统一支付一旦出现则不能保证大家都是从结算也调起的支付,这样不利于用户在心理建立订单关系,且在结算订单时通常有方式来进一步引导用户来确认订单信息等,这一目的不能被达成。

请先 登录 后评论
xxxxxa

问题的症结不是在于统一支付及分拆子的支付流水号,而是在于你购物车发起支付,先是形成支付订单,同时通知商户锁定商品库存,同时还会在支付时,通知类似会员权益系统,积分系统,折扣券系统等扣除对应优惠权益,如果支付失败,再次发起时,商户存库可能发生变化,同时会员权益部分也会发生变化,为了避免出现并发或者存库,券的时差,过期等并发问题。保险起见会限定你再次发起统一支付。

供参考。

请先 登录 后评论
xxxxxa

这个牵涉到订单拆单与订单中的优惠逻辑有关。以京东为例,订单在待支付页面看到的还是合并订单,这是为了避免合并仓发货避免取消部分订单带来的漏洞。但本质上在后端订单都是按店铺按仓进行拆单的。不同的电商页面显示上都存在部分差异,但基本处理相同。

请先 登录 后评论
xxxxxa

跟支付宝的那位大兄弟的理解有点不一样。

拆单后二次支付时没有给统一的聚合支付入口,个人理解哈,与其是技术原因,更不如说是使用场景的原因。淘宝需要给各个商家创造针对未付款订单的营销场景,这个场景的存在价值不用多说,而这个场景下淘宝肯定是要给商户独立的订单数据源,不可能把未拆单的数据让各个商户在此基础上做二次营销,那不是把别的商家的订单也给营销了吗。

至于技术上,提交订单时已经拆单,关联业务的请求按照我司的做法是支付回调拿回后才会请求,例如积分系统,会员系统等系统服务。而订单本身层面的优惠券,使用积分等,其实在订单拆分时已经入库了,哪怕是一些特殊服务的数据回滚,其实都可以从技术层解决,更不用说淘宝本身的订单层大概率不会直接读取的数据库(个人猜测,肯定是有订单聚合层的,能够将不同数据库,Redis里的订单信息聚合到一个统一的表里,在拆库拆表的体量下,不可能跟小公司一样直读数据库表),所以理论上已经生成子单的前提下,在客户端展示时在聚合成一个未拆单订单进行支付,本身上应该不会有技术问题的。至于库存、商品有效性等其他信息的判断,个人理解:第一次支付能解决,第二次依旧能解决,甚至是沿用第一次的处理逻辑即可。

ps:我没记错的话,小米有品就是未拆单的订单支付的,具体没深研究,错了的话别打我。

个人理解,欢迎讨论

请先 登录 后评论
xxxxxa

我验证了一下您说的这个问题,购物车统一结算支付失败后,是可以勾选所有待付款的商品进行合并支付。

此外,我还分别查看了测试购买的三件商品的订单编号和支付宝交易号,发现三件商品的订单编号和支付宝交易号都是不一致的,

请先 登录 后评论
xxxxxa

淘宝合并支付失败后第二次还可以合并支付啊。。。。

请先 登录 后评论
xxxxxa

事实上... 还是可以合并付款的。 前面的回答尴尬吗。

请先 登录 后评论
xxxxxa

应该跟商户号有关系(把这个问题捞一下)

请先 登录 后评论