Skip to main content
POST
Cuando un purchase o una autorización devuelve status: "pending_3ds", el titular de la tarjeta debe completar un desafío 3D Secure en la URL proporcionada en actionRequired.url. Una vez que el titular de la tarjeta termina el desafío, llama a POST /payment/resume para continuar procesando el pago y recibir el resultado final.

Cómo funciona la reanudación de 3DS

  1. Tu llamada de purchase o autorización devuelve status: "pending_3ds" con un objeto actionRequired.
  2. Redirige al titular de la tarjeta (o abre un iframe) a actionRequired.url.
  3. Después de que se completa el desafío, el titular de la tarjeta es redirigido de vuelta a tu sitio.
  4. Llamas a POST /payment/resume con el sessionId para obtener el resultado final del pago.
No se requiere clave de API para este endpoint. El propio sessionId actúa como la credencial y está limitado a un solo pago pendiente. Las sesiones expiran 15 minutos después de que se emite el desafío 3DS — si la sesión ha expirado, se debe reintentar el purchase o la autorización original.
Este endpoint maneja solo pending_3ds. No maneja pending_ddc (recolección de datos del dispositivo). Para flujos DDC, reintenta la solicitud original de purchase o autorización con threeDsSetup.sessionId establecido en el ID de sesión de DDC.
La respuesta es una respuesta de pago completa con el status final, refusalCode en caso de rechazo, y todo lo demás — la misma forma que purchase/authorization.

Reanudar después de un desafío 3DS

Sesión expirada — 400 Bad Request
Si usas el SDK JS de Therius, no necesitas llamar a este endpoint manualmente. Llama a sdk.handleAction(result.actionRequired) después de recibir una respuesta pending_3ds y el SDK maneja el redirect, escucha la finalización del desafío y reanuda el pago automáticamente. Devuelve una promesa que se resuelve con el paymentResponse final.

Cuerpo

application/json
sessionId
string
requerido

The sessionId from a pending_3ds / pending_action payment response.

Respuesta

200 - application/json

Resumed payment result

id
string<uuid>

The Therius payment id. Returned by POST /payment/authorization and POST /payment/purchase; use it as the {id} path segment for capture, refund, cancel and cancel_or_refund.

Ejemplo:

"9f8b2c1e-4d5a-6b7c-8d9e-0f1a2b3c4d5e"

status
enum<string>

captured - funds settled; authorized - funds reserved, call capture to settle; declined - issuer declined, see refusalCode; pending_3ds - a 3DS challenge is required, see actionRequired; pending_action - an external action (redirect, voucher) is required, see actionRequired; failed - processing error unrelated to the issuer; cancelled - authorization voided; refunded - captured funds returned.

Opciones disponibles:
captured,
authorized,
declined,
pending_3ds,
pending_action,
failed,
cancelled,
refunded
paymentCode
string

Therius receipt ID, for reconciliation, support and Inquiry. NOT the handle for capture/refund/cancel — use id for that.

Ejemplo:

"PC-1234567890"

orderCode
string

Your orderCode, echoed back.

merchantCode
string

Your merchantCode, echoed back.

autorizationCode
string

Issuer authorization code on an approved payment. The field name is misspelled on the wire (no h) - this is intentional and stable.

paymentMethod
string

Payment method used, e.g. card, pix, ach.

connectionCode
string

Code of the gateway connection that processed the payment.

connectionName
string

Display name of the gateway connection that processed the payment.

amount
object
card
object

Card details from the response: masked PAN, brand, type, and the network transaction/reference IDs to cite on future MIT charges.

apm
object

Alternative-payment-method details (redirect URL, QR code, barcode) when paymentMethod is an APM.

token
object

Present when the card was tokenized (tokenize: true).

actionRequired
object

Present when status is pending_3ds or pending_action. Describes what the cardholder must do next — with the Therius JS SDK, pass the whole object to sdk.handleAction().

refusalCode
object

Present when status is declined. See the Declined Payments concept page for the full code table and how to react to each recoveryAction.