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

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