Comprehensive answers to common questions about Dodo Payments, covering onboarding, payments, subscriptions, compliance, and technical integration to help you navigate and make the most of our platform.
A: Visit our dashboard and enter the Login email and password shared with you in your welcome email. In case you face any issues please reach out to our support team.
Q2: What documents do I need to complete the verification process?
A: The documents required for verification include a valid government-issued ID (for identity verification) and business registration documents (for business verification). For details check the verification process page.
Q3: What happens if my verification is rejected?
A: If your verification is rejected, you will receive an email with the reason for rejection. You can contact our support team to resolve any issues, correct documentation, and reapply. The resubmit option will be enabled by our verification team if necessary.
Q4: How long does the verification process take?
A: The verification process typically takes 24-72 working hours. However, if additional documents are required, the process may take longer.
Q5: I currently do not have a website for my business. Can I submit my company's linkedin page instead?
A: We need your website to understand the kind of products you are selling and verify your business for live access. If you do not have a website or are in the process of building one please reach out to us at support@dodopayments.com
Q6: I am an individual and I do not have a registered business. Can I still use dodo payments?
A: Yes, we support unregistered businesses as well. You do not need a registered business to use Dodo Payments. You can onboard as an individual and start receiving international payments without any hassle. You will still need to submit Identity Verification forms and Business Verification forms as an unregistered business for us to onboard you.
Q7: I want to integrate my other business with Dodo payments. Should I create a new account?
A: No, you can manage multiple businesses through a single account. To add a new business, click the + icon in the bottom left corner of the dashboard and select the Add Business option.
You can refer to /miscellaneous/accounts#managing-multiple-businesses for more details
Q8: Should I wait for verification to complete before integrating dodo payments in my system?
A: No, there is no need for you to wait. You can start integrating using the Test mode and once your verification is successful you can start making Live payments in production. Learn more about Test and Live modes here,
/miscellaneous/test-mode-vs-live-mode
Q9: How to get live mode access?
A: Make sure you have submitted the identity and business verification documents in the settings tab. If you have already submitted them and it has been more than 72 hours, check for the reason it is on hold on the same page and contact the support team.
Q10: Does Dodo Payments have an affiliate program?
Q11: How can I delete the products/customers that I have created?
A: Currently you cannot delete products or customers as these are need to maintain records for future compliance. We are currently working on an archive product feature which will allow you to remove the product from your active products section.
Q12: How can I have a custom UI for the payments page?
A: You can add your business logo and your business name to the payment page. To upload them, visit the business profile page on your dashboard.
Q13: Can I update the branding on the checkout page?
A: Yes. You can:
Go to Dashboard → Settings → Business Setting
Update your logo, brand name, and support email.
Changes will reflect on both static and dynamic links
Q14: Can I embed Dodo Checkout in an iframe?
A: No. The hosted checkout flow does not support embedding in an iframe.Instead:
A: Dodo Payments typically takes 24–72 working hours to process verifications. However, delays can occur due to:
High volume of applications
Weekends and public holidays
Incomplete or incorrect submissions
Manual reviews for risk or compliance
If it’s been more than 72 hours, please check your email or Dodo Payments dashboard for any required action. You can also DM your registered email to the team on Discord for a follow-up.
Q16: I submitted my W-8BEN form, but the signature section doesn't work properly. What do I do?
A: Use a proper PDF editor like:
Adobe Acrobat
Mac Preview (works for most)
Smallpdf or PDFescape (online editors)
If there’s a cross mark on the signature, make sure:
You’re saving the file after applying the signature.
The tool is flattening the signature layer (some editors don’t).
Avoid signing in browser previewers—they don’t always embed digital signatures properly.
Q17: I chose the wrong registration type (business vs individual). How can I fix it?
A: If you selected the wrong entity type (e.g., chose “Organization” but you’re an individual or a Sole Prop with GST), your verification might be On-hold, requiring you to change or update the documentation.Steps to fix:
Step 1: Inform support via Intercom or Discord who will help you enable resubmission for the Payout Compliance form.
Step 2: Choose the right registration type, and resubmit the required documents.
Q18: My verification was declined due to entity mismatch. What should I do?
A: If you selected the wrong entity type (e.g., chose “Organization” but you’re an individual or a Sole Prop with GST), your verification might be On-hold, requiring you to change or update the documentation.Steps to fix:
Step 1: Inform support via Intercom or Discord who will help you enable resubmission for the Payout Compliance form.
Step 2: Choose the right registration type, and resubmit the required documents.
Q19: I reached $100 in earnings. Will my account get verified faster?
A: Yes. Once your earnings cross the payout threshold ($100), Dodo Payments prioritizes your verification.
This does not guarantee instant approval — ensure your business model and documents are compliant.
If you’ve crossed $100 and still see delays, reach out to our support.
Q20: Can I use a different name (like my parent's) to sign up and get verified?
A: No. The person signing up must match the legal owner of the business and all submitted documents.If your parent is the actual business owner:
They should sign up using their email and mobile number.
All documents should be in their name.
Using someone else’s name for verification while you manage the business may lead to compliance rejection.
Q21: How do I check the reason for verification rejection?
A: You can find the reason in:
The Dodo Payments dashboard, under the verification section.
Q22: Can I create a new business account if my previous one was declined?
A: Yes — but only if:
You’ve fixed the issues that led to rejection.
You’re not attempting to bypass risk decisions (e.g., deboarding for fraud concerns).
Creating multiple accounts without resolving the underlying issue will likely result in the new account being rejected as well.
Q23: I've been told my account was previously deboarded. What does this mean?
A: If you see a message stating your account was previously deboarded by the risk team:
It means Dodo Payments found significant compliance or risk issues with your activity or business.
Attempting to create new accounts using the same identity or business details will likely be rejected again.
If you believe this is a mistake, email compliance@dodopayments.com and request a review — include clear evidence to support your case.
Q24: How do I get my payout verification cleared faster?
A: To avoid delays:
Submit clear, properly formatted documents
Avoid repeated messages/tags in Discord — this slows the queue
Mention if you’ve crossed the payout threshold or have urgent timelines
DM your registered email ID if asked
Most payout reviews are completed within 72 working hours, unless there’s an issue with your submission.
Q25: What if I chose the wrong form (W-8BEN vs W-8BEN-E)?
A: These forms are tied to your entity type:
W-8BEN is for Individuals
W-8BEN-E is for Organizations
If you submitted the wrong one:
Contact support to reset your form.
Fill and upload the correct form type.
Ensure the PAN is in the correct field (Line 6a for individuals).
Refer to IRS official form guides if confused.
Q26: I have a GST with a trade name. Is that considered an organization?
A: No. If you’re registered with a GST as an individual (sole proprietor), you’re still considered an Individual.✅ Use W-8BEN
✅ Select “Individual” in the registration
❌ Do not fill W-8BEN-E or select “Organization” unless you’re a registered legal entity
Q27: My account was deboarded. Can I just create a new one?
A: Creating a new account to bypass a previous deboarding is not allowed. If you attempt this:
The new account may also be flagged or rejected
Risk decisions carry over across signups if the underlying business or person is the same
Q28: How does Dodo Payments handle GST for Indian SaaS merchants?
A: Dodo Payments automatically calculates and applies GST for Indian merchants based on your customer’s location.
Q29: Does Dodo Payments handle international sales?
A: Yes, Dodo Payments supports international sales and manages all associated compliances.
Q30: Are address data such as city, state, zipcode fields mandatory? Can I exclude requesting those values from my customer?
A: Yes they are mandatory as we are the Merchant of Record and generate invoices, file taxes and ensure all purchases are compliant we require the Merchant’s billing address. You can implement our API based checkout flow where you can pre-fill the customer’s details if you have already collected them to ensure a smoother experience for your customers but we will need these details for every purchase.
Q31: Do I need to file taxes in the US if I sell there?
A: Not directly. Dodo Payments acts as the Merchant of Record, handles customer-side tax, and remits where applicable. You still need to:
File income tax in your home country (e.g., India)
Submit W-8BEN(-E) to avoid default 30% US withholding
Q32: I don't know whether to fill W-8BEN or W-8BEN-E — help?
A: Use the following logic:
You are…
Form to Submit
Merchant Type
Sole Proprietor, Freelancer
W-8BEN
Individual
Pvt Ltd, LLP, Registered Org
W-8BEN-E
Organization
Still unsure?
If your bank account is under your name, you’re likely an individual.
If it’s under a company, you’re an organization.
Q33: I am a US Citizen or Organisation registered in the United States. Which tax form am I supposed to fill?
A: All US Citizens, and entity holders in the US must fill the W-9 Tax Form in the name of the registered entity or the Individual.
Q34: Do I need a PAN or GST to receive payments?
A: For Individuals, PAN is a mandatory requirement (for KYC and tax purposes). For registered businesses, either Business PAN or GSTIN can be submitted. GST is optional unless you exceed the registration threshold or want input credit
Q35: Should I submit W-8BEN or W-8BEN-E?
A: Use the form based on your merchant type:
Individual/Sole Proprietor: W-8BEN
Private Limited or LLP: W-8BEN-E
If you have a Udyam/MSME certificate but operate with a personal bank account, you’re still considered an Individual.
Q36: If Dodo handles taxes, why do I need to file W-8BEN(-E)?
A: Dodo handles sales tax for your customers. W-8BEN(-E) is needed for withholding tax on payouts to you.
Filing W-8BEN correctly can help you avoid double taxation under India–US tax treaties.
Q37: What types of payments can I accept with Dodo Payments?
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.
Q38: How can I track payment statuses?
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.
Q39: What should I do if a payment fails?
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.
Q40: Does the chargeback apply for business even if my business has a no refund policy?
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.
Q41: Why is payment.status sometimes null?
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.
Q42: Why is product_cart null even though it's a checkout?
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
Q43: Why was my real card blocked during testing?
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
Q44: My customer completed payment but I didn't receive webhook?
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?
Q45: Why is my dashboard showing success, but my app didn't update?
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
Q46: I'm not seeing UPI as a payment option — why?
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.
Q47: Does Dodo support UPI for subscriptions?
A: Not currently. UPI is supported for one-time payments, but subscriptions rely on card mandates — UPI mandates are still in progress.
Q48: How do I collect billing details without passing them in API?
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.
Q49: What's the difference between static and dynamic payment links?
A: Static payment links are no-code options meant for quick use. They:
Are configured from the dashboard
Automatically collect billing info
Cannot be customized per customer/session
Dynamic payment links are created via API. They:
Require you to pass billing info explicitly
Can be customized in real-time (price, user ID, redirect URL, etc.)
If you don’t want to write code, go with static links. If you need flexibility or want to build custom workflows, use dynamic links.
Q50: Will I get two webhook events when someone starts a subscription?
A: On the first successful subscription payment, you will typically receive these three webhook if no trial period is involved:
subscription.created webhook
payment.succeeded webhook
subscription.renewal webhook
Q51: What does subscription.cancelled_at mean? Is it a scheduled cancellation?
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
Q52: When does a subscription get charged?
A: Dodo Payments charges the customer immediately upon subscription creation if the product does not have a trial period.
For Indian cards and if there is a free trial is configured for the product, the payment will take 24 hours to process after the trial ends. This is due to RBI regulation.
A: Payouts are the transfer of your collected sales revenue to your linked bank account. Payouts are processed by the 15th of every month for previous month’s billing cycle barring any special circumstances like bank holidays or emergencies
Q54: How do I link my bank account to receive payouts?
A: To link your bank account, navigate to the Payout Settings section of your dashboard and click Add Bank Account. You’ll need to enter your bank details and verify the account.
Q55: Can I track the status of my payouts?
A: Yes, you can track your payout status from the Payouts section of the dashboard.
Q56: What are payout fees and how much are they?
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.
Q57: I received a "payout processed" email — when will the funds arrive?
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.
Q58: How do I add Payoneer as a payout account?
A: Just enter your Payoneer bank details in the Bank Info Form under your dashboard. There’s no separate Payoneer integration yet.
Q59: Can I receive payouts to a Payoneer account?
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.
Q60: My bank info and compliance form are still in review — what should I do?
A: Just wait. Our compliance team typically reviews forms within 1–2 working days. If it’s urgent:
Q67: Does Dodo Payments generate invoices automatically?
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.
Q68: Can I customize the invoices?
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.
Q69: How do I access or download an invoice?
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.
Q70: How do I view reports on my transactions and payouts?
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.
Q71: Can I integrate Dodo Payments with my existing website or platform?
A: Yes, Dodo Payments offers API integration for seamless integration with your website or platform. You can find API documentation and guides in the Developer Section of your dashboard.
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.
Q73: How long does it take for a customer to receive their refund?
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.
Q74: I'm facing a dispute or chargeback. What can I do?
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
Q76: My webhook isn't receiving a POST request, only a GET. Why?
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.
Q77: I get a 401 Unauthorized error using the Python SDK. Why?
A: You likely forgot to pass the correct environment when initializing the DodoPayments client.
Fix:
Copy
client = DodoPayments( bearer_token="your_api_key", environment="live_mode" # or "test_mode")
Q78: Is there a way to manually trigger a webhook event for testing?
A: You can do it through the webhook dashboard. Go to Dashboard -> Developers -> Webhooks
Q79: What's the difference between webhook and redirect URL?
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.
Q80: Why didn't I receive the product id in the payment.succeeded webhook for a subscription product?
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.
Q81: How do I verify the webhooks I receive are actually from dodo payments and not from any malicious actors?
A: To verify that the webhooks you receive are genuinely from Dodo Payments and not from malicious actors, follow these steps:
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.
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.
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.
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.
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.
Q82: Why am I receiving a subscription.renew webhook even for the first month payment?
A: For subscriptions, subscription.renew will be triggered whenever the subscription amount is deducted. So yes, this is expected behavior.
Q83: How can I test webhooks locally?
A: To test webhooks locally, you can follow these steps:
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.
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.
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.
Q84: Why is my webhook not being called after payment?
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.
Q85: Is it safe to rely on status=success in URL query params?
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: You can contact our support team by sending an email to support@dodopayments.com. We are here to assist you with any issues or questions you may have.
Q91: My support messages are getting no response. What should I do?
Q92: How does Dodo Payments protect my business from fraud?
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.
Q93: Is my customer data secure with Dodo Payments?
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.