多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 下单与支付 :-: ![](https://p1.pstatp.com/weili/ms/258075840340033820.webp) :-: ![](https://p1.pstatp.com/weili/ms/131653280370663015.webp) 订单和支付 * * * * * ### 两种方案 #### 两个分开事务过程 通常是创建订单,再支付,这适用于在线支付(第三方在线支付),可以先创建订单,可以此后再选择订单去支付。 * * * * * #### 同一个事务内 另一种直接扣余额的订单(不支持第三方在线支付),其实可以创建订单和支付用一步就可以,订单生成就意味着支付了,只有成功支付才会生成订单,下单和支付放在一个事物内了。 * * * * * ### 订单与支付 一般情况下,请求一次支付会创建一个订单,如果没支付的订单就不显示而已,这是为了,让创建订单和支付像是一步一样,简化了流程,其实实际情况不是用户感知到这样的,只不过没支付的订单,没必要显示给用户而已,用户感知不到会创建订单,比如充值,购买会员等,用户感知不到这些操作会创建订单,但实际上是创建了订单的,这和商品订单有所不同。但是有时创建订单和支付也可以一步完成,比如只规定使用余额支付的订单,就可以创建订单和支付为一步原子操作。 * * * * * ### 重复支付问题 ![](http://cdn.aipin100.cn/d2658c13eebcba1dd4b01246a841dae2) ![](http://cdn.aipin100.cn/ad7ac8efb941a1a568a7e94bf44eb2de) > 预定类型,预定成功的第一个订单,目前这样的话,订单类型不应该是创建时生成,除非采用预加锁的方式,而不是支付回执成功后才加锁 ---- last update:2018-3-10 22:51:36