{
  "data_tables": [
    "plans",
    "checkout_sessions",
    "orders",
    "payments",
    "subscriptions",
    "webhook_events",
    "order_state_transitions"
  ],
  "endpoints": {
    "GET /api/billing/plans": "list planned packages; no checkout enabled",
    "GET /api/billing/status": "billing/subscription/license/download status skeleton",
    "POST /api/billing/checkout": "dry-run checkout request; no provider session",
    "POST /api/billing/webhook": "test-mode-only webhook skeleton; no persistence"
  },
  "marker": "WEBSITE_F3_PAYMENT_ADAPTER_SKELETON_1780389960",
  "order_state_machine": {
    "meaning_zh": "订单状态机就是一张订单从创建到支付成功/失败/退款的状态轨道。它保证我们不会因为用户跳转页面成功就误认为已付款，必须等支付平台 webhook 服务端确认。",
    "states": [
      "draft",
      "checkout_created",
      "payment_pending",
      "payment_succeeded",
      "subscription_active",
      "payment_failed",
      "cancelled",
      "refunded",
      "chargeback"
    ],
    "unlock_rules": {
      "download": "only after subscription_active",
      "license": "only after subscription_active",
      "trading_authority": "never from payment state"
    }
  },
  "provider_selected": false,
  "provider_test_mode_required": true,
  "real_payment_enabled": false,
  "schema_version": "website_f3.payment_adapter_contract.v1",
  "security_boundaries": [
    "no real charge",
    "no frontend-only paid state",
    "webhook must be verified before state transition",
    "idempotency required",
    "no public installer unlock",
    "no license issuance in WEBSITE-F3"
  ],
  "stage": "subscription_payment_adapter_skeleton"
}
