Skip to main content
決済が失敗すると、Dodo Payments は標準化された error_code と、人が読める error_message を提供します。このガイドでは、これらのフィールドの読み取り方法、再試行するかどうかの判断方法、決済を安全に回復する方法を説明します。

Dodo Paymentsが報告する障害の方法

失敗したすべての決済では、決済オブジェクトに次のフィールドが含まれます。
error_code と error_message は、決済が失敗するまで null です。必ず最初に status を確認してください。
error_message はマーチャント向けの情報であり、不正に関連する理由が明らかになる可能性があります。顧客には決して表示しないでください。代わりに error_code を顧客向けに安全な文言へマッピングします(顧客にエラーを安全に表示する を参照)。

payment.failed Webhook

payment.failed webhook は、失敗を検出する最も信頼性の高い方法です。このイベントでは、完全な決済オブジェクトが data にラップされています。
payment.failed payload
最小限のハンドラーで error_code を読み取り、その値に基づいて処理を振り分けます。
処理する前に、必ずwebhookの署名を検証してください。署名検証や冪等性を含む完全な設定方法については、Webhooks guideを参照してください。

再試行するかどうかを判断する:Soft declineとHard decline

error_codeは、同じ支払い方法で再試行する価値があるかどうかを示します。 ディクラインの種類と推奨アクションの完全な一覧は、Transaction Failures を参照してください。

Checkout時と更新時の失敗への対応

顧客がその場にいるかどうかによって、回復方法は異なります。
顧客は現在 checkout を進めています。わかりやすいメッセージを表示し、再試行するか別のカードを使用できるようにしてください。
  • requires_payment_method — 顧客が決済手段を提供しなかったことを示します。通常、これはディクラインではなく checkout の離脱です。顧客に再度アプローチして決済を完了してもらいます(放棄カートの回復 を参照)。
  • requires_customer_action — 追加の認証(3DS など)が必要です。顧客に認証を完了してもらいます。3D Secure を参照してください。

失敗した支払いの再試行

サブスクリプション: Subscription Payment Retries を有効にすると、ソフトディクラインを自動的に回復できます。スケジュールを待たずにすぐ再試行するには、ダッシュボードまたは API から Manual Payment Retry を使用します。また、Update Payment Method API を使用して顧客に決済手段を更新してもらうことで、未払いの料金を請求し、回復を開始することもできます。 一回限りの決済: checkout または payment_link を再送信し、顧客が別の決済手段で再試行できるようにします。一回限りの決済には自動再試行はありません。
同じカードに対してハードディクラインを再試行しないでください。カードネットワークは繰り返されるディクラインを不正利用とみなすため、承認率が低下します。

顧客にエラーを安全に表示する

顧客には親しみやすいメッセージを表示し、raw の error_code やマーチャント向けの error_message は決して表示しないでください。
Dodo Payments が管理する画面(checkout、Customer Portal、督促メール)では、不正に関連するディクラインに対する汎用メッセージへのフォールバックを含め、このマッピングがすでに行われています。以下のマッピングが必要なのは、自社のプロダクトで失敗を表示する場合のみです。
Customer-facing messaging
STOLEN_CARD、LOST_CARD、PICKUP_CARD、または FRAUDULENT の実際の理由を決して明らかにしないでください。これらを表示すると、不正行為者に手がかりを与える可能性があります。汎用的なディクラインメッセージを表示し、具体的な error_code は内部でのみログに記録してください。

関連情報

Transaction Failures

すべてのディクラインコード、その種類、推奨アクション。

Error Codes

カードのディクラインではない API およびビジネスロジックのエラー。

Subscription Payment Retries

サブスクリプション更新時のソフトディクラインを自動的に回復します。

Subscription Dunning

ハードディクラインを回復するメールシーケンス。

Payment Webhooks

決済イベントの完全な payload スキーマ。

Testing Failures

ディクラインと更新失敗をシミュレートするテストカード。
最終更新日 2026年9月26日