Create the add-a-card link
url in the terminal, put it in an email, or drop it in a chat. The user opens it in any browser, types their card, and saves it with a passkey. One link is one enrollment, so send it to one person and bind the user_id you receive to them. Sessions last 24 hours by default; pass expires_in (60 to 172800 seconds) to change that.
POST /api/v2/checkout/vault_link has Agentcard text or email a connected user their link.
Send the approval link
When your agent reaches the payment form,onApprovalUrl fires with a link. Deliver it the same way, with what the user is approving:
Put your name on the page
Both pages carry your branding. Set a display name and upload a logo in the dashboard under Settings, General, Branding, and every link you create shows them in the header and the tab title. For a fully dedicated domain, talk to us.Learn when the user is done
Webhooks are the record of what happened:vault.session_linkedcarries theuser_idto store.vault.card_storedwhen the card lands in the vault.checkout_authorization.approved,checkout_authorization.declinedandcheckout_authorization.expiredfor each purchase.
poll_interval seconds until its status is linked, then stop.
Read an expired link
An expired session shows the user a screen that says the link has expired. Your handling is one code path: create a new session and send the newurl.