post
https://example.com/v1/payment-methods/3ds-lookup
Run the 3D Secure lookup for a tokenized card and return the continuation envelope the client SDK consumes. Pass the body unchanged to the client SDK's initializeChallengeWithLookupResponse().
Branch on threeDSecureInfo — never on whether lookup.acsUrl is set (Mercury guarantees it only on the challenge row):
| liabilityShifted | liabilityShiftPossible | lookup.acsUrl | Client action |
|---|---|---|---|
| true | any | ignore | Frictionless — skip the SDK, call POST /v1/payment-methods/verify with paymentMethod.nonce |
| false | true | set | Challenge — hand the body to the SDK; call verify with the nonce it resolves, only if it reports liabilityShifted |
| false | true | null | Never returned — Mercury answers 502 |
| false | false | ignore | Issuer refused, card not enrolled, or ACS unavailable — stop, do not call verify; tell the traveler the bank could not verify this card |
Raw card data (PAN, CVV, expiry) is never accepted.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
401Missing or invalid authentication token
403Authentication denied
422Validation failed (unknown or missing fields)
502Provider rejected the request (e.g. invalid nonce), or returned a lookup payload Mercury could not map
503Payment method service is temporarily unavailable