Pending 訂單建立或重新整理支付工作階段。支付動作會存取支付管道並可能改變訂單狀態,呼叫前必須確認訂單 ID、金額和支付方式。
介面概覽
匿名支付的邊界
匿名存取用於開啟複製的支付連結後登入狀態遺失的情境,不需要也不應攜帶長期 Account Token。匿名呼叫:- 僅允許伺服器設定的託管跳轉支付方式;
- 固定使用桌面支付頁面;
- 不能領取零價訂單;
- 受 IP 和單一訂單限流;
- 傳回最小訂單投影,不包含帳戶、Application 或內部 metadata。
請求範例
pay_way 使用訂單模型支援的真實值,例如 WechatPay、AliPay、Stripe、Card、Airwallex、X402、PayPal、AppleIAP、Reward、BankTransfer。並非每個值都對匿名請求或每個站點開放。
回應說明
成功回應是更新後的訂單物件,通常透過pay_url 提供下一步入口;不同支付方式還可能在受控欄位中傳回用戶端繼續支付所需的資訊。匿名回應使用最小欄位白名單,已驗證的擁有者取得完整詳情。
不要依賴 payment_url、qr_code_url 或 payment_method 等舊欄位名稱;目前 Order 契約使用 pay_url 和 pay_way。
iOS 內購
已登入的訂單擁有者可傳入pay_way: "AppleIAP"。此請求依所選套餐的 metadata.apple_price 更新待付款訂單並清除折扣,不產生扣款、不發放點數,也不傳回支付連結。舊待付款訂單應先完成這一步,再發起 Apple 原生付款。僅支援一個已設定 Apple 商品和價格的 Usage 套餐;不支援的套餐或批次訂單傳回 400。
Apple 原生付款後透過 /api/v1/orders/{id}/apple-verify/ 提交 transaction_id 完成伺服器端驗證和點數發放。點數數量來自套餐;金額使用 Apple 獨立美元預設價格,不疊加會員折扣或站點加價,其他地區的本幣扣款金額以 Apple 確認頁為準。
錯誤與重試
- 訂單不是
Pending:傳回400;不要重複建立支付工作階段。 - 未提供
pay_way:非零金額訂單傳回400。 - 匿名呼叫使用了不允許的方式或零價訂單:傳回
403,登入後由擁有者重試。 - 已驗證但不是訂單擁有者:傳回
403。 - 支付管道失敗:不要盲目重複提交;先查詢訂單詳情,確認仍是
Pending後再重試。

