Retrieve 3DS verification

Time Status User Agent
Make a request to see history.

URL Expired

The URL for this request expired after 30 days.

verificationId

uuid

required

accept

string

enum

Defaults to application/hal+json

Generated from available response content types

application/hal+jsonapplication/problem+json

Allowed:

application/hal+json``application/problem+json

``200 Successful operation

object

_links

object

required

self

object

required

The link to this verification resource.

self object

steps

object

required

The link to this verification's steps (/card-verifications/3ds/{verificationId}/steps).

steps object

currentStep

object

The link to the step the client should execute next. Absent once the

verification reaches a terminal state (completed or failed).

currentStep object

id

uuid

required

The unique identifier of the Verification entity.

subaccountId

uuid

required

The unique identifier of the subaccount related to this entity.

cardId

uuid

required

The unique identifier of the card related to this entity.

type

string

enum

required

Verification Step Type

3DS

currentStepId

string | null

enum

The identifier of the next step the client should execute. null when

the verification has no follow-up step — typically because the issuer

supports frictionless authentication, or because the card did not

require interactive 3DS. When null, state will be completed on the

creation response and clients should not call any /steps/... endpoint.

On retrieved/listed verifications, currentStepId is also null with

state: failed when the card was declined synchronously at creation

(the creation call returned 400, and the attempt is persisted as a

failed verification with its failureReason).

For the HIGHEST tier, a frictionless 3DS outcome does NOT complete the verification: it returns stripe-holds-pending (the cardholder must

initiate two small verification holds via /steps/place-holds), which

then advances to stripe-amount-confirm (the cardholder reads the two

amounts back via /steps/amount-confirm).

fingerprint``challenge``stripe-3ds``stripe-holds-pending``stripe-amount-confirm``null

state

string

enum

required

Current Verification state

completed``failed``in-progress

clientSecret

string

Stripe SetupIntent or PaymentIntent client secret, used by the client to run stripe.handleNextAction. Returned whenever the verification is on the Stripe 3DS step — on the creation response (POST /card-verifications/3ds) and on the retrieve response (GET /card-verifications/3ds/{verificationId}) while currentStepId is stripe-3ds.

stripePublishableKey

string

Stripe publishable key to initialize Stripe.js on the client. Returned alongside clientSecret (creation response and retrieve response while currentStepId is stripe-3ds).

authenticationFlow

string | null

enum

The 3DS authentication flow attested by the issuer, surfaced at the terminal state.

challenge = the cardholder actively authenticated; frictionless = the issuer approved

without interaction; null = 3DS was not engaged (e.g. a low-risk automatic skip).

challenge``frictionless``null

failureReason

object

Normalized, customer-facing reason the verification failed. Present only when

state is failed — read it to triage the failure (category, retryability,

and the issuer's message). See the FailureReason schema.

category

string

enum

required

Stable, provider-agnostic failure category an integrator can branch on without

enumerating raw issuer codes.

authentication_declined``authentication_canceled``cvc_check_failed``card_declined``contact_issuer``card_blocked``too_many_attempts``not_supported``temporary_issue``processing_error

description

string

required

Human-readable explanation of the failure, safe to relay to the cardholder.

retryable

boolean

required

Whether the cardholder can retry now and plausibly succeed.

issuerMessage

string

The issuer's own cardholder-facing message, when provided (frictionless declines only).

code

string

Raw provider reason code (e.g. a 3DS transStatusReason or a Stripe decline_code),

surfaced for support escalation.

providerMessage

string

The payment provider's cardholder-safe message for the specific failure code (e.g.

"Your card does not support this type of purchase."). Finer-grained than the

category-level description; absent when the provider supplied none.

adviceCode

string

The issuer's advice code on authorization declines, verbatim from the payment

provider. Documented values: try_again_later, do_not_try_again,

confirm_card_data; values the provider introduces later pass through unchanged.

Absent when the issuer gave no advice (e.g. 3-D Secure authentication failures).

acsReferences

object

3DS ACS reference identifiers, when returned by the issuer — useful when escalating to the issuer.

acsReferences object

createdAt

date-time

required

Date and time when this resource was created, in UTC, following ISO 8601 format.

updatedAt

date-time

required

Date and time when this resource was last updated, in UTC, following ISO 8601 format.

``400 The server cannot or will not process the request due to something that is perceived to be a client error

``401 Authentication credentials were either missing or incorrect

``403 Authentication credentials used do not have have permissions to perform the request

``404 The requested resource was not found on the server

``500 The server encountered an unexpected condition that prevented it from fulfilling the request

Updated 18 days ago


ShellNodeRubyPHPPython

Bearer


xxxxxxxxxx

curl --request GET \

--url https://api.astrada.co/card-verifications/3ds/verificationId \
     --header 'accept: application/hal+json'

xxxxxxxxxx

{

"_links": {

"self": {

"href": "/card-verifications/3ds/9fab1bea-bc1e-4757-bd47-479422e5983b"

},

"steps": {

"href": "/card-verifications/3ds/9fab1bea-bc1e-4757-bd47-479422e5983b/steps"

},

"currentStep": {

"href": "/card-verifications/3ds/9fab1bea-bc1e-4757-bd47-479422e5983b/steps/fingerprint"

}

},

"id": "9fab1bea-bc1e-4757-bd47-479422e5983b",

"subaccountId": "f297d659-c13d-4219-aeaa-e10a845140a5",

"cardId": "8309b5f8-d5d8-49bb-9001-38bf1bb0f1e4",

"type": "3DS",

"currentStepId": "fingerprint",

"state": "in-progress",

"createdAt": "2024-01-04T18:53:32.000Z",

"updatedAt": "2023-01-04T10:55:12.000Z"

}