Cards

Complete simulated 3DS challenge

Complete the OTP challenge on a simulated 3DS attempt. The attempt must have an open challenge, created by simulating a 3DS authentication that resolves to challenge.

An outcome of successful authenticates the attempt, which you can then pass as three_ds_attempt_id when simulating a card authorization. failed rejects the attempt. Both outcomes fire issuing.3ds.authentication_completed.

post/simulate/issuing/threeds/{three_ds_attempt_id}/complete

Request

  • Base URL: https://api.column.com
  • URL: https://api.column.com/simulate/issuing/threeds/{three_ds_attempt_id}/complete
  • Auth: HTTP basic

Path parameters

three_ds_attempt_idstring required

Request body

outcome'successful' | 'failed' required

The outcome of the 3DS challenge. Must be one of successful or failed.

Example request

{
  "outcome": "successful"
}

Response

Successful response

acs_transaction_idstring required

The Access Control Server (ACS) transaction identifier

amountinteger required

The transaction amount in the smallest unit of the currency (e.g., cents for USD)

attempt_countinteger required

The number of authentication attempts made

attempt_status'rejected' | 'presented' | 'challenged' | 'authenticated' | 'associated' required

The status of a 3DS authentication attempt

card_account_idstring required

The card account associated with this 3DS attempt

card_idstring required

The card associated with this 3DS attempt

challenged_atstring date-time nullable

Timestamp when the challenge was presented to the cardholder

challenges_presentedstring[] nullable

List of challenge types that were presented to the cardholder

chosen_challenge'frictionless' | 'attempts' | 'otp' | 'biometric' | 'external'

The type of challenge used in 3DS authentication

completed_atstring date-time nullable

Timestamp when the authentication was completed

created_atstring date-time required

Timestamp when the 3DS attempt was created

currencystring required

The ISO 4217 currency code for the transaction

ds_transaction_idstring required

The Directory Server (DS) transaction identifier

idstring required

Unique identifier for the 3DS attempt

merchant_category_codestring nullable

The Merchant Category Code (MCC)

merchant_country_codestring nullable

The ISO 3166-1 alpha-2 country code of the merchant

merchant_namestring nullable

The name of the merchant

merchant_urlstring nullable

The URL of the merchant

otp_valuestring nullable

The one-time password value used for authentication

outcome_reason'frictionless' | 'challenged_accepted' | 'attempts' | 'card_account_status' | 'failed_challenge' | 'rule_rejected' | 'error'

The reason for the 3DS authentication outcome

realtime_decision'frictionless_approve' | 'challenge' | 'decline_authentication' nullable

The platform's real-time 3DS authentication decision. Only set when the platform uses real-time 3DS decisioning

three_ds_message_versionstring required

The 3D Secure protocol message version

updated_atstring date-time required

Timestamp when the 3DS attempt was last updated

Example response

{
  "acs_transaction_id": "9a2c4e6b-3f1d-4b8a-a5e7-1c3d5f7b9e20",
  "amount": 12345,
  "attempt_count": 1,
  "attempt_status": "authenticated",
  "card_account_id": "cacc_2x8gszy5folpA9s0TOCseE9ABDM",
  "card_id": "card_2x8gszy5folpA9s0TOCseE9ABDM",
  "challenges_presented": [
    "otp"
  ],
  "chosen_challenge": "otp",
  "currency": "USD",
  "ds_transaction_id": "4f8b2c1e-9a3d-4e7b-8c6f-2d1a5b9e3c70",
  "id": "tdsa_2x8gszy5folpA9s0TOCseE9ABDM",
  "merchant_category_code": "5411",
  "merchant_country_code": "US",
  "merchant_name": "Yellen Cocktails, LLC",
  "merchant_url": "https://example.com",
  "outcome_reason": "challenged_accepted",
  "three_ds_message_version": "2.3.1"
}

Changes

No recorded changes to this operation across all 1 revision of this API.