这篇改成只讲网站侧的“首单建合同”链路,不再和续费主线混写。
购物车先决定你卖的到底是不是订阅
_cart_add() 会校验 plan_id,禁止同单混入不同 recurring plan;_verify_cart_after_update() 又会在订阅行被删空后清理 plan。
组合信息决定前台能不能继续下单
_get_additionnal_combination_info() 和变体控制器会告诉前端:当前组合是否存在可用周期、是否允许 one-time fallback、是否还能加入购物车。
地址不是可选项,而是税务前提
只要订单带 plan_id,_needs_customer_address() 就会要求地址,因为 recurring 单后面要持续沿用 fiscal position 和 partner 上下文。
支付方式为什么要提前考虑 token 化
订阅 payment provider / token 逻辑会判断是否需要 tokenization。首单阶段看似只是付款,实际上已经在为后续自动扣款预铺轨道。
DISCUSSION
评论区