Java生鲜电商平台-电商支付流程架构实战
Java生鲜电商平台-电商支付流程架构实战
说明:我一直秉承的就是接地气的业务架构实战。我的文章都有一个这样的核心。
1. 业务场景
2. 解决问题。
3.代码实现。
4.代码重构。
5.总结与复盘。
6.缺点与防范
一、场景描述
想必大家都曾遇到过这个问题,在电商购物的过程中,已经走到了最后一步:去支付。这个时候突然意识到商品数量不对,或者收货信息选错。
除此之外,用户还存在之下返回的原因:
误点击,也就是说用户还是想买的;
犹豫中点了返回,想买的欲望不是十分坚决;
坚决不买了。
二、可选方案
(1)目前几乎所有主流电商平台,在支付页面点击返回跳转到订单的待支付页面。
(2)有一部分微商城,依然原路径返回,不过依然生成了待支付订单。

(3)原路返回,也不生成待支付订单,不过作者目前并没有找到此类型的案例。
三、为什么要有「待付款」状态
1. 库存计算
在电商系统中,前端页面显示的库存与仓库的实体库存是不同步的,因而在商品出仓前要求前端的库存进行「锁定」即前端的减库存。
关于库存的锁定,电商领域存在有两种方案:
一种是拍下减库存即生成订单(待付款)减库存,故此方案绕不过「待支付」;
一种是支付成功减库存。
拍下减库存存在的问题:
用户可能拍下不买,不乏存在有用户把拍下当收藏夹用,以致占用库存,影响平台的交易量。甚至存在更为极端的「恶拍」漏洞,竞争对手会把商品所有库存全都拍掉,也不付钱,平台的商品就全部被下架了。
支付成功减库存存在的问题:
支付成功减库存会碰到最严重的问题,是「超卖」。因为系统在付款成功之前,都不减库存,所以总是会发生“短时间很多人都拍下,甚至都付钱了,但是系统却发现库存不够了”。
买家拍下商品后,从提交付款到付款成功的之间是有时间差的,因为付款的动作是在几个不同的系统之间传信息。因此最后一件商品可能被多人拍下,这几个人都可能付款成功。
淘宝的做法是把何时减库存的决定权交给卖家,然后告知卖家两个方案各自适应的场景。

2. 提高转化
电商是通过交易驱动的产品类型,因此订单的每一步都要考虑转化率,提高转化率是电商的基础要求。
用户在电商下单,大多都是会进行一番思考的,毕竟支付宝里的钱也不是河水流过来的。用户在支付前总会有种种原因搁置付款,一般待支付订单的有效时间为24小时以内,在这段有效时间内平台就像一名促销员一样,告知你有未付款的订单。

四、确定解决方案
结果是几乎所有的电商都采用了从支付页面返回跳转至待支付的方案。
从用户角度来考量:退回去修改信息(收货信息、商品信息)一定是用户真实存在的诉求。
在商家的角度:提高订单的成交率,是第一要务。这个时候最好的办法就是利用数据工具,做埋点和统计,根据各种情况出现的概率做出相应的决策。
五:代码方面
QQ群
Java生鲜电商平台-电商支付流程架构实战的更多相关文章
- Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP)
Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP) “微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”. 画外音:做 ...
- Java生鲜电商平台-电商会员体系搭建
Java生鲜电商平台-电商会员体系搭建 说明:因为之前一直从事的是B端的生鲜电商方面的产品,对会员体系方面有深刻的理解,今天来聊一聊会员体系的搭建. 明确会员体系的目的 首先我们需要明确的知道,搭建电 ...
- Java生鲜电商平台-电商虚拟币的充值与消费思考
Java生鲜电商平台-电商虚拟币的充值与消费思考 项目背景 最近由于项目业务原因,需要为系统设计虚拟币的充值及消费功能.公司内已经有成熟的支付网关服务,所以重点变成了如何设计项目内虚拟币的充值流程,让 ...
- Java生鲜电商平台-电商数据运营统计与分析
Java生鲜电商平台-电商数据运营统计与分析 今天分享将会分为以下几个方面来阐述: 1. 作为运营我们需要统计与分析的几个核心数据是什么? 2. 核心数据对业务的指导价值在哪里呢? 3. 作为产品PM ...
- Java生鲜电商平台-电商订单系统全解析
Java生鲜电商平台-电商订单系统全解析 说明:Java生鲜电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识. 今天分享将会分为以下三个环节来阐述: 1.订单系统的介绍 2.订 ...
- Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战
Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台- 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...
- Java生鲜电商平台-深入订单拆单架构与实战
Java生鲜电商平台-深入订单拆单架构与实战 Java生鲜电商中在做拆单的需求,细思极恐,思考越深入,就会发现里面涉及的东西越来越多,要想做好订单拆单的功能,还是相当有难度, 因此总结了一下拆单功能细 ...
- Java生鲜电商平台-订单配送模块的架构与设计
Java生鲜电商平台-订单配送模块的架构与设计 生鲜电商系统最终的目的还是用户下单支付购买, 所以订单管理系统是电商系统中最为复杂的系统,其作为中枢决定着整个商城的运转, 本文将对于生鲜类电商平台的订 ...
- Java生鲜电商平台-电商中"再来一单"功能架构与详细设计(APP/小程序)
Java生鲜电商平台-电商中"再来一单"功能架构与详细设计(APP/小程序) 说明:在实际的业务场景中(无论是TO B还是TO C)不管是休闲食品.餐饮.水果.日用百货.母婴等高频 ...
随机推荐
- js之好看的鼠标点击-光标特效
1.光标特效 <script src="https://blog-static.cnblogs.com/files/axqa/bubbleCursor.js">< ...
- jQuery 源码分析(二十一) DOM操作模块 删除元素 详解
本节说一下DOM操作模块里的删除元素模块,该模块用于删除DOM里的某个节点,也可以理解为将该节点从DOM树中卸载掉,如果该节点有绑定事件,我们可以选择保留或删除这些事件,删除元素的接口有如下三个: e ...
- AQS(AbstractQueuedSynchronizer)解析
AbstractQueuedSynchronizer是JUC包下的一个重要的类,JUC下的关于锁相关的类(如:ReentrantLock)等大部分是以此为基础实现的.那么我们就来分析一下AQS的原理. ...
- AttributeError: 'unicode' object has no attribute 'tzinfo' 未解决
Internal Server Error: /demo/machineinfo.htmlTraceback (most recent call last): File "C:\Python ...
- JS基础语法---创建对象---三种方式创建对象:调用系统的构造函数;自定义构造函数;字面量的方式
创建对象三种方式: 调用系统的构造函数创建对象 自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象) 字面量的方式创建对象 第一种:调用系统的构造函数创建对象 //小苏举例子: //实例化对 ...
- SAP MM 无料号采购申请单中'评估价格'之填写
SAP MM 无料号采购申请单中'评估价格'之填写 1),SAP系统中,采购申请里的'评估价格'来源有二, a)如果是有物料号的采购,则该价格来自于物料主数据里里的成本价(移动平均价或者标准价),自动 ...
- XSS原理及其相应工具使用
XSS(厉害程度:只要js能实现什么功能,xss就能对client造成什么伤害): 原理:通过web站点漏洞,向客户端交付恶意脚本代码,实现对客户端的攻击目的 主要攻击目的(网页挂马:通过XSS向 ...
- [转载] Java 遍历 Map 的 5 种方式
目录 1 通过 keySet() 或 values() 方法遍历 2 通过 keySet 的 get(key) 获取值 3 通过 entrySet 遍历 4 通过迭代器 Iterator 遍历 5 通 ...
- [PHP] 循环查看php-fpm的内存占用情况
在webmail的业务中进行发信,如果携带了附件,会把附件拼接内嵌到邮件正文里,这时会极大的占用内存,可以使用以下命令查看fpm的进程内存占用 ps --no-headers --sort -rss ...
- python3 邮件方式发送测试报告
以邮件方式发送测试报告 import smtplib from email.mime.text import MIMEText class SendEmail: """邮 ...