Skip to main content
返金エンドポイントにより、マーチャントは成功済みの支払いに対して返金を発行できます。返金は 返金チケット(リクエスト)と 返金レコード(PSP 確認後に書き込まれる実行結果)の 2 つのモデルで構成されます。

ビジネスルール

  • 返金は元の支払い成功から 14 日以内 にリクエストする必要があります
  • 返金額は 部分返金> 0 かつ ≤ payment.amount)が可能ですが、支払いと同じ通貨を使用する必要があります
  • 元の支払いが PSP によって完全に確定済みである必要があります — payment webhook 到着直後の返金呼び出しは一時的に失敗することがあります。数秒後にリトライしてください
  • pending または succeeded の返金がすでに存在する支払いに対しては別の返金チケットを作成できません
  • マーチャントがサーバーサイドの API Key で返金を送信すると、チケットは自動承認され直接 processing に遷移します — 手動レビューはありません

返金チケットステータス値

マーチャント発起の返金は pendingapprovedスキップし、作成直後に processing として表示されます。

ビジネス側識別子 — ビジネスレコードを紐付ける

2 つの作成エンドポイントで、それぞれビジネス側識別子(最大 128 文字)をオプションで付加できます。同一ペイロード上で両者が曖昧なく共存できるよう、対外的にはフラットなキー名を採用しています: エンドツーエンドの伝播(リクエストボディ、webhook ペイロード、GraphQL 型の 3 箇所で同じフラットな双 key 名を使用):
これらの識別子は冪等性キーではありません — Waffo は一意性を強制しません。同じ reference を複数のレコードに付加可能で、一意性の確保はあなたの責任です。 リクエストボディ、webhook ペイロード、GraphQL の 3 箇所で同じフィールド名を使用するため、checkout / refund-ticket 作成時に書き込んだ値をそのままの名前で読み戻せます。 これらの識別子で Payments、Refunds、Refund Tickets を GraphQL からクエリできます — GraphQL Orders & Payments ガイドを参照。

エンドポイント

返金チケットの作成

成功した支払いの返金をリクエスト。全額・部分返金に対応。

返金チケットの再送信

拒否または失敗した返金チケットを修正して再送信。
GraphQL を使用して返金チケットと実行された返金レコードを照会します。Refund では 2 つのビジネス番号をフラットフィールドで公開しています:refund.orderMerchantExternalIdrefund.refundTicketMerchantExternalId(webhook ペイロードと同名)。実行された返金を返金チケットのビジネス番号でフィルタリングするには refunds(filter: { refundTicketMerchantExternalId: ... }) を使用します。