在电商业务中,商品的交付都是围绕订单号来进行的。交易的基础流程包括建立订单、支付订单、交付订单、签收订单。code
基于订单,咱们能够作不少事情。好比,创建一条交易的数据总线,按期核对商品的交付状况,以此保证数据的最终一致性。再好比,经过订单号,将各个子系统中的请求串起来,扮演traceId
的做用,等等。电商
客户端要购买商品,存在两种程序上的交互方式:后台
第一种、基础
第二种、请求
两种方式的本质区别在于:交易的过程,客户端是否须要感知订单号的存在程序
拿苹果手机的IAP
支付举例,通俗的讲,就是在APP
内支付。简单介绍一下苹果支付的基础流程:支付
苹果服务
后台建立商品,建立的商品须要和咱们服务端
实际的商品作对应。客户端
和苹果服务
交互,完成用户扣款客户端
获取苹果服务
返回的扣费凭据,提交给咱们的服务端
咱们的服务端
请求苹果服务
,验证凭据的有效性,决定是否给用户交付商品在这个流程中,订单号应该在步骤2以前建立,仍是在步骤4建立呢?若是在步骤4建立,在用户行为上,就缺失了用户尝试支付的订单数据,数据表中也只存在用户成功发起支付的订单。数据