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)不管是休闲食品.餐饮.水果.日用百货.母婴等高频 ...
随机推荐
- 软件文档写作-plantuml画用例图和时序图
背景 当下的软件开发人员,不可避免的需要输出一些软件设计文档,作为一个软件工程专业毕业的工程师,最常用的设计工具就是UML,使用UML工具绘制一些软件相关的图,是必备技能,也是输出的技术文档中的重要组 ...
- MongoDB自学------(4)MongoDB主从搭建
MongoDB复制原理 mongodb的复制至少需要两个节点.其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据. mongodb各个节点常见的搭配方式为:一主一从.一主多 ...
- ASP.NET MVC5基础-控制器(Controller)详解
在上文ASP.NET MVC5基础 – MVC文件架构中我们简单了解了下控制器Controller的作用,本文我将详细介绍控制器Controller的使用方法. Controller的运行过程 上文我 ...
- (转)python中用logging实现日志滚动和过期日志删除
转自:https://blog.csdn.net/ashi198866/article/details/46725813 logging库提供了两个可以用于日志滚动的class(可以参考https:/ ...
- goweb-mysql连接
操作 数据库 Go 语言中的 database/sql 包定义了对数据库的一系列操作.database/sql/driver 包定义了应被数据库驱动实现的接口,这些接口会被 sql 包使用.但是 Go ...
- ES6-数字操作,判断是否是整数,判断最大值最小值
S中只有一种类型数,即64位(1bit 的符号位,11bits 的指数部分 ,以及52bits 的小数部分)双精度浮点数,当整数数值过大时,就会发生精度丢失. 所谓安全整数即能够唯一确定的数字,即能够 ...
- TOMCAT 8.5 配置优化以及JVM配置(windows server)
下载官方的tomcat,我这里用的是TOMCAT 8.5.46,然后解压出来,解压后的目录如下图 一.server.xml配置优化 进入conf目录,打开server.xml 文件 1. 找到 < ...
- java 读取 excel 表格内容
一.添加依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</ar ...
- Linux下使用 github+hexo 搭建个人博客01-hexo搭建
为什么要搭建自己的博客系统? 原因有好几个吧,归类如下:1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第三 ...
- Linux CentOS 6.5 卸载、安装JDK1.8
卸载系统自带的jdk 1. 查询系统是否已经安装了jdk rpm -qa|grep java 2. 卸载已安装的jdk, 系统可能会自带多个jdk版本, 按需卸载 rpm -e --nodeps ja ...