Stripe Integration
Learn how to set up Stripe payments in your Indie Kit application
Stripe Integration 💳
Let's set up Stripe payments for your Indie Kit application! 🚀
Initial Setup ⚡
-
Create a Stripe 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: Keys starting with
pk_test_
andsk_test_
are for testing. Usepk_live_
andsk_live_
in production.
Product Configuration 🛍️
In your Stripe Dashboard:
- Create Products with pricing:
- Monthly subscriptions
- Yearly subscriptions
- One-time payments
- Enable Customer Portal:
- Go to Settings → Customer Portal
- Add products for upgrade/downgrade flows
- Configure branding
Webhook Setup 🔌
-
Add your webhook endpoint in Stripe Dashboard:
-
Enable these webhook events:
invoice.paid
customer.created
customer.subscription.created
customer.subscription.updated
customer.subscription.deleted
💡 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 Stripe CLI:
Plan Mapping 🗺️
- Go to your super admin dashboard:
/super-admin/plans
- For each plan, add the corresponding Stripe Price IDs:
monthlyStripePriceId
yearlyStripePriceId
onetimeStripePriceId
💡 Tip: Find Price IDs in Stripe Dashboard under Products → Select Product → Pricing
Adding Subscribe Buttons 🔘
Use the getSubscribeUrl
helper to create subscription links:
Features Available 🎯
- 🔄 Automatic plan upgrades/downgrades
- 💳 Stripe-managed billing
- 🏪 Customer portal for subscription management
- ⚡ Webhook handling
- 🔍 Payment tracking
- 📊 Usage monitoring
Best Practices 💡
-
Testing
- Use Stripe CLI for local webhook testing
- Test all subscription flows
- Verify upgrade/downgrade paths
-
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 Stripe! 🎉