Use saved payment methods to charge customers automatically for subscriptions, renewals, or usage-based billing. The customer saves their card once using a Whop hosted or embedded flow, and you can charge it any time after.Documentation Index
Fetch the complete documentation index at: https://docs.whop.com/llms.txt
Use this file to discover all available pages before exploring further.
Pick your save flow
Two paths, depending on whether the user is also paying right now.| Setup mode (collect-only) | Save during checkout | |
|---|---|---|
| Charges the user now? | No | Yes |
| Use case | Free trial signup, on-file card before usage-based billing | Subscription that renews after the first paid checkout |
| API | Create checkout configuration with mode: "setup" | Pass setupFutureUsage: "off_session" on WhopCheckoutEmbed |
| Webhook to listen for | setup_intent.succeeded | payment.succeeded (the payment_method is on the result) |
Save a payment method
Create a checkout configuration in setup mode
Create a checkout configuration without a plan to collect payment details without charging. Add metadata to be able to link the member and payment method to a customer in your system.
Direct the user to checkout
Use embedded checkout or redirect the user to save their payment method.
- Embedded
- Redirect
Handle completion
Listen for the The payment method is now saved and authorized for this member.
setup_intent.succeeded webhook to get the payment method ID. The CheckoutConfiguration and its metadata will be included on the SetupIntent, which you can use to link the member and payment method to a customer in your system.Charge a saved payment method
Get the payment method
List saved payment methods for a member or use the payment method ID from the setup intent in the previous step.
Create an off-session payment
Charge the payment method without customer interaction. The create payment endpoint returns a payment object immediately and processes the charge asynchronously.
Save during checkout
To save a payment method while processing a payment, addsetupFutureUsage: "off_session" to the embedded checkout.
Next steps
Accept payments
One-time and subscription checkouts to pair with your save flow.
Embedded checkout
Drop checkout into your own site without redirects.
Listen to webhooks
Track
setup_intent.succeeded, payment.succeeded, and payment.failed.Billing portal
Let customers manage and remove their saved payment methods.

