同じ返金リクエストがある決済手段では成功し、別の決済手段では失敗するのはなぜですか?
各決済手段が独自の返金ルールを持ち、Waffo はそれを緩和しないからです。API のインターフェースはすべての決済手段で 同一で、異なるのはその決済手段がどのリクエストを受け付けるかです。 下の表は、私たちが観察する動作を決済手段カテゴリ別にまとめたものです。特定の決済手段の参照表ではなく、 設計上考慮すべきばらつきの形として扱ってください。貴社アカウントで有効な決済手段の正確なルールは、 貴社の決済手段設定の一部です。
設計上考慮する価値のある 3 つの結論:
- 「この決済手段は一部返金をサポートする」と自社コードにハードコードしないでください。返金を送信し、拒否を処理してください。
- アカウント上のある決済手段が何かをサポートしているからといって、別の決済手段もサポートしていると仮定しないでください。
- Waffo が受理した返金でも、最終的に失敗状態で終わることがあります。
有効化したすべての決済手段で一部返金は利用できますか?
いいえ。一部返金は、特定の決済手段で利用可能であり、かつ貴社アカウントで有効化されている必要がある能力です。 Service → Payin 行のRefundable 列がそれです。行が全額返金のみを許可している場合、一部返金リクエストは A0014
(「Order cannot be refunded due to refund rules」)で拒否され、同じ注文の全額返金は成功します。行が 1 回の一部返金を
許可し、2 回目を要求した場合も同じコードが返されます。
A0017(「Order cannot be refunded due to payment channel not supported」)は別の失敗です。決済手段自体が返金を
まったく扱えないため、一部返金も全額返金もその決済手段では通りません。
決済手段が複数の動作をとりうる場合、最も制限的な選択肢が適用されます。実際には:
- ある決済手段が貴社アカウントでは全額返金しかできない場合、その決済手段が他所では一部返金に対応していても、 一部返金リクエストは失敗します。
- ある決済手段が貴社アカウントでは 1 回の一部返金のみを許可する場合、1 回目が成功しても 2 回目のリクエストは失敗します。
1 つの注文で何回まで返金できますか?
3 つの独立した上限が適用され、最も低いものに到達した時点で止まります。
一部の決済手段は注文あたりちょうど 1 回の一部返金から始まり、そこから引き上げることができます。回数にまったく
制限を設けない決済手段も少数あります。最も低い上限が優先されるため、拒否された 2 回目の返金がインシデントではなく
通常の分岐となるように照合を構築してください。
注文の返金に期限はありますか?
はい。起算点は常に元の注文であり、返金を決めた時点ではありません。期間は貴社アカウントの決済手段行の属性であり、 推測するのではなく 2 つの場所で確認できます。
形はカテゴリによって異なります。プリペイド電子マネーと後払いの決済手段は最も短い期間、カードはイシュアの条件の下で
最も長い期間になりがちですが、数値は決済手段ごと・アカウントごとなので、ある決済手段の期間を別の決済手段に
当てはめないでください。
期間が終了すると返金は拒否され、上書きはできません。貴社のプロダクトが長期間の返品を許可している場合は、
ポリシーを公開する前に受け付ける決済手段の返金期間を確認し、遅い返品は元の決済の外で処理してください。
注文を返金しましたが、orderStatus が変わりません。返金は成功したのですか?
はい、おそらく成功しています。返金は元の注文のステータスを変更しません。 元の注文は支払われたときに到達した
状態のままで、返金は独自のステータスを持つ別の記録であり、返金の進捗が表示されるのはそこだけです。
したがって、「注文がまだ支払済みと表示されている」ことは返金が失われた証拠ではありません。貴社の帳簿が元の注文を
キーに返金状態を管理していると、永久に止まっているように見えます。代わりに返金記録をキーにしてください。
返金を即座に再送したところ、重複として拒否されました。何か返金されましたか?
2 回目のリクエストではおそらく返金されていません。それがこの保護の目的です。2 種類のガードがあります。- 重複検出。 一部の決済手段は、同じ元取引参照かつ同じ金額を持つ 2 回目のリクエストを短時間内に拒否します。 一部返金の回数に制限を設けないウォレットでよく見られるルールです。
- 最小間隔。 一部の決済手段は、同じ注文に対する連続した返金リクエストの間に短い間隔を要求します。
- 同じ返金を再送するときは同じ
refundRequestIdを維持してください。これは冪等キーであり、リトライを無害にします。 - 同じ注文に対する本物の 2 回目の返金を連続して発行しないでください。1 回目が最終状態に達するのを待ってください。
- 試行の間は、再送するのではなく
/api/v1/refund/inquiryを呼び出してください。
ユーザーがアカウントを閉鎖または削除しました。まだ返金できますか?
常にできるわけではありません。後払い / クレジットの決済手段では、閉鎖されたユーザーアカウントは一部返金をブロックし、 閉鎖から定められた期間が経過すると返金は完全に拒否されます。全額返金は通常より長く可能です。 Waffo が閉鎖されたアカウントを迂回する方法はありません。資金は元のアカウントに戻る必要があります。この理由で返金が 拒否された場合は、他の手段でユーザーと精算してください。決済がキャプチャされる前に返金できますか?
全額のみ可能です。オーソリとキャプチャが別ステップの決済手段では:
キャプチャ自体にも期限があり、キャプチャ金額が元のオーソリ金額を超えることはありません。オーソリの一部を返す
必要がある場合は、オーソリ全体をキャプチャして差額を返金するのではなく、保持する金額をキャプチャしてください。
アカウント上のある決済手段は全額返金しかできず、別の決済手段は複数回の一部返金を受け付けるのはなぜですか?
返金能力はアカウントではなく決済手段に従うからです。1 つのアカウントに、全額返金のみのカード決済手段と、 繰り返しの一部返金を受け付けるウォレット決済手段が並ぶことは日常的です。貴社のアカウント、契約タイプ、 呼び出す API のいずれも、それを変えることはありません。 設計上の含意は具体的です。返金 UI とカスタマーサービスのスクリプトは、アカウント全体の単一ルールではなく、 注文で使用された決済手段によって駆動されるべきです。最小返金金額と最大返金金額はありますか?
最大は常に同じで、元の決済金額から、すでに返金済みまたは処理中の金額を差し引いたものです。受け取った以上を 返せる決済手段はなく、それ以上を要求するとA0003 で拒否されます。
最小は人々がつまずく実務的なものです。それはその通貨が表現できる最小の金額であり、異なる通貨間の注文では
換算後の数値が表現できる最小の金額です。そのため、貴社には非ゼロに見える返金が拒否されることがあります。
換算後の金額がゼロ以下になる場合、返金は A0014 で拒否されます。
制限、通貨、設定エラーを参照してください。
異なる通貨間の注文で有用な習慣:自社通貨での絶対額ではなく、元の注文に対する割合で返金してください。
そうすれば換算後の金額が丸めで消えるのではなく、元の決済に比例します。
返金は成功と報告されていますが、ユーザーは資金が届いていないと言っています
両方の発言が同時に真でありえます。返金の成功とは返金リクエストが正常に完了したことを意味し、資金がすでにユーザーの アカウントに着金したことを意味するものではありません。返金の精算はその成功結果に基づいて行われ、ユーザーの残高には 基づきません。 実際にはほとんどの決済手段で資金はすぐに続きますが、2 つのイベントは別であり、その間隔は Waffo の管理外です。
したがってサポートの回答は「返金は完了しています。反映の速さはユーザーの銀行またはウォレット次第です」となります。
返金が成功の最終状態になってから相当な時間が経過しても、ユーザーがまだ確認できない場合にのみ Waffo サポートに
エスカレーションしてください。その際は元の注文 ID と返金 ID を添えてください。
返金が ORDER_REFUND_FAILED で終わりました。何が起きたのですか?どうすればよいですか?
ORDER_REFUND_FAILED は最終状態です。資金は動いておらず、その返金記録で動くこともありません。カード決済で
最も一般的な原因は、Waffo がリクエストを受理した後にイシュア銀行が返金を拒否したことで、そのため失敗は
API エラーではなく非同期で届きます。
対処方法:
- 返金注文の通知または
/api/v1/refund/inquiryで理由を確認してください。 - 異なる結果を期待して同じ
refundRequestIdで再送しないでください。最終状態は再開されません。 - 拒否が金額、期間、決済手段のルールで説明できない場合は、元の注文 ID と返金 ID を添えて Waffo サポートに 提起してください。貴社の管理外の理由で失敗した返金は個別に対応されます。
- カードにまったく入金できない場合は、別の経路でユーザーと精算してください。
これらの制限のどれが私に適用されますか?どこで確認できますか?
送信前に読み取れる単一の「返金能力」フィールドはありません。頼りにできるもの:- Merchant Portal → PayIn ページには、貴社アカウントで有効な決済手段が、その通貨と金額制限とともに一覧表示されます。
/api/v1/paymethodconfig/inquiryは同じ設定をプログラムで返します。- 特定のリクエストに対する返金 API の拒否が正式な答えです。
A0014は契約の返金ルールが許可しないこと (形態、回数、期間、または換算後にゼロに丸まる金額)、A0017は決済手段が返金をまったく扱えないこと、A0027はプラットフォームの回数上限に達したこと、A0003は金額が残額を超えているか、必須の返金フィールドが 欠けており、それがレスポンスに列挙されていることを意味します。