Skip to main content
Payout は独自のエラーコード群を返します。プレフィックスは決済のものと似ており、いくつかのコードは重複していますが、意味は同じではありません。Payout のレスポンスを処理する際は、決済のエラーコードではなくこの表を読んでください。各リクエストフィールドに何を入れるべきかはPayout リクエストフィールドガイドを参照してください。

プレフィックスは何を意味しますか?

Payout のコード一覧

A — 加盟店とリクエスト

Payout に A0014 はありません。 金額、通貨、受取人口座がすべて元と一致する重複作成は、専用の冪等性コードではなく、元の注文のデータとともに通常の成功コードを返します。特別なコードを探すのではなく、返された payoutOrderId をすでに保持しているものと比較して検出してください。

B — 受取人

ここでの「User」は受取人を指します。貴社のプラットフォームのユーザーでも、貴社自身でもありません。 これは Payout のコード群で最も誤読されやすい部分です。B0001 や B0003 は、貴社が指定した受取口座についてのメッセージであり(閉鎖されたウォレット、誤った口座番号、そもそも存在しない口座など)、対処は受取人の情報または受取人自身にあり、貴社の加盟店設定ではありません。 B0004 は名義または口座の不一致が現れるコードです。照合ルールはPayout リクエストフィールドガイドにあります。

C — Waffo と送金経路

C0002 は C プレフィックスと 500 のためシステムエラーのように見えますが、設定の問題です。リクエストに一致する Payout 契約がない、または一致した取り決めに手数料が定義されていません。リクエストボディを変えても解決しません。Portal の Service → Payout で、その国、通貨ペア、決済手段をカバーする有効な契約を確認し、契約があるのに Payout が失敗し続ける場合は Waffo に連絡してください。

D と E

そのまま再試行できるコードと、リクエストの変更が必要なコードはどれですか?

送信時に再試行可能と分類されているのは、ちょうど 4 つのコードです。 それ以外はすべて、変更しない限り Payout は成功しないことを意味します。この 4 つは同じ payoutRequestId で再試行してください。それが冪等性の目的であり、2 件目の Payout を作らない唯一の方法です。バックオフを置いて再試行し、試行の合間に照会してください。 それ以外の分類は次のとおりです。

A0003 で検証に失敗したと言われました。どのフィールドか分かりますか?

はい。A0003 は詳細を含む唯一の Payout コードです。そのメッセージは、汎用のテキストの後に括弧で具体的な内容が続く形で返されます。
詳細はフィールドパスをキーとしており(payeeInfo.payeeBirthDay、payoutInfo.payoutMethodName、payoutAmount など)、複数のフィールドが現れることもあります。他のコードは標準のメッセージしか返さないため、A0003 以外から詳細が返ることを期待するパース処理を作らないでください。

A0008 が返りました。1 件の Payout が大きすぎるのですか、それとも枠を使い切ったのですか?

Payout における A0008 は、1 件あたりの Payout 金額がそのコリドーで許可された範囲の外にあること、つまり最小値未満か最大値超過であることを指します。両方の境界は貴社の Payout 契約に由来し、Portal の Service → Payout ページに資金供給通貨で Minimum Amount と Maximum Amount として表示されます。使用している国、通貨ペア、決済手段の行と金額を照合してください。 他の 2 つは別のコードであり、それが見分け方になります。 残高不足は A0008 ではなく A0012 です。どの口座から引き落とされるかはPayout ウォレットと残高のカバーを参照してください。

A0010「Operation not allowed in merchant contract」は実際には何を意味しますか?

依頼した Payout が、貴社の有効な Payout の取り決めでカバーされていないということです。確認する価値のある順に、よくある原因は次のとおりです。
  1. その組み合わせの契約がない。 国、通貨ペア、決済手段の種別、決済手段のすべてが Service → Payout の 1 行に一致している必要があります。
  2. 契約が Active でない。 取引できるのは Active のみで、Initial、Suspended、Terminated ではできません。
  3. 契約が失効している。 Validity Period には終了日があり、それを過ぎると契約は取引を停止します。
  4. payeeType が取り決めの受け付けるものではない。 取り決めは個人向け、法人向け、または両方向けのことがあります。
  5. productName が貴社の持つものではない。 認識されないプロダクトはフィールドに対して A0003 で拒否されます。保有しているがそのコリドーで契約していないプロダクトはここに該当します。
リクエストボディでこれらのいずれも解決できません。まずリクエストを Service → Payout の行と比較し、その後 Waffo に連絡してください。

Payout の契約に有効期限はありますか?有効期限はどこで確認できますか?

はい。Service → Payout の各行には、開始と終了を持つ Validity Period と Status があります。契約が終了日を過ぎたコリドーの Payout は、専用の失効コードではなく A0010 / C0002 のファミリーで拒否されるため、以前は動いていたコリドーが止まったときに確認すべきフィールドは Validity Period です。失効する前に見直してください。更新は Portal の操作ではなく、契約上の相談事項です。

A0006「Merchant status abnormal」— 当社は停止されたのですか?

A0006 は、この Payout に対して貴社の加盟店アカウントが使用可能なものとして解決できなかったことを意味します。送信した ID でアカウントが見つからなかったか、そのステータスが取引を許可するものではなかったかのいずれかです。これは Payout 固有のものではなく、理由については何も示しません。まずリクエスト内の merchantInfo.merchantId を確認してください。誤った ID や打ち間違いでも同じコードが返ります。その後 Waffo に連絡してください。レスポンスは意図的に理由を含んでいません。

作成呼び出しがタイムアウトして、成功したかどうか分かりません。再試行すべきですか、照会すべきですか?

照会してください。 レスポンスを受け取れなかった作成は、成功している可能性があります。payoutRequestId を指定して /api/v1/payout/inquiry を呼び出してください。 作成の再送も安全です。payoutRequestId は冪等であるため、同一内容の再送は 2 件目の Payout を作るのではなく元の注文を返します。安全でないのは、タイムアウト後に同じ Payout を新しい payoutRequestId で送ることです。それが Payout の重複を生む原因です。

リスク上の理由で拒否された Payout に異議を申し立てられますか?

D0001 は理由なしで返され、レスポンスには対処できる情報が含まれないため、リクエストで修正すべきものはありません。payoutRequestId と受取人の情報を添えて Waffo に連絡してください。個別の判断を見直せるかどうかは Waffo 側の判断であり、リクエストのパラメータではありません。
位置づけの分からないコードや、このページと挙動が一致しないコードがありますか?payoutRequestId、あれば payoutOrderId、そして正確なコードとメッセージを添えてサポートにお問い合わせください。