文档 / 子平台 API

电商与支付

电商平台(commerce)

产品模型分两层:SPU(产品)SKU(规格库存)

创建产品

POST /commerce/v1/commerce/products
{
  "code": "dm7",
  "name": "DM7 平头塞",
  "name_json": { "en": "DM7", "cn": "DM7" },
  "summary": "旗舰平头塞",
  "price": 129900,                    # 金额一律 int64 分
  "currency": "CNY",
  "status": "active",
  "images": [{ "url": "https://..." }],
  "params": { "driver": "14.8mm", "impedance": "32Ω" }
}

SKU 与库存

POST /commerce/v1/commerce/products/{id}/skus
{ "spec": { "color": "黑金" }, "price": 129900, "stock": 50 }

# 库存扣减(事务条件更新,防超卖)
POST /commerce/v1/commerce/stock/deduct

产品列表

GET /commerce/v1/commerce/products?status=active&page_size=12&category_slug=flathead&sort=price_asc
GET /commerce/v1/commerce/products/by-slug/{slug}

支付平台(pay)

创建订单

POST /pay/v1/orders
{
  "appid": "app-xxxx",
  "channel": "alipay|wechat|stripe",
  "amount": 100,                      # 分
  "subject": "积分充值 100",
  "metadata": { "user_id": "..." }
}

Webhook

支付结果通过 POST /v1/pay/webhook/{channel}(公开路径)回调,平台校验签名后发 order.paid 事件;电商平台订阅事件自动置订单已支付。

金额与精度铁律

  • 金额一律 int64 分,禁止浮点;
  • 库存扣减/回补在事务内条件更新(WHERE stock >= ?);
  • 写操作幂等(Idempotency-Key),防止重复下单。