Skip to main content
POST
Quando um purchase ou uma autorização devolve status: "pending_3ds", o titular do cartão deve concluir um desafio 3D Secure na URL fornecida em actionRequired.url. Assim que o titular do cartão termina o desafio, chame POST /payment/resume para continuar processando o pagamento e receber o resultado final.

Como funciona a retomada de 3DS

  1. A sua chamada de purchase ou autorização devolve status: "pending_3ds" com um objeto actionRequired.
  2. Redirecione o titular do cartão (ou abra um iframe) para actionRequired.url.
  3. Depois que o desafio é concluído, o titular do cartão é redirecionado de volta para o seu site.
  4. Você chama POST /payment/resume com o sessionId para obter o resultado final do pagamento.
Nenhuma chave de API é necessária para este endpoint. O próprio sessionId age como a credencial e é limitado a um único pagamento pendente. As sessões expiram 15 minutos depois que o desafio 3DS é emitido — se a sessão expirou, o purchase ou a autorização original deve ser refeito.
Este endpoint trata apenas pending_3ds. Ele não trata pending_ddc (coleta de dados do dispositivo). Para fluxos DDC, refaça a requisição original de purchase ou autorização com threeDsSetup.sessionId definido como o ID de sessão de DDC.
A resposta é uma resposta de pagamento completa com o status final, refusalCode em caso de recusa, e todo o resto — a mesma forma de purchase/authorization.

Retomar após um desafio 3DS

Sessão expirada — 400 Bad Request
Se você usa o SDK JS do Therius, você não precisa chamar este endpoint manualmente. Chame sdk.handleAction(result.actionRequired) depois de receber uma resposta pending_3ds e o SDK trata o redirecionamento, escuta a conclusão do desafio e retoma o pagamento automaticamente. Ele devolve uma promise que resolve com o paymentResponse final.

Corpo

application/json
sessionId
string
obrigatório

The sessionId from a pending_3ds / pending_action payment response.

Resposta

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.

Exemplo:

"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.

Opções disponíveis:
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.

Exemplo:

"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.