Save Card Details
Saves a card for later charges from card details the caller holds itself, for integrators whose own systems are PCI compliant. Card details are accepted only on the vault host, where the card is tokenized before it reaches Whop; the official SDKs route this operation there, and raw card details sent to the regular host are refused. (Whop's own clients, which tokenize with the Basis Theory SDK, send the resulting token intent id to the regular host.) The setup runs in the background: poll Retrieve setup status for its outcome and for anything the buyer must still do, such as 3D Secure. Once it succeeds, the saved payment method arrives on the setup_intent.succeeded webhook and in List payment methods for the member.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
Request body
Example request
{
"account_id": "biz_xxxxxxxxxxxxxx",
"billing_details": {
"address": {
"city": "San Francisco",
"country": "US",
"line1": "1 Market St",
"line2": "Suite 400",
"postal_code": "94105",
"state": "CA"
},
"email": "dana@shinetime.example",
"name": "Dana Shine",
"phone": "+14155550123"
},
"currency": "usd",
"member_id": "mber_xxxxxxxxxxxxxx",
"metadata": {
"crm_id": "C-88"
},
"payment_method": {
"card": {
"details": {
"cvc": "123",
"exp_month": 12,
"exp_year": 2031,
"number": "4242424242424242"
},
"network_transaction_id": "016153570198200"
},
"type": "card"
},
"return_url": "https://shinetime.example/billing/saved"
}Response
setup started from card details
Example response
{
"account_id": "biz_xxxxxxxxxxxxxx",
"client_secret": "sint_xxxxxxxxxxxxxx_secret_vdefault_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"created_at": "2026-01-01T12:00:00.000Z",
"id": "sint_xxxxxxxxxxxxxx",
"last_setup_error": {
"code": "enrollment_declined",
"message": "The bank declined the enrollment."
},
"member_id": "mber_xxxxxxxxxxxxxx",
"metadata": {
"customer_id": "cus_4417"
},
"payment_instrument": {
"card": {
"brand": "visa",
"exp_month": 10,
"exp_year": 2031,
"issuer_identification_number": "41111111",
"last4": "4242"
},
"display_name": "Visa •••• 4242",
"icons": {
"card": {
"dark": {
"png_1x": "https://content.whop.com/payment_methods/visa/icons/card_dark_30.png",
"png_2x": "https://content.whop.com/payment_methods/visa/icons/card_dark_60.png",
"png_4x": "https://content.whop.com/payment_methods/visa/icons/card_dark_120.png",
"svg": "https://content.whop.com/payment_methods/visa/icons/card_dark.svg"
},
"light": {
"png_1x": "https://content.whop.com/payment_methods/visa/icons/card_dark_30.png",
"png_2x": "https://content.whop.com/payment_methods/visa/icons/card_dark_60.png",
"png_4x": "https://content.whop.com/payment_methods/visa/icons/card_dark_120.png",
"svg": "https://content.whop.com/payment_methods/visa/icons/card_dark.svg"
}
},
"square": {
"dark": {
"png_1x": "https://content.whop.com/payment_methods/visa/icons/card_dark_30.png",
"png_2x": "https://content.whop.com/payment_methods/visa/icons/card_dark_60.png",
"png_4x": "https://content.whop.com/payment_methods/visa/icons/card_dark_120.png",
"svg": "https://content.whop.com/payment_methods/visa/icons/card_dark.svg"
},
"light": {
"png_1x": "https://content.whop.com/payment_methods/visa/icons/card_dark_30.png",
"png_2x": "https://content.whop.com/payment_methods/visa/icons/card_dark_60.png",
"png_4x": "https://content.whop.com/payment_methods/visa/icons/card_dark_120.png",
"svg": "https://content.whop.com/payment_methods/visa/icons/card_dark.svg"
}
}
},
"payment_method_type": "card"
},
"payment_method_id": "payt_xxxxxxxxxxxxxx",
"payment_method_type": "acss_debit",
"return_url": "https://shinetime.example/billing/saved",
"status": "succeeded",
"updated_at": "2026-01-01T12:00:00.000Z",
"user": {
"id": "user_xxxxxxxxxxxxxx",
"name": "Dana Whitfield",
"profile_picture": {
"url": "https://ui-avatars.com/api/"
},
"username": "danawhitfield"
}
}