Subscriptions allow you to charge a customer on a recurring basis.How subscriptions work#
Manage recurring payments and subscription lifecycles.With Subscriptions, customers make recurring payments for access to a product. Subscriptions require you to retain more information about your customers than one-time purchases because you need to charge them in the future.Integration example#
Landing page#
On your frontend, the landing page collects the email address first. Your application might have other customer-specific information you want to collect like a username or address. Clicking the signup button sends the information collected on the landing page to your backend. This process creates a customer and displays the pricing page on your frontend.Pricing page#
The pricing page displays your subscription options based on the products and prices you create when you first set up your integration, meaning you don't need to create new ones every time customers sign up. Your pricing page displays the prices you created, and your customers choose the option they want.Payment#
The payment form collects a name and card information. Our hosts this form if you use Checkout. It's one of the key features that allows you to collect payments and remain PCI compliant. Clicking Subscribe:1.
Creates a new subscription with your customer.
2.
Collects payment details for your initial subscription cycle.
3.
Sets the payment method as the default payment method for the subscription-a requirement for subsequent payments.
Direct Payment Flow#
Redirect Payment Flow#
Subscription Object#
1.
Billing During the Promotional Period --- Before contract_start + promotion_cycle * interval, e.g., contract_start +3 months:Create a subscription based on the amount (promotional price) and charge this amount.
During each billing cycle, verify whether the current time falls within the promotional period.
2.
Billing During the Standard Period --- After contract_start + promotion_cycle * interval, e.g., contract_start +3 months:Update the subscription to the contract_amount (standard price) and charge this amount for each subsequent billing cycle until the contract_end.
Alternatively, generate a new subscription using the current subscription token with the contract_amount (standard price), setting the subscription end date to contract_end.
Illustration example#
Modified at 2025-05-30 03:24:26