03 · 交易核心

服务端掌握最终成交事实

价格、优惠、运费、税费、库存与支付结果必须由后端核算,浏览器只提交用户选择。

Checkout Quote

商城把购物车、地址和配送选择提交到 /checkout/quote。后端重新读取商品与 SKU 数据,返回权威金额和库存可用性。

  • 商品与变体当前售价
  • SKU 与地点库存
  • 优惠资格与折扣
  • 配送方式、税费、币种和应付总额

创建订单

订单接口只接受购物车、地址和支付意图等输入。创建前再次 quote,并在数据库事务中锁定库存和写入订单金额。

客户端提交的 discount、shipping_fee 或 total 不能作为入账依据。

支付与 Webhook

  • 浏览器支付结果不能直接把订单改为已支付
  • Webhook 允许无登录访问,但必须验签
  • 使用支付事件 ID 做幂等
  • 记录失败原因并支持安全重试

库存与履约

库存以 SKU + location 为维度,区分可售、已承诺和实际库存。发货、取消与退款通过库存流水回溯。