| [ Web Proxy ] |
| Viewing: https://docs.stripe.com/payments/off-session-payments | [Back] [Original] |
Interested in getting early access to the Off-Session Payments API?
Enter your email address below, and our team will contact you soon.
The Off-Session Payments API has the following features:
Retry a payment using smart retries: Configure a retry strategy using AI inference to choose the best times to retry failed payments that increase the chance of a successful payment.
Process payments on multiple processors: Route payments to any of the Stripe-supported processors, or automatically route payments created through the Off-Session Payments API and other supported payments APIs.
With a single API request, you can initiate a payment and let Stripe handle retries for you.
curl -X POST https://api.stripe.com/v2/payments/off_session_payments \ -H "Authorization: Bearer sk_test_wU7nrJCZspk1NPDxiQgAF05q" \ -H "Stripe-Version: 2026-04-22.preview" \ --json '{ "amount": { "value": 1000, "currency": "usd" }, "customer":, "payment_method":"{{CUSTOMER_ID}}", "cadence": "recurring", "metadata": {}, "retry_details": { "retry_strategy": "best_available" } }'"{{PAYMENT_METHOD_ID}}"
See the full Off-Session Payments API reference for more details.
Stripe offers three core payments APIs compatible with Off-Session Payments that allow you to accept various types of payments from your customers. You can integrate these APIs into the Stripe prebuilt payment interfaces. The APIs serve different use cases, depending on how you structure your checkout flow and how much control you require.
Use the Checkout Sessions API to handle collection and setup of payment information with a prebuilt payment form that presents the customers complete checkout flow. With the Checkout Sessions API, you can save a payment for future use with a payment or without an initial payment, depending on your payment flow. Build a checkout page with the Checkout Sessions API.
Use the Payment Intents API to implement the payment step only, but with more control. Unlike the Checkout Sessions API, which requires line item details, you only pass in the final amount you want to charge. Use this for advanced payment flows where you want to manually compute the final amount. Build an advanced integration with the Payment Intents API.
Use the Setup Intents API to save a customers payment details without an initial payment. Use this when you want to onboard customers now, set them up for payments, and charge them in the future. Use this integration to set up recurring payments, or to create one-time payments with a final amount determined later, often after the customer receives your service. Build an advanced integration with the Setup Intents API.
Youre responsible for your compliance with all applicable laws, regulations, and network rules when saving a customers payment details. These requirements generally apply if you want to save your customers payment method for future use, such as displaying a customers payment method to them in the checkout flow for a future purchase or charging them when theyre not actively using your website or app. Add terms to your website or app that state how you plan to save payment method details and allow customers to opt in.
When you save a payment method, you can only use it for the specific usage youve included in your terms. To charge a payment method when a customer is offline and save it as an option for future purchases, make sure that you explicitly collect consent from the customer for this specific use. For example, include a Save my payment method for future use checkbox to collect consent.
To charge a customer when theyre offline, make sure your terms include the following:
Make sure you keep a record of your customers written agreement to these terms.
| Web Proxy Viewer | New URL | Original Page |