# (Sandbox only) Create test 3DS transaction This endpoint simulates a test 3DS transaction for the card_id specified in the request URL. Calling this endpoint will begin the 3DS transaction process. The API will return a JSON schema containing the HTML for the 3DS challenge screen. This endpoint is only available on Endpoint: POST /v1/cards/{card_id}/test_3ds_authentication Version: 1.0 ## Path parameters: - `card_id` (string, required) ## Request fields (application/json): - `merchant_name` (string, required) The name of the merchant. - `purchase_currency` (string, required) The currency used for the purchase. - `purchase_amount` (integer, required) The purchase amount (in Euro cents). ## Response 200 fields (application/json): - `html` (string) The HTML for the 3DS challenge screen. Example: "..." ## Response 400 fields (application/json): - `errors` (array, required) Example: [{"id":"b805c37f-75e9-4445-974c-12d28e7584ee","status":400,"code":"not_available","title":"Not Available","detail":"Endpoint not available for production environment"}] - `errors.id` (string) A unique identifier for this error message. Example: "b805c37f-75e9-4445-974c-12d28e7584ee" - `errors.status` (integer) The HTTP status code of the response (typically in the range 4xx–5xx). Example: 400 - `errors.code` (string) A machine-readable representation of the error type. Example: "invalid_json" - `errors.title` (string) The human-readable name of the error type. Example: "Invalid JSON" - `errors.detail` (string) A human-readable description of the error. Example: "The provided JSON was not properly formatted." ## Response 404 fields (application/json): - `errors` (array, required) Example: [{"id":"b805c37f-75e9-4445-974c-12d28e7584ee","status":404,"code":"model_not_found","title":"Model Not Found","detail":"Couldn't find 'Account' for id '??????????acc'."}] - `errors.id` (string) A unique identifier for this error message. Example: "b805c37f-75e9-4445-974c-12d28e7584ee" - `errors.status` (integer) The HTTP status code of the response (typically in the range 4xx–5xx). Example: 400 - `errors.code` (string) A machine-readable representation of the error type. Example: "invalid_json" - `errors.title` (string) The human-readable name of the error type. Example: "Invalid JSON" - `errors.detail` (string) A human-readable description of the error. Example: "The provided JSON was not properly formatted." ## Response 500 fields (application/json): - `errors` (array, required) Example: [{"id":"b805c37f-75e9-4445-974c-12d28e7584ee","status":500,"code":"generic_error","title":"Generic Error","detail":"There was an error."}] - `errors.id` (string) A unique identifier for this error message. Example: "b805c37f-75e9-4445-974c-12d28e7584ee" - `errors.status` (integer) The HTTP status code of the response (typically in the range 4xx–5xx). Example: 400 - `errors.code` (string) A machine-readable representation of the error type. Example: "invalid_json" - `errors.title` (string) The human-readable name of the error type. Example: "Invalid JSON" - `errors.detail` (string) A human-readable description of the error. Example: "The provided JSON was not properly formatted."