Vault Card

Capture a card through the Basis Theory vault, Stripe stays the processor.

The funnel form (behind NEXT_PUBLIC_BT_CHECKOUT) tokenizes the PAN into a BT token intent; this endpoint turns it into a regular Stripe PaymentMethod (BT Ephemeral Proxy — the PAN flows vault→Stripe directly), confirms a SetupIntent with it, and converts the intent into a permanent vault token recorded in bil_vault_card. Everything downstream (Layer 2/3 verify, card-on-file, trial grant, invoicing) is the unchanged setup_intent.succeeded / activate-subscription machinery.

Order is load-bearing: the PM create runs BEFORE the intent→token conversion, because conversion drops the CVC (BT token-intents contract) and Stripe wants it on initial tokenization.

post/api/payment/vault-card

Request body

device_idstring required
utm_sourcestring
utm_mediumstring
utm_campaignstring
ref_codestring
fbpstring
fbcstring
fbclidstring
rdt_cidstring
auto_rechargeboolean
domainstring
preferred_daily_usdnumber nullable
token_intent_idstring required
emailstring
return_urlstring

Response

Successful Response

{"stackTrail":"paths:/api/payment/vault-card:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes

No recorded changes to this endpoint across all 1 revision of this API.