How to configure subscription plans on Stripe
Configure subscription plans on Stripe by creating products, setting up pricing plans with billing intervals, and defining subscription parameters. You'll need to navigate to the Products section in your Stripe Dashboard and configure pricing, trial periods, and billing cycles.
Prerequisites
- Active Stripe account
- Business verification completed
- Understanding of subscription billing models
- Product or service to offer as subscription
Step-by-Step Instructions
Access the Products section in Stripe Dashboard
Create your subscription product
- Enter a Name (e.g., "Premium Plan")
- Add a Description explaining the subscription benefits
- Upload a product Image if desired
- Set the Statement descriptor (appears on customer's credit card statement)
Configure pricing for your subscription plan
- Pricing model: Select "Standard pricing" for fixed amounts
- Price: Enter your subscription amount
- Billing period: Choose from Monthly, Yearly, Weekly, or custom intervals
- Currency: Select your preferred currency
Set up trial periods and billing options
- Trial period: Set trial duration in days (e.g., 7, 14, 30 days)
- Usage type: Choose "Licensed" for seat-based billing or "Metered" for usage-based
- Billing cycle anchor: Set when billing cycles should start
Configure subscription behavior and limits
- Invoice collection method: Choose automatic or manual collection
- Default payment behavior: Set how failed payments are handled
- Subscription limits: Set maximum number of subscriptions per customer if needed
Set up webhooks for subscription events
customer.subscription.createdcustomer.subscription.updatedinvoice.payment_succeededinvoice.payment_failed
Test your subscription configuration
- Use card
4242 4242 4242 4242for successful payments - Use card
4000 0000 0000 0002to test declined payments
Activate your subscription plans
- Active subscriptions
- Monthly recurring revenue (MRR)
- Churn rates
- Failed payment recovery
Common Issues & Troubleshooting
Customers can't complete subscription signup
Check that your pricing is active in live mode, verify webhook endpoints are responding correctly, and ensure your payment form is using live publishable keys. Test the complete flow in test mode first.
Trial periods not working as expected
Verify the trial period is set at the subscription level, not just the price level. Check that trial_period_days is correctly configured in your API calls or Checkout sessions.
Webhooks not firing for subscription events
Ensure your webhook endpoint URL is publicly accessible and returns a 200 status code. Check the webhook logs in your Stripe Dashboard for delivery failures and retry attempts.
Proration calculations seem incorrect
Review your proration behavior settings in the subscription configuration. Stripe prorates based on the billing cycle anchor and upgrade/downgrade timing. Check the Invoice section for detailed proration line items.