Create Order
创建订单(下单入口),只落 pending 单,不涉及任何实际收款。
已登录则关联 user_id,未登录(匿名)也能下单,此时 user_id 为空。 Price comes from the plans table.
价格与计费方式一律以后端 plans 表为准,前端传来的 plan_type/plan_name 只用来定位套餐, 杜绝篡改价格。
主流程:
- 按 plan_type + plan_name 查启用中的套餐,查不到即拒(40007);
- 解析套餐 features(展示用快照);
- 决定计费方式与成交价:订阅单且订阅价 > 0 用 subscription_price,否则用 price;
- 0 元单一律降级成一次性(不得成为订阅);
- api 类型的免费套餐不允许下单(注册时已赠送,兼容旧前端);
- 登录用户领 0 元试用:先过风控 deny_free_trial,再加行锁做重复领取检查;
- 登录用户买付费订阅:加行锁做重复下单检查;
- 落一张 pending 单,expires_at = 现在 + ORDER_PENDING_TIMEOUT_MINUTES。
返回:success(data={order_id, order_no, status});各类重复/非法下单返回带 sub_code 的 error。 副作用:写库(orders、风控事件/画像);锁行会占用数据库连接直到事务结束。
并发说明:查询与插入之间不是原子的,靠 _for_update 锁住 users 行把同一用户的 下单流程串行化;匿名(user_id 为空)路径拿不到任何锁,因此不享受这层保护。
post/auth/order
Request
- Base URL: https://api.twtapi.com (the document declares no server; this is the origin it was published from)
- URL: https://api.twtapi.com/auth/order
- Auth: none declared
Query parameters
langstring
Request body
Response
Successful Response
unknown required
Changes
No recorded changes to this operation across all 2 revisions of this API.