Verify a 3D Secure challenge and save the card

Complete the card-save flow: the provider runs a nominal verification charge against the authenticated card, voids it, and persists the card. Returns the saved payment method.

Send the nonce the client SDK resolves after the challenge, or paymentMethod.nonce from the lookup when no challenge was required — never the nonce the lookup was started with. Add the vault aliases minted during tokenization. Raw card data (PAN, CVV, plaintext expiry) is never accepted, and the verification amount is fixed server-side — only its currency is caller-supplied.

billingAddressId / invoiceProfileId optionally set the card's default billing references.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Request body for POST /v1/payment-methods/verify.

Carries the tokenized nonce and the vault aliases minted during
client-side tokenization — never PAN, CVV, or plaintext expiry. The alias
fields are named for what they are so a caller cannot mistake them for raw
card fields, and extra="forbid" rejects any unexpected field, including
a stray number or cvv.

The verification amount is not accepted from the caller: it is pinned
server-side, because the upstream turns it into a real card sale.

string
required
length ≥ 1

The nonce the client SDK resolves after the challenge, or paymentMethod.nonce from the lookup when no challenge was required. Single-use; never a raw card number.

string
required
length ≥ 1

Display label for the card (shown in card selectors).

string
required
length between 3 and 3
^[A-Z]{3}$

ISO 4217 currency the verification charge is denominated in. The amount itself is fixed server-side.

string
required
length ≥ 1

Vault alias standing in for the card number. Never a PAN.

string
required
length ≥ 1

Vault alias standing in for the card expiry month.

string
required
length ≥ 1

Vault alias standing in for the card expiry year.

Mercury billing-address UUID to set as the card default.

Mercury invoice-profile UUID to set as the card default.

Responses

401

Missing or invalid authentication token, or the upstream rejected the forwarded credential while resolving billingAddressId / invoiceProfileId

403

Upstream refused the request despite a valid credential (resolved deny)

404

Billing address or invoice profile not found

422

Validation failed (unknown or missing fields)

502

Provider rejected the request (e.g. failed verification or an expired 3D Secure transaction), or did not confirm the saved payment method

503

Payment method service is temporarily unavailable

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json