Skip to main content

概要

支払いの試行が失敗すると、Dodo Payments は理由を示す標準化された失敗コードを返します。コードは支払い方法や決済処理業者にかかわらず同じなので、1 セットの処理ルールですべての失敗した支払いに対応できます。 payment.failed webhook と payment object では、失敗した支払いについて次のフィールドを確認できます。
  • error_code: 下の表に記載されている標準化された失敗コード。
  • error_message: あなた(merchant)向けに書かれた説明。error_code が下記の標準化コードのいずれかである場合、これは見出しと推奨アクションであり、決済処理業者から返された生のテキストではありません。
  • retry_attempt: 元の請求では 0、スケジュールされたサブスクリプション更新の各再試行では 1 以上。サブスクリプション更新以外の支払いでは、値は 0 のままです。
これらのコードを使用して、顧客に明確なフィードバックを提供し、再試行が成功する可能性を判断し、より多くの収益を回収してください。

マーチャント向けの文言と顧客向けの文言

各標準化された失敗コードには、あなた向けと顧客向けの 2 つのメッセージが対応します。
Customer Portal は error_message に顧客向けの文言を返し、merchant API は同じ支払いについて merchant 向けの文言を返します。error_code はどちらも同じです。

Handle Payment Failures

webhook と API からこれらのコードを読み取り、顧客に表示し、再試行するタイミングを判断するための、開発者向けステップバイステップガイドです。

ソフトディクラインとハードディクライン

各失敗コードは、ソフトディクラインまたはハードディクラインのいずれかです。この種類によって、同じ支払い情報で後から再試行すれば成功する可能性があるか、または顧客が先に対応する必要があるかが分かります。 サブスクリプション更新では、Dodo Payments がこの分類を自動的に適用します。Subscription Payment Retries はソフトディクラインを再試行します。ハードディクラインが発生すると再試行チェーンは直ちに終了します。Subscription Dunning で回収してください。
STOLEN_CARD、LOST_CARD、PICKUP_CARD、または FRAUDULENT の実際の理由を顧客に決して開示しないでください。 これらの理由を開示すると、不正行為者に手がかりを与える可能性があります。顧客には一般的なディクラインメッセージ(例: “カードが拒否されました。銀行に問い合わせるか、別のカードをお使いください。“)を表示し、具体的なコードは社内でのみ記録してください。Dodo Payments は、自社が管理する画面やメールにこのルールを適用します。これら 4 つのコードでは、checkout、Customer Portal、dunning email に一般的なディクラインメッセージが表示され、merchant 向けの文言には実際の理由が保持されます。merchant API から顧客に error_message を表示する場合も、同じルールを適用してください。

取引の失敗理由

次の表には、すべての失敗コードについて、ディクラインの種類、顧客が解決できるかどうか、説明、推奨アクションを記載しています。
User Error は、顧客がディクラインを解決できるかどうかを示します。Yes は、正しいカード情報を入力するなど、顧客が問題を解決できることを意味します。No は、システムレベルの問題または銀行の制限が原因でディクラインが発生しており、顧客が直接解決できないことを意味します。
発行銀行は、加盟店や取引の詳細に関係なく、独自のリスクエンジンによってカード保有者が高リスクと判定された場合にも、カードを拒否することがあります。このような拒否は通常、DO_NOT_HONOR、GENERIC_DECLINE、CARD_DECLINED、TRANSACTION_NOT_APPROVED、または FRAUDULENT のような汎用コードとして表示されます。銀行は具体的な理由を共有しないため、Dodo Paymentsも加盟店もこの判断を覆すことはできません。問題のフラグを解消するために顧客から銀行へ連絡してもらうか、別のカードまたは支払い方法を使用してもらってください。

プログラムでの失敗処理

payment.failed webhook または payment object から error_code を読み取り、表の推奨アクションに対応付けて、再試行するかどうかを判断します。サブスクリプション更新では、Dodo Payments がソフトディクラインを代わりに再試行します。Subscription Payment Retries を参照してください。 カードのディクラインではない API およびビジネスロジックのエラー(PAYMENT_NOT_SUCCEEDED や REFUND_WINDOW_EXPIRED など)については、Error Codes リファレンスを参照してください。

関連情報

Handle Payment Failures

失敗した決済の検出、表示、再試行をエンドツーエンドで解説するガイドです。

Error Codes

ディクライン以外の失敗に関する API およびビジネスロジックのエラーコードです。

Subscription Payment Retries

サブスクリプション更新時のソフトディクラインを回復する自動再試行です。

Subscription Dunning

決済手段の更新を促してハードディクラインを回復するメールシーケンスです。

サポート

トランザクションの失敗または integration の問題について詳しいサポートが必要な場合は、support@dodopayments.com のサポートチームにお問い合わせください。
最終更新日 2026年9月26日