Skip to main content
Payment Retries cobra novamente os pagamentos de renovação de assinatura com falha automaticamente, seguindo uma programação com intervalos progressivos. Quando uma tentativa é bem-sucedida, a assinatura retorna para active, sem nenhuma ação do cliente e sem trabalho de integração.

O que são novas tentativas de pagamento?

Quando um pagamento de renovação de assinatura falha, a assinatura muda para on_hold ou para past_due se você definir um período de carência. Com o Payment Retries ativado, o Dodo Payments cobra novamente o método de pagamento salvo do cliente seguindo uma programação até que uma cobrança seja bem-sucedida ou a janela de recuperação termine. As novas tentativas recuperam a receita perdida devido a falhas temporárias, como uma retenção temporária no cartão, fundos insuficientes que o cliente adiciona posteriormente ou um erro de rede transitório. O cliente não recebe nenhum e-mail e não precisa alterar nada.
O Payment Retries se aplica somente a pagamentos de renovação de assinatura. O primeiro pagamento de uma assinatura (configuração do mandato), pagamentos avulsos, cobranças por alteração de plano e cobranças sob demanda não são processados novamente.

Como funcionam as novas tentativas de pagamento

1

Renewal fails

Um pagamento de renovação de assinatura falha, e a assinatura muda para on_hold ou para past_due durante um período de carência.
2

Retryability check

O Dodo Payments verifica o código de erro da falha. Recusas temporárias, como fundos insuficientes, uma recusa genérica ou um erro de processamento ou de rede, podem ser tentadas novamente. Recusas definitivas encerram a sequência de tentativas, pois outra tentativa não mudará o resultado. Uma falha sem código de erro é considerada uma recusa definitiva.
3

Scheduled retry

Se a recusa puder ser tentada novamente e a próxima tentativa couber na janela de recuperação, o Dodo Payments a agenda. Cada nova tentativa é uma cobrança off-session no método de pagamento salvo do cliente, e cada intervalo é contado a partir da falha anterior.
4

Recovery

Na primeira tentativa bem-sucedida, a assinatura retorna para active, e a próxima data de cobrança passa a ser um período de cobrança após a tentativa bem-sucedida. Se a janela terminar antes que qualquer tentativa seja bem-sucedida, as tentativas param e a assinatura mantém seu status, como on_hold.

Configuração das novas tentativas de pagamento

Ative e configure o Payment Retries em Settings → Recovery no seu dashboard.
Página Recovery Settings com a opção Enable Payment Retries ativada e o campo Recovery window (days) definido como 13

Payment Retries settings under Settings → Recovery

A página tem duas configurações: A janela de recuperação começa quando a invoice da renovação com falha é criada. O Dodo Payments agenda uma tentativa somente se a soma de todos os intervalos até essa tentativa couber na janela e somente enquanto a janela ainda estiver aberta.

Programação de tentativas

Os intervalos entre as tentativas aumentam progressivamente. O Dodo Payments faz até 8 tentativas, desde que cada uma caiba na sua janela de recuperação:
A janela padrão de 13 dias cobre as tentativas de 1 a 5, pois a tentativa 5 ocorre aproximadamente 10,5 dias após a falha. Para executar as tentativas posteriores, com intervalos maiores, aumente a janela: a tentativa 6 precisa de pelo menos 16 dias, a tentativa 7 de pelo menos 23 dias e a tentativa 8 do máximo de 30 dias.

Transições de status da assinatura

As tentativas movem a assinatura entre estes status:
Quando uma assinatura é cancelada, sua sequência de tentativas termina e nenhuma outra tentativa é feita. Todos os outros status (on_hold, past_due, expired, pending, failed) continuam tentando, pois a invoice de renovação aberta é uma dívida referente a um período que o cliente já utilizou. As tentativas também param quando a invoice é paga de outra forma, por exemplo, depois que o cliente atualiza seu método de pagamento, ou quando você adiciona o cliente à sua blocklist.
Essas transições emitem os eventos padrão de webhook de assinatura, portanto sua lógica de entitlement não precisa de tratamento específico para tentativas novamente:

Subscription Webhook Payloads

Veja os schemas completos do payload de webhook para eventos do ciclo de vida da assinatura.

Falhas que permitem ou não novas tentativas

O código de erro da falha mais recente determina se a sequência continua:
Tentar novamente uma recusa definitiva não mudará o resultado, portanto a sequência termina assim que uma recusa definitiva ocorre. Combine o Payment Retries com o Subscription Dunning para solicitar um novo método de pagamento ao cliente nesses casos. Para saber o tipo de cada código, consulte Transaction Failures.

Tentar novamente sob demanda

Você não precisa esperar pela próxima tentativa agendada. Enquanto uma assinatura estiver em on_hold, você pode enviar uma tentativa novamente pela página de detalhes do pagamento com falha no dashboard ou com POST /payments/{payment_id}/retry. As tentativas manuais são executadas independentemente da programação: não consomem nem movem uma tentativa automática e funcionam mesmo quando o Payment Retries está desativado. Consulte Manual Payment Retry.

Payment Retries vs. Dunning

O Payment Retries e o Subscription Dunning recuperam tipos diferentes de falha: Ative ambos para obter a cobertura mais ampla: as tentativas automáticas capturam falhas transitórias, e o dunning recupera clientes cujo método de pagamento precisa ser substituído.

Relacionados

Manual Payment Retry

Envie uma tentativa novamente imediatamente, em vez de esperar pela próxima tentativa agendada.

Subscription Dunning

Sequências de e-mails que solicitam que os clientes atualizem seu método de pagamento.

Abandoned Cart Recovery

Recupere checkouts abandonados ou com falha com e-mails de recuperação.

Subscriptions

Os estados de assinatura entre os quais os fluxos de recuperação transitam.

Subscription Webhooks

Reaja aos eventos subscription.on_hold e subscription.active.
Última modificação em 26 de setembro de 2026