メインコンテンツへスキップ

はじめに & アカウント設定

A: ダッシュボードにアクセスし、ウェルカムメールに記載されたログイン用のメールアドレスとパスワードを入力してください。問題が発生した場合は、サポートチームにお問い合わせください。
A: 検証に必要な書類には、有効な政府発行のID(本人確認用)と、事業登録書類(事業確認用)が含まれます。詳細については、検証プロセスページを確認してください。
A: 検証が拒否された場合、拒否理由を記載したメールが届きます。問題を解決し、書類を修正して再申請するために、サポートチームに連絡できます。必要に応じて、再提出オプションは検証チームによって有効にされます。
A: 検証プロセスには通常、24〜72営業時間かかります。ただし、追加の書類が必要な場合、プロセスが長引くことがあります。
A: 私たちは、あなたが販売している製品の種類を理解し、ライブアクセスのためにビジネスを確認するためにウェブサイトが必要です。ウェブサイトがない場合や、構築中の場合は、[email protected]までご連絡ください。
A: はい、未登録のビジネスもサポートしています。Dodo Paymentsを使用するために登録されたビジネスは必要ありません。個人としてオンボードし、国際的な支払いを問題なく受け取ることができます。ただし、未登録のビジネスとして、本人確認書類とビジネス確認書類を提出する必要があります。
A: いいえ、1つのアカウントで複数のビジネスを管理できます。新しいビジネスを追加するには、ダッシュボードの左下隅にある+アイコンをクリックし、「ビジネスを追加」オプションを選択してください。 /miscellaneous/accounts#managing-multiple-businessesの詳細を参照できます。
A: いいえ、待つ必要はありません。テストモードを使用して統合を開始でき、検証が成功したら、本番環境でライブ支払いを開始できます。テストモードとライブモードの詳細については、 /miscellaneous/test-mode-vs-live-modeを参照してください。
A: 設定タブに本人確認およびビジネス確認書類を提出したことを確認してください。すでに提出していて72時間以上経過している場合は、同じページで保留の理由を確認し、サポートチームに連絡してください。
A: 現在、将来のコンプライアンスのために記録を維持する必要があるため、製品や顧客を削除することはできません。現在、アクティブな製品セクションから製品を削除できるアーカイブ製品機能に取り組んでいます。
A: 支払いページにビジネスのロゴとビジネス名を追加できます。アップロードするには、ダッシュボードのビジネスプロフィールページにアクセスしてください。
A: はい。次の手順を実行できます。
  • ダッシュボード → 設定 → ビジネス設定に移動します。
  • ロゴ、ブランド名、サポートメールを更新します。
  • 変更は静的リンクと動的リンクの両方に反映されます。
A: いいえ。ホストされたチェックアウトフローは、iframeへの埋め込みをサポートしていません。代わりに:
A: いいえ。製品はDodo Paymentsシステムで必須です。
A: いいえ、eコマースウェブサイトはサポートしていません。
A: はい、製品のブランド間を切り替えることができます。ダッシュボードで製品を作成または編集する際に、希望のブランドを選択できます。
A: いいえ、Dodo Paymentsでは現在次のことをサポートしていません。
  • ブランドの削除:ブランドが使用されていない場合は、無視するだけで大丈夫です — アカウントや操作に影響はありません。
  • ブランドURLの変更または更新:作成後、ブランドURLは変更できません。URLが間違っていても、設定や機能には影響しません。
A: いいえ、Dodo Paymentsは現在物理商品をサポートしておらず、Shopifyプラグインも提供していません。

検証、税金 & コンプライアンス

A: Dodo Paymentsは通常、検証を処理するのに24〜72営業時間かかります。ただし、遅延が発生する可能性があります。理由は以下の通りです。
  • 高い申請数
  • 週末や祝日
  • 不完全または不正確な提出
  • リスクまたはコンプライアンスのための手動レビュー
72時間以上経過している場合は、必要なアクションがあるかどうかをメールまたはDodo Paymentsダッシュボードで確認してください。フォローアップのために、Discordで登録メールをチームにDMすることもできます。
A: 次のような適切なPDFエディタを使用してください。
  • Adobe Acrobat
  • Mac Preview(ほとんどのものに対応)
  • SmallpdfまたはPDFescape(オンラインエディタ)
署名にクロスマークがある場合は、次のことを確認してください。
  • 署名を適用した後にファイルを保存していますか?
  • ツールが署名レイヤーをフラット化していますか(いくつかのエディタではそうでない場合があります)。
ブラウザのプレビューで署名しないでください — デジタル署名が正しく埋め込まれないことがあります。
A: 誤ったエンティティタイプ(例:「組織」を選択したが、個人またはGSTを持つ個人事業主である場合)を選択した場合、検証が保留中になる可能性があり、書類を変更または更新する必要があります。修正手順: ステップ1: IntercomまたはDiscordを通じてサポートに通知し、Payout Complianceフォームの再提出を有効にする手助けを受けます。 ステップ2: 正しい登録タイプを選択し、必要な書類を再提出します。
A: 検証がエンティティの不一致(例:「組織」を選択したが、個人またはGSTを持つ個人事業主である場合)により拒否された場合、登録タイプを修正し、書類を再提出する必要があります。修正手順: ステップ1: ダッシュボードまたはメールで拒否の具体的な理由を確認します。 ステップ2: Intercomまたはサポートメール([email protected])を通じて、Payout Complianceフォームの再提出アクセスをリクエストします。 ステップ3: 正しい登録タイプ(個人対組織)を選択し、必要な書類をすべて再提出します。 ステップ4: コンプライアンスチームが再提出をレビューするのを待ちます。
再提出オプションは、サポートに連絡した後に検証チームによって有効にされます。今度は正しいエンティティタイプを選択して、さらなる遅延を避けてください。
A: はい。収益が支払いの閾値($100)を超えると、Dodo Paymentsはあなたの検証を優先します。
これは即時承認を保証するものではありません — ビジネスモデルと書類がコンプライアンスに準拠していることを確認してください。
$100を超えても遅延が続く場合は、サポートに連絡してください。
A: いいえ。サインアップする人は、ビジネスの法的所有者とすべての提出書類が一致する必要があります。親が実際のビジネスオーナーである場合:
  • 彼らは自分のメールアドレスと携帯電話番号を使用してサインアップする必要があります。
  • すべての書類は彼らの名前である必要があります。
ビジネスを管理している間に他の人の名前を使用して検証を行うと、コンプライアンスの拒否につながる可能性があります。
A: 次の場所で理由を確認できます。
  • Dodo Paymentsダッシュボードの検証セクション。
  • メール通知(有効な場合)
表示されない場合は、[email protected]に連絡するか、登録メールIDをチームメンバーにDMしてください。
A: はい — ただし、次の条件を満たす場合のみです。
  • 拒否の原因となった問題を修正した。
  • リスクの決定を回避しようとしていない(例:詐欺の懸念によるデボード)。
根本的な問題を解決せずに複数のアカウントを作成すると、新しいアカウントも拒否される可能性が高くなります。
A: リスクチームによってアカウントが以前にデボードされたというメッセージが表示された場合:
  • Dodo Paymentsは、あなたの活動やビジネスに重大なコンプライアンスまたはリスクの問題があると判断したことを意味します。
  • 同じアイデンティティやビジネスの詳細を使用して新しいアカウントを作成しようとすると、再度拒否される可能性が高いです。
これが誤りだと思う場合は、[email protected]にメールを送り、レビューをリクエストしてください — 明確な証拠を含めてください。
A: 遅延を避けるために:
  • 明確で適切にフォーマットされた書類を提出する
  • Discordでの繰り返しメッセージ/タグを避ける — これによりキューが遅くなります
  • 支払いの閾値を超えたか、緊急のタイムラインがある場合は言及する
  • 求められた場合は、登録メールIDをDMする
ほとんどの支払いレビューは、提出に問題がない限り、72営業時間以内に完了します。
A: どのフォームが必要かを判断するために、次のロジックを使用してください:
あなたは…提出するフォームマーチャントタイプ
個人事業主、フリーランサー、個人W-8BEN個人
Pvt Ltd、LLP、登録された組織W-8BEN-E組織
まだ不明な場合は、次の指標を考慮してください。
  • 銀行口座が個人名義の場合、あなたはおそらく個人です → W-8BENを使用
  • 銀行口座が会社名義の場合、あなたは組織です → W-8BEN-Eを使用
  • GSTを持っているが、個人の銀行口座で運営している場合、あなたは依然として個人と見なされます → W-8BENを使用
GSTを持つ個人事業主であれば、あなたは依然として個人です。登録された法的エンティティ(Pvt Ltd、LLPなど)のみがW-8BEN-Eを使用する必要があります。
A: 個人の場合、PANは必須要件です(KYCおよび税務目的のため)。登録されたビジネスの場合、ビジネスPANまたはGSTINを提出できます。GSTは、登録閾値を超えた場合やインプットクレジットを希望する場合を除き、オプションです。
A: Udyam/MSME証明書を持っているからといって、自動的に組織と見なされるわけではありません。提出するフォームは、銀行口座の種類によって異なります:
  • 個人の銀行口座で運営している場合(Udyam/MSME証明書があっても):あなたは個人と見なされます → W-8BENを提出
  • 会社の銀行口座で運営している場合(登録されたエンティティ):あなたは組織です → W-8BEN-Eを提出
鍵となる要素は、銀行口座が個人名義か会社名義かであり、ビジネス登録証明書を持っているかどうかではありません。
A: 以前のデボードを回避するために新しいアカウントを作成することは許可されていません。この試みを行うと:
  • 新しいアカウントもフラグが立てられたり、拒否されたりする可能性があります。
  • リスクの決定は、サインアップが同じビジネスまたは人物である限り、引き継がれます。
誤ってデボードされたと思う場合は、[email protected]にメールを送信してください。
A: Dodo Paymentsは、インドの商人の顧客の所在地に基づいてGSTを自動的に計算し、適用します。
A: はい、Dodo Paymentsは国際販売をサポートし、関連するすべてのコンプライアンスを管理します。
A: はい、それらは必須です。私たちは記録の商人であり、請求書を生成し、税金を申告し、すべての購入がコンプライアンスに準拠していることを確認するため、顧客の請求先住所が必要です。顧客の詳細を事前に収集している場合は、顧客の詳細を自動的に入力するAPIベースのチェックアウトフローを実装できますが、すべての購入に対してこれらの詳細が必要です。
A: 直接的にはありません。Dodo Paymentsは記録の商人として機能し、顧客側の税金を処理し、適用される場合は納付します。ただし、あなたはまだ次のことを行う必要があります。
  • 自国(例:インド)で所得税を申告する
  • デフォルトの30%の米国源泉徴収を回避するためにW-8BEN(-E)を提出する
A: はい、ただし次の点に注意してください。
  • 実際のお金は移動しません
  • ウェブフックやフローをシミュレートできます
  • カードの詳細はテストカードである必要があります この方法で、財務的影響なしにエンドツーエンドのフローをデバッグできます。
A: これは、インドのカードを使用して支払いを行ったが、請求先国がINに設定されていないことを意味します。
  • 誤った請求先国を渡した可能性があります。

サポート & コミュニケーション

A: サポートチームに連絡するには、[email protected]にメールを送信してください。問題や質問があれば、私たちがサポートします。
A: 次のような場合:
  • Intercomで返答がない
  • Discordで認識されていない その場合:
  • [email protected]または[email protected]にエスカレーションし、件名を「緊急:返答なし – [あなたのメール]」としてください。

セキュリティ & 詐欺防止

A: Dodo Paymentsは、疑わしい取引を監視するためにリアルタイムの詐欺検出を使用しています。また、すべての支払い情報が暗号化され、安全であることを保証するためにPCI-DSS基準に準拠しています。
A: はい、Dodo Paymentsはデータ暗号化トークン化を使用して、機密情報を保護しています。顧客の支払いデータは直接保存されず、取引中に安全に保たれます。
A: 発見した脆弱性は、直接私たちのセキュリティチーム([email protected])に報告してください。
A: 現在、金銭的なバウンティは提供していませんが、感謝の印としてDodo Paymentsのグッズを提供しています。

Payments & Transactions

A: Dodo Payments supports a variety of payment methods, including credit cards, debit cards, and digital wallets. We also support one-time payments and recurring subscription payments for digital products.
A: If a product has a trial period, the first payment automatically becomes a mandate payment of $0. This is expected behavior and confirms that the mandate has been created successfully.
A: No. Once the trial ends, the system automatically generates the product price(e.g $25) for the customer. They do not need to pay it manually.
A: This usually indicates a setup or implementation issue on your end. Test the trial + subscription flow in test mode first, confirm it’s working, and then switch to live mode.
A: Yes. It’s recommended to fully implement and test the feature in test mode to ensure everything works correctly before switching to live mode.
A: You can track the status of payments from the Payments section of your dashboard. Each transaction is listed with a status indicator: In Progress, Failed, or Successful.
A: If a payment fails, check the Payment Details Page for more information. Common reasons include incorrect payment details, insufficient funds, or network issues. You can resend the payment link to your customer to retry the payment.
A: Yes. Dodo Payments notifies the merchant when a user’s payment fails through multiple channels in live mode:
  • Email notifications
  • Webhook events
  • Mobile notifications
  • Dashboard notifications This ensures merchants stay informed about failed transactions.
A: The subscription is not cancelled immediately. Instead, it is moved to on-hold status until a successful payment is made.If you have an issue with the card, you can update the payment method by:
A: No. You only need the subscription ID to initiate a new payment attempt.
A: A subscription payment can fail with INCORRECT_NUMBER if the customer’s card was cancelled, replaced, deactivated, or flagged by their bank or payment provider after the previous billing cycle. Dodo Payments simply displays the error message returned by the payment provider.
A: Yes. Even if you state “No refunds” in your terms or website, chargebacks are largely governed by the cardholder’s bank and card network rules (e.g., Visa, Mastercard). A “No refund” policy does not override the card network’s dispute resolution process. If a customer files a dispute, your business is still subject to a chargeback investigation. This means you must respond with evidence (proof of delivery, usage logs, terms acceptance, etc.) to fight or manage the dispute. If the customer’s bank decides in favor of the cardholder, the chargeback fee and transaction reversal will apply regardless of your stated policy. We recommend having clear communications, tracking customer usage, and providing compelling evidence when chargebacks arise.
A: payment.status can be null for a short time:
  • Right after creation but before processing completes
  • During subscription billing failures or retries
Eventually, it becomes one of: succeeded, failed, or cancelled.
Use webhook events like payment.succeeded or payment.failed for more reliable status tracking.
A:
  • For subscription payments, product_cart is empty because there’s no one-time item being bought
  • product_cart is only populated for one-time payments
A: You likely tested in Live Mode instead of Test Mode.Live payments:
  • Use real money
  • Go through real banks
  • May be flagged as suspicious if volume is low or inconsistent
✅ Always test using:
  • Test Mode in the dashboard
  • Test card numbers provided in the documentation
A: Checklist:
  • Confirm webhook is configured in Dashboard > Developers -> Webhooks
  • Check if webhook is failing silently due to non-2xx response
  • Check logs: was a 429 or timeout returned?
A: It’s likely you’re relying solely on redirect_url query params and not handling:
  • Webhooks
  • API confirmation call
✅ Fix:
  • Always listen for payment.succeeded webhook
  • Or query the API to confirm transaction after redirect
A: This can happen for several reasons:
  • The billing country wasn’t set to IN
  • UPI was not enabled for your business
If you’re a Non Indian Merchant, UPI won’t appear for your customers.
A: Yes, UPI subscriptions are supported with RBI-compliant mandates. UPI subscriptions operate under RBI (Reserve Bank of India) regulations with specific requirements:
  • Mandate Limits:
    • Charges below ₹15,000: An on-demand mandate for ₹15,000 INR is created
    • Charges ₹15,000 or above: A subscription mandate for the exact subscription amount is created
  • 48-Hour Processing Delay: Charges are initiated on the scheduled date, but the actual deduction occurs 48 hours after initiation (may extend up to 2-3 additional hours)
  • Mandate Cancellation: Customers can cancel mandates via their banking apps during the 48-hour window
UPI subscriptions have the same RBI-compliant mandate requirements as Indian card subscriptions. For detailed information, see the Payment Methods documentation.
A: You can enable 3DS directly from your Business Settings in the Dodo Payments dashboard. Simply go to Business Settings → Payment Settings and turn on the 3DS option.
A: If you want users to enter billing info themselves:
  • Use static links, which automatically collect billing
  • For dynamic flows, you must collect info manually and pass it in the API
There’s no built-in UI yet for collecting billing during dynamic link creation.
A: On the first successful subscription payment, you will typically receive these three webhooks if no trial period is involved:
  • subscription.created webhook
  • payment.succeeded webhook
  • subscription.renewal webhook
A: Dodo supports both immediate and scheduled cancellations.When a cancellation request is made:
  • Immediate cancellation: The subscription.cancelled_at timestamp is set immediately and the subscription ends at that moment
  • Scheduled cancellation: Use the cancel_at_next_billing_date parameter in the subscription patch API to cancel at the end of the current billing period
A: Dodo Payments charges the customer immediately upon subscription creation if the product does not have a trial period.
For Indian cards and UPI subscriptions, recurring charges follow RBI regulations with a 48-hour processing delay. Charges are initiated on the scheduled date, but the actual deduction from the customer’s account occurs 48 hours after initiation. This 48-hour window may extend up to 2-3 additional hours depending on bank API responses.
A: The Change Plan API returns only a 200 status code with no response body, so the response will appear empty even though the plan change is successful.
A: When changing plans, Dodo Payments automatically charges the saved card. If the charge fails, the subscription is moved to “on hold.” So no manual payment flow is triggered.
A: This happens when Adaptive Currency is enabled. The feature adds an additional 4% charge automatically.
A: Checkout always creates a new subscription. It does not check whether the customer already has an active subscription. Your application must block existing subscribers from starting a checkout session to avoid duplicate charges.
A: This error comes from the card issuer, not Dodo Payments. The bank is blocking the transaction due to restrictions on that card.Common reasons:
  • Card not allowed for online, international, or recurring payments
  • Merchant category (MCC) is blocked
  • Bank’s fraud rules prevented the charge
  • Prepaid or restricted cards may not support these payments
A: Yes. You can test live-mode checkout flows by creating a 100% discount code. This allows you to complete the full payment and redirect flow without being charged.
A: A $0 payment occurs when the total payable amount becomes zero (e.g., by applying a 100% discount). In such cases, no actual payment is processed, but the checkout and subscription flow still work normally.
A: In most cases, this happens because you’ve accidentally switched to an old or inactive business account. Simply switch back to your active business account in the Dodo Payments dashboard. If the issue continues after switching, contact Dodo Payments Support for assistance.

Payouts & Bank Integration

A: Payouts are the transfer of your collected sales revenue to your linked bank account. Dodo Payments supports multiple payout cycles:
  • Bi-Monthly (Default):
    • Billing Period 1: 1st to 15th → Payout on 18th of same month
    • Billing Period 2: 16th to end of month → Payout on 4th of following month
  • Weekly: Available for businesses with higher transaction volumes (contact support to request)
  • Monthly:
    • Billing Period: 1st to end of month → Payout on 11th of following month
Payouts are only initiated if all verifications are successful and the payout threshold is met. It typically takes 1-2 business days for funds to appear in your bank account after the payout is initiated.
Delays may occur if payout processing dates fall on weekends or bank holidays. The default payout cycle for all businesses is bi-monthly.
A: The minimum payout threshold is 50USD(or1,000INR)afterplatformfeesandtaxesdeduction.YoucancustomizeyourUSDwalletthresholdtoanyamount50 USD** (or ₹1,000 INR) after platform fees and taxes deduction. You can customize your USD wallet threshold to any amount **≥ 50 directly from your dashboard. If your balance doesn’t meet the threshold, it will carry forward to the next payout cycle.You can see the exact wallet amount and manage your payout threshold in the payouts section of your dashboard.
The flexible threshold feature is currently available for USD/EUR/GBP wallets. INR wallet threshold remains fixed at ₹1,000.
A: Yes, you can track your payout status from the Payouts section of the dashboard.
A: Payout fees refer to the transaction costs for transferring the money we’ve collected from your customers to your bank account. We constantly make improvements to reduce the payout fee by partnering with local partners in your country. Please refer to the pricing and fee structure for detailed information.
A: Payouts usually take 1–2 business days to reflect in your bank account.
Transfers don’t settle on weekends or bank holidays. If your payout was processed on Friday, expect it by Monday or Tuesday.
A: Just enter your Payoneer bank details in the Bank Info Form under your dashboard. There’s no separate Payoneer integration yet.
A: Yes. You can receive payouts via Payoneer by:
  • Entering your Payoneer account details in the Bank Info Form on the Dodo dashboard
  • Ensure your account is approved and supports USD or the currency you’re withdrawing
There is no dedicated Payoneer integration — it is treated as a regular bank account.
A: Just wait. Our compliance team typically reviews forms within 1–2 working days. If it’s urgent:
A: If your payout day is on a Friday, it is usually processed on the same day. However:
  • If there’s a bank holiday or weekend, it may be delayed to the next working day (usually Monday).
  • The exact timing may depend on your bank’s processing rules.
If in doubt, check your dashboard or ask support with your registered email.
A: If you’ve submitted everything and are awaiting payout compliance:
  • Mention your urgency clearly in support chats (e.g., live launch, paid campaigns).
  • Include your business ID and email.
  • Avoid spamming or tagging multiple team members — this may slow down the queue.
A: If you’ve entered incorrect bank details:
  • Contact support via Intercom or Discord or Mail.
  • DM your email ID and request a manual reset of the bank verification section if you reach through Discord.
  • Wait for the compliance team to reopen the section for you to re-submit.
Editing bank details directly in the dashboard may not be allowed post-submission.
A: No. If you’re registered as a company or legal entity, you must use the entity’s bank account.
A: If your country does not issue SWIFT codes, this will not block your verification, but it will require manual review by our compliance team.What to do:
  • Contact support and explain that your country doesn’t issue SWIFT codes
  • Submit official bank documents that confirm:
    • Your account number
    • Account holder name
    • That no SWIFT code is issued in your country
  • In some cases, a generic placeholder SWIFT may be used based on your country
This case will go through manual compliance review. For faster processing, write to [email protected] for escalation.
A: If your country doesn’t use SWIFT codes, provide the following alternative documentation:
  • Official bank statement or certificate showing your account details
  • Bank letter confirming your account number, holder name, and that SWIFT codes are not issued
  • Any government-issued document that confirms your bank’s routing information format
Contact [email protected] before submitting to ensure you provide the correct documentation format for your country.

Invoicing & Reports

A: Yes, Dodo Payments automatically generates invoices for every successful transaction. These invoices include all necessary details such as tax breakdowns, customer information, and product details.
A: Yes, you can customize the look of your invoices by adding your company logo and brand name. You can manage these settings in the Business Profile section of your dashboard.
A: You can view or download invoices from the Invoices section of the dashboard. Each payment will have an associated invoice that can be downloaded as a PDF.
A: You can generate detailed reports from the Reports section of your dashboard. These reports include data on transactions, refunds, and payouts, which you can filter by date and export in CSV format.

Refunds & Disputes

A: To issue a refund, go to the Payment Details Page of the transaction you want to refund and click the Initiate Refund button. You can issue a full or partial refund, provided the payment meets the refund eligibility rules.
A: Once a refund is initiated, the customer will typically receive the refunded amount within 3-5 business days, depending on the payment method and their bank.
A: If a chargeback is filed against you:
  • You may lose both the transaction amount and a dispute fee
  • You can submit evidence of product delivery, usage logs, or customer communication
  • However, the final decision lies with the customer’s issuing bank
Email [email protected] with:
  • Dispute ID
  • Payment ID
  • Relevant proof
A: Yes — you can:
  • Share documentation (chat logs, usage records, delivery confirmation)
  • Explain that the service was fulfilled
  • Request a waiver of the dispute fee if it’s a first-time issue or if fraud is provable
There’s no guarantee the fee will be waived, but our team reviews each case on merit.

Webhooks & Integration

A: Yes. Manual verification is possible, but it must strictly follow the correct signing steps. For an easier and more reliable approach, Dodo Payments recommends using the standardwebhooks package:
from standardwebhooks.webhooks import Webhook

wh = Webhook(webhook_secret_key)
payload = request.get_data(as_text=True)
headers = request.headers

if not wh.verify(payload, headers):
    return jsonify({'error': 'Invalid webhook signature'}), 401

Then parse the payload as needed.
A: You can refer to the official Dodo Payments documentation here: https://docs.dodopayments.com/developer-resources/webhooks#manual-verification-alternative
A: You’re likely confusing the redirect URL with the webhook URL. A redirect URL is where the user is sent after a payment, and it may contain ?subscription_id=...&status=active in a GET request. This is not your webhook.To receive structured POST payloads from Dodo Payments:
  • Set up a webhook under Dashboard → Developers → Webhooks
  • Ensure the URL accepts POST requests and verifies the signature
You can have both a webhook and a redirect URL — they serve different purposes.
A: You likely forgot to pass the correct environment when initializing the DodoPayments client.
Fix:
client = DodoPayments(
bearer_token="your_api_key",
      environment="live_mode"  # or "test_mode"
)
A: You can do it through the webhook dashboard. Go to Dashboard -> Developers -> Webhooks
A:
  • Webhook URL: Configured in dashboard. Receives POST payloads about events.
  • Redirect URL: Sent in the payment API request. Sends user back to your app with query params (?status=success).
Use webhooks to automate things like DB updates, and redirects to show thank-you screens.
A: The payment.succeeded webhook event for subscription products does not include a product_id. Instead, it provides the subscription_id associated with the subscription, along with other relevant details.
A: To verify that the webhooks you receive are genuinely from Dodo Payments and not from malicious actors, follow these steps:
  1. Check the Signature: Each webhook sent by Dodo Payments includes a unique signature in the webhook-signature header. This signature is generated using your webhook’s secret key and the payload of the event.
  2. Retrieve the Secret Key: Ensure you have the secret key for your webhook, which can be found in your Dodo Payments dashboard under the Webhooks settings.
  3. Recompute the Signature: Use the same signing algorithm (HMAC-SHA256) as Dodo Payments to compute the signature on your server. Use the payload of the webhook and your webhook secret key.
  4. Compare Signatures: Compare the recomputed signature with the one provided in the webhook-signature header. If they match, the webhook is authentic; if not, it should be rejected.
  5. Use HTTPS: Ensure your webhook endpoint uses HTTPS to secure communication and prevent tampering during data transmission. By implementing these steps, you can confidently verify the authenticity of webhooks sent by Dodo Payments.
We recommend using packages provided by StandardWebhooks to verify signature and not construct it by yourself.
A: For subscriptions, subscription.renew will be triggered whenever the subscription amount is deducted. So yes, this is expected behavior.
A: To test webhooks locally, you can follow these steps:
  1. Use a Tunneling Tool: Tools like ngrok, LocalTunnel, or Cloudflare Tunnel can expose your local server to the internet. This provides a public URL that Dodo Payments can use to send webhook events to your local environment.
  2. Set Up the Webhook Endpoint: Create a webhook endpoint in your local application to handle incoming webhook events. Ensure it listens for HTTP POST requests.
  3. Configure the Webhook in Dodo Payments: Go to your Dodo Payments dashboard, navigate to the Webhooks settings, and update the webhook URL to the public URL generated by the tunneling tool.
A: Check the following:
  • You did not confuse the webhook URL with redirect URL
  • The webhook is configured under Developers > Webhooks
  • Your URL accepts POST requests and responds with 2xx
  • Signature validation (if enabled) is implemented correctly
If you only see GETs with ?status=success, you are debugging the redirect URL, not the webhook.
A: No. While it’s a quick win, URL query params can be tampered with.If you’re using redirect_url?status=success:
  • Double-validate the transaction with an API call
  • Or wait for payment.succeeded webhook
Treat redirects as user-facing confirmations, not proof of payment.
A: Yes, Dodo Payments offers API integration and SDKs support for seamless integration with your website or platform. You can find API documentation, SDK guides, and integration resources in the Developer Section of your dashboard.

Testing & Local Development

A: Yes — subscriptions can be tested fully in Test Mode.Just don’t use real card numbers.
A:
  • On your Dodo dashboard, look for a Test Mode toggle.
  • Switch it ON to use test API keys and simulate payments.
You’ll see “Test Mode” labels on all screens. Make sure to use the corresponding API key or environment when switching.
A: Yes, but keep in mind:
  • No real money will be transferred
  • You can simulate webhooks and flows
  • Card details should still be test cards
This helps debug flows end-to-end without any financial impact.
A: It means:
  • An Indian Card is used to make the payment but the billing country is not set as IN.
  • You likely passed an incorrect billing country.

Support & Communication

A: You can contact our support team by sending an email to [email protected]. We are here to assist you with any issues or questions you may have.
A: If you’ve messaged in:
  • Intercom with no response
  • Discord without acknowledgement
Then:

Security & Fraud Prevention

A: Dodo Payments uses real-time fraud detection to monitor suspicious transactions. We also comply with PCI-DSS standards to ensure that all payment information is encrypted and secure.
A: Yes, Dodo Payments uses data encryption and tokenization to protect sensitive information. We ensure that customer payment data is never stored directly and remains secure during transactions.
A: Please report any discovered vulnerabilities directly to our security team at [email protected]
A: We currently do not offer monetary bounties, but we do provide Dodo Payments merchandise as a token of appreciation.