Skip to content
Get started

Payment Handles

Let an agent pay on a customer’s behalf with a single-use virtual card. Connect a customer once, then create a payment — a virtual card is minted scoped to that purchase and the card details are handed back for checkout.

Connect a customer handle
client.paymentHandles.connect(stringhandle, RequestOptionsoptions?): PaymentHandleConnection { connect_id, handle, status }
POST/v3/payments/handles/{handle}/connect
Submit a customer's one-time code
client.paymentHandles.verify(stringhandle, PaymentHandleVerifyParams { code, connect_id } body, RequestOptionsoptions?): PaymentHandleConnection { connect_id, handle, status }
POST/v3/payments/handles/{handle}/verify
Get a handle's connection status
client.paymentHandles.connection(stringhandle, RequestOptionsoptions?): PaymentHandleConnection { connect_id, handle, status }
GET/v3/payments/handles/{handle}/connection
Revoke a handle's connection
client.paymentHandles.revoke(stringhandle, RequestOptionsoptions?): PaymentHandleConnection { connect_id, handle, status }
DELETE/v3/payments/handles/{handle}/connection
ModelsExpand Collapse
PaymentHandleConnection { connect_id, handle, status }
connect_id?: string

Returned only by connect, and only while the ceremony is pending. Nothing on our side persists it — it comes back from the provider and is required again to verify — so hold it until you submit the code.

handle?: string
status?: "not_connected" | "pending" | "connected" | "revoked"
One of the following:
"not_connected"
"pending"
"connected"
"revoked"