Handling payment authentication with trials or metered subscriptions

(Last Updated: April 2019)

For billing schemes that require charging for the service after it has been delivered, Stripe recommends collecting payment details up front so that you can charge your customer at the right time. However, when using a payment method such as 3D Secure and other payment methods that require a customer action, you will need to bring your user back to their browser or app (on-session) to collect payment.

To handle this flow, you will need to collect payment details at the point of initiating the subscription. When you are ready to charge the customer for the first time, the customer will need to complete payment authentication, such as going through 3D Secure v2. As your user will not be on-session at this time, you will need to ensure that you can return them to your site or app before you can collect funds.

This can be done in the following ways:


There are potential solutions that would allow you to collect authentication at the moment of initiating the subscription, even though you are not actually charging the customer. Rules around this solution are actively being developed by card networks. Stripe is also actively developing solutions in this area and will have an updated API by July 2019. We expect any change in this area to be purely additive, and compatible with what we recommend today.