メインコンテンツへスキップ
保留中のワンタイム注文をキャンセルします。pending ステータスの注文のみキャンセル可能です。
POST /v1/actions/onetime-order/cancel-order
認証: Session Token — Customer Endpoints を参照(customer または buyer ロール)

キャンセル動作

現在のステータスアクション結果ステータス
pending即時キャンセルcanceled
completed拒否変更なし(終端状態)
canceled拒否変更なし(終端状態)
  • pending: 注文は即時キャンセルされ、ステータスは canceled になります
  • 基盤の PSP checkout session は自動的に期限切れになり、PSP キャンセル API を別途呼び出す必要はありません
  • completedcanceled は終端状態で、再度キャンセルすることはできません

リクエストボディ

フィールド必須説明
orderIdstringYesワンタイム注文 ID(Short ID フォーマット ORD_xxx

リクエスト例

import { WaffoPancake } from "@waffo/pancake-ts";

const client = new WaffoPancake({
  sessionToken: window.WAFFO_SESSION_TOKEN, // マーチャントのポータルから注入
  environment: "prod",
});

const result = await client.orders.cancelOnetime({
  orderId: "ORD_2aUyqjCzEIiEcYMKj7TZtw",
});

console.log(result.orderId); // "ORD_2aUyqjCzEIiEcYMKj7TZtw"
console.log(result.status);  // "canceled"

成功レスポンス (200)

{
  "data": {
    "orderId": "ORD_2aUyqjCzEIiEcYMKj7TZtw",
    "status": "canceled"
  }
}

レスポンスフィールド

フィールド説明
orderIdstring注文 ID(Short ID)
statusstring新しい注文ステータス(成功時は常に canceled

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
ステータスerrors[0].message意味推奨処理
400Missing required field: orderIdリクエストボディに orderId が含まれていないリクエストボディを修正してから再送信
400Expected format: ORD_xxx, got "..."orderId Short ID のデコード失敗orderId のフォーマットを修正してから再送信
400Order cannot be canceled, current status: X注文ステータスが pending ではない(completedcanceled など)注文はキャンセル不可
401Authentication failedSession token が無効、期限切れ、または不正な形式Issue Session Token で再発行
403Order does not belong to user所有権チェック失敗呼び出し元が注文を所有しているか確認
404Order not found注文が存在しないorder ID を確認
500Internal server errorサーバ側の予期しない障害指数バックオフでリトライ(5s 開始、最大 3 回)