Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
Security
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Overview
How Checkout works
Quickstart
Fulfill your orders
Migrate payment methods to the Dashboard
Manage limited inventory
Migrate from legacy Checkout
Migrate Checkout to use Prices
Additional features
Add discounts
Add shipping
Make line item quantities adjustable
Let customers decide what to pay
Collect taxes
Collect tax IDs
Collect phone numbers
Customize your integration
Customize success page
Configure subscription upsells
Configure cross-sells
Recover abandoned carts
Collect consent for promotional emails
Analyze conversion funnel
Embed a pricing table (Beta)
Start a free trial without collecting payment details (Beta)
Testing
No-code options
checkout
·
HomePayments

Configure a free trial without collecting payment details
Beta

Use Stripe Checkout to collect a customer's information for a free trial without collecting their payment details.

This feature is in beta. For early access, contact us at checkout-trials-beta@stripe.com.

Stripe Checkout lets you sign up customers for a free trial of a subscription service without collecting their payment details. At the end of the trial period you specify, use Stripe to configure a reminder email to collect a customer’s payment details.

Configure Checkout session

Create a Checkout Session with the following:

  • A subscription_data dictionary with a trial_period_days field set to the length (in days) you want your free trial to be. In this example, the trial period is 30 days.
  • The payment_method_collection field with a value of if_required. This tells Stripe that collecting payment information at checkout is optional.
    curl https://api.stripe.com/v1/checkout/sessions \ -u
    sk_test_4eC39HqLyjWDarjtT1zdp7dc
    : \ -d mode=subscription \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "subscription_data[trial_period_days]"=30 \ -d payment_method_collection=if_required

Collect payment details when the trial is about to expire

Before the trial expires, collect payment details from your customer.

Configure your subscription to automatically send a reminder email when the customer’s trial is about to expire. You must comply with card network requires when offering trials. Learn more about compliance requirements for trials and promotion.

Next, select the Link to a Stripe-hosted page option so the reminder email contains a link for the customer to add or update their payment details. We don’t send free trial reminder emails in test mode. Learn more about how to manage free trial messages within the customer email.

OptionalCollect payment details using the Billing Customer Portal

Was this page helpful?
Questions? Contact us.
View developer tutorials on YouTube.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Configure Checkout session
Collect payment details when the trial is about to expire
Collect payment details using the Billing Customer Portal
Stripe Shell
Test mode
▗▄ ▄▟█ █▀▀ ▗▟████▙▖ ██████ ███▗▟█ ███ ███▗▟██▙▖ ▗▟█████▙▖ ███▖ ▀▀ ███ ███▀▀▀ ███ ███▀ ███ ███ ███ ▝▜████▙▖ ███ ███ ███ ███ ███ █████████ ▄▄ ▝███ ███ ▄ ███ ███ ███▄ ███ ███ ▄▄ ▝▜████▛▘ ▝▜███▛ ███ ███ ███▝▜██▛▘ ▝▜█████▛▘ ███ ▀▘
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to Stripe docs and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$