Skip to main content
Quando um emissor ou um adquirente recusa um pagamento, o Therius retorna um status declined na resposta síncrona e dispara um webhook payment.refused. Ambos trazem um objeto refusalCode que diz por que o pagamento falhou e o que fazer em seguida.

O objeto refusalCode

Somente reasonCode e recoveryAction são seguros para construir lógica. originalReasonCode / originalReason são diagnósticos de repasse e seu formato não é estável entre provedores.

recoveryAction

O Therius classifica cada recusa em uma de três ações de recuperação para que o seu checkout possa responder sem codificar manualmente uma decisão para os mais de 60 códigos.

retry

A recusa pode se resolver em uma segunda tentativa — uma mensagem malformada ou fora de hora, uma falha do sistema, ou uma resposta genérica do emissor (incluindo “Do not honor”). Refazer o mesmo cartão uma vez é razoável. Sempre limite as novas tentativas a um número fixo pequeno — não faça loops.

switch_method

Refazer este cartão não vai ajudar (fundos insuficientes, cartão expirado, cartão restrito), mas um método de pagamento diferente pode ter sucesso. Peça ao cliente para tentar outro cartão ou um método alternativo.

terminal

Um bloqueio definitivo — cartão a reter/perdido/roubado, conta encerrada, suspeita de fraude, ou uma ordem de revogação. Não ofereça uma nova tentativa nem um método alternativo. Mostre uma mensagem de falha neutra e pare.
Um reasonCode não reconhecido ou ausente é reportado como switch_method — o padrão seguro, já que refazer cegamente uma recusa não classificada arrisca penalidades por tentativas excessivas das bandeiras de cartão.
As bandeiras de cartão monitoram as tentativas de autorização repetidas em um cartão recusado (Visa VAMP, Mastercard excessive-attempts). Nunca refaça uma recusa terminal, e nunca refaça nenhuma recusa mais do que um número pequeno e fixo de vezes.

Reroteamento automático

A maioria das recusas temporárias é refeita pelo Therius antes de você as ver — o roteamento inteligente leva o pagamento em cascata para a próxima conexão da rota. Portanto, a recusa que você recebe na resposta é o resultado depois de o Therius já ter esgotado as alternativas daquela rota. As recusas definitivas (terminal acima, além de algumas outras como PIN incorreto e falhas de CVV) são retornadas imediatamente e nunca são rerroteadas, porque refazê-las em outro adquirente só acrescentaria violações da bandeira.

Assinaturas e gestão de cobranças

Para as renovações de assinatura, o Therius aplica a mesma classificação internamente: uma recusa terminal para a sequência de gestão de cobranças imediatamente (a assinatura vai para suspended e dispara subscription.suspended), em vez de desperdiçar as novas tentativas restantes em um cartão que o emissor nunca vai aprovar.

Referência de códigos de recusa

Os valores de reasonCode normalizados que o Therius pode retornar, com seu significado e sua recoveryAction padrão.