Simulation

Simulate 3DS authentication

POST/simulate/issuing/cards/{card_id}/threeds/challenge

Simulate a 3DS authentication attempt for a sandbox card and return the resulting 3DS attempt.

Set realtime_decision to supply the authentication decision without calling your endpoint. When it is omitted, Column sends a 3DS authentication decision request to your endpoint subscribed to decision.issuing.card_authentication; if no endpoint is subscribed, the simulator creates an OTP challenge.

  • frictionless_approve authenticates the attempt and fires issuing.3ds.authentication_completed.
  • challenge starts an OTP challenge and fires issuing.3ds.otp_generated. Finish it with the complete 3DS challenge

endpoint.

  • decline_authentication rejects the attempt and fires issuing.3ds.authentication_completed.

Path Parameters

card_id

stringRequired

Unique identifier for the card.

Body Parameters

amount

numberRequired

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

currency

stringRequired

ISO 4217 currency code for the transaction.

decline_reason

enumOptional

The simulated decline reason. Only meaningful when realtime_decision is decline_authentication; when omitted, Column defaults to suspected_fraud. Possible values: suspected_fraud, transaction_not_permitted

merchant_category_code

stringOptional

Optional merchant category code (ISO 18245 MCC) to put on the simulated 3DS attempt and on the decision request, so that authentication rules that depend on the merchant category can be exercised in sandbox.

merchant_country_code

stringOptional

Optional merchant country, ISO 3166-1 alpha-2, to put on the simulated 3DS attempt and on the decision request.

merchant_name

stringOptional

Optional merchant name to put on the simulated 3DS attempt and on the decision.issuing.card_authentication request. Omitted, it stays null.

merchant_url

stringOptional

Optional merchant URL to put on the simulated 3DS attempt and on the decision request.

message_category

enumOptional

Optional 3DS message category to put on the decision request: payment or non_payment (for example, adding a card to a merchant's file). Omitted, it stays null. Possible values: payment, non_payment

realtime_decision

enumOptional

Overrides the real-time 3DS decisioning webhook response for this simulated authentication. When omitted and the platform has a webhook endpoint subscribed to decision.issuing.card_authentication, the webhook is actually invoked. Possible values: frictionless_approve, challenge, decline_authentication