Learn how to handle Stripe Subscriptions
Setting up Stripe account
Modelling product and prices in Stripe
Creating a product
Creating a product and prices via Stripe API
Accepting payments using stripe
Stripe Checkouts
Stripe Elements
Stripe Checkout vs Stripe Elements
Working with a subscription
Subscription Lifecycle
Retrying failed payments
Provisioning access to product based on subscription
Upgrading and Downgrading Subscriptions
Cancelling a subscription
Ways to cancel a subscription
Automatic cancellations by Stripe
Resubscribing after cancellation
Summary from application perspective
Applying discounts to a new subscription
Applying discounts to an existing subscription
Applying discounts to a customer
Deleting discounts
General design for database
Schema design for subscription
Conventions followed
User table
Subscription table
Price table
BillingDetails table
Address table
Discount table
Coupon table
WebhookEvents table
Enabling or disabling address collection in Stripe Checkout
Limitations
Handling Stripe webhooks
Use cases of webhooks
Creating webhook endpoint
Designing idempotent webhook handlers
Handling checkout session
Handling subscription events
Setting up stripe-cli
Testing webhooks locally
What exactly is metered billing?
Modelling product and prices
Metered billing subscription
Issuing refunds
Cancelling a PaymentIntent
Legacy Stripe API
Older APIs
Alternatives For Legacy APIs
Backward Compatible Changes
API Changelog
API upgrades
Stripe API upgrade policy
Setting API version
Entities Affected By API Upgrade
Reflecting Changes In Webhook Handlers
Rolling Back API Version
How To Stay Informed?