Dodo Payments Integration
Learn how to set up Dodo Payments in your Indie Kit application
Dodo Payments Integration 💳
Let's set up Dodo Payments for your Indie Kit application! 🚀
Initial Setup ⚡
-
Create a Dodo Payments account
-
Set up your business details
-
Add required legal documents:
- Privacy Policy
- Terms of Service
-
Add these environment variables to your
.env
file:🔒 Security Note: Never commit these keys to your repository. In production, add them securely to your hosting platform's environment variables.
💡 Testing vs Production: Make sure to use the correct API URL for your environment.
Product Configuration 🛍️
In your Dodo Payments Dashboard:
- Create Products with pricing:
- Monthly subscriptions
- Yearly subscriptions
- One-time payments
- Customer Portal:
- Already enabled by default
Webhook Setup 🔌
-
Add your webhook endpoint in Dodo Payments Dashboard:
-
Enable these webhook events:
- payment.succeeded
- payment.failed
- payment.processing
- payment.cancelled
- refund.succeeded
- refund.failed
- dispute.opened
- dispute.expired
- dispute.accepted
- dispute.cancelled
- dispute.challenged
- dispute.won
- dispute.lost
- subscription.created
- subscription.active
- subscription.on_hold
- subscription.renewed
- subscription.paused
- subscription.cancelled
- subscription.failed
- license_key.created
- customer.created
💡 Important: All these events are required for proper subscription management. They handle:
- Customer creation and management
- Subscription lifecycle (creation, updates, deletion)
- Invoice payments
- For local testing, use
ngrok
:
Plan Mapping 🗺️
- Go to your super admin dashboard:
/super-admin/plans
- For each plan, add the corresponding Dodo Payments Price IDs:
monthlyDodoPriceId
yearlyDodoPriceId
onetimeDodoPriceId
💡 Tip: Find Price IDs in Dodo Payments Dashboard under Products → Select Product
Adding Subscribe Buttons 🔘
Use the getSubscribeUrl
helper to create subscription links:
Features Available 🎯
- 🔄 Automatic plan upgrades/downgrades
- 💳 Dodo Payments-managed billing
- 🏪 Customer portal for subscription management
- ⚡ Webhook handling
- 🔍 Payment tracking
- 📊 Usage monitoring
Best Practices 💡
-
Testing
- Use
ngrok
for local webhook testing - Test all subscription flows
- Verify upgrade/downgrade paths
- Use
-
Production
- Add all required legal documents
- Configure proper webhook security
- Monitor webhook events
- Set up alerts for failed payments
-
Customer Experience
- Clear pricing information
- Smooth upgrade flow
- Easy access to billing portal
- Clear trial period information
Now your Indie Kit application is ready to accept payments and manage subscriptions through Dodo Payments! 🎉