Recuperar pagamentos recorrentes
Quando um pagamento recorrente é rejeitado, a ação adequada depende do motivo da rejeição: alguns são temporários e se resolvem com uma nova tentativa de cobrança, enquanto outros exigem que o cliente atualize seu meio de pagamento. Este guia explica como consultar um pagamento rejeitado, identificar o motivo através do campo status_detail e definir uma estratégia de retentativas e comunicação para cada caso.
Estratégia de retentativas
Diante de uma rejeição, o Mercado Pago já executa retentativas automáticas de forma nativa: uma retentativa síncrona imediata com outro adquirente e, se o pagamento tiver binary_mode = false, uma otimização via adquirentes batch.
Se após essas tentativas internas o pagamento continuar rejeitado, você deve gerenciar a estratégia de retentativas de acordo com o motivo de cada rejeição: você determina a cadência das próximas tentativas (por exemplo, 24h, 48h ou 7 dias), decide quando vale a pena reprocessar e quando solicitar ao cliente que atualize seu meio de pagamento, e se encarrega da comunicação em cada caso.
Os passos a seguir descrevem como implementar esta estratégia de retentativas.
Para que a estratégia de retentativas funcione, seu sistema precisa saber imediatamente quando um pagamento falha e por qual motivo. Para isso, é necessário que você configure suas notificações Webhooks e receba alertas sobre a criação ou atualização de um pagamento, o que permitirá que você tome as ações pertinentes.
Certifique-se de ter configurado suas notificações Webhooks para o tópico Pagamentos (payment).
Diante de eventos de criação ou atualização de um pagamento, o Mercado Pago enviará uma notificação com o seguinte formato:
json{ "id": 12345, "live_mode": true, "type": "payment", "date_created": "2015-03-25T10:04:58.396-04:00", "user_id": 44444, "api_version": "v1", "action": "payment.created", "data": { "id": "132260878091" } }
Esta notificação contém apenas o ID do pagamento, não o seu status. Ao recebê-la, seu servidor deve consultar imediatamente a API de Pagamentos para obter os detalhes completos.
Para consultar o status de um pagamento, envie uma requisição /v1/payments/{id}GET utilizando o ID recebido na notificação.
curl -X GET \
'https://api.mercadopago.com/v1/payments/{id}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}'
Na resposta, localize os dois campos que indicam o código de rejeição e determinam sua próxima ação:
| Campo | Descrição | Exemplo |
status | Status atual do pagamento | "rejected" |
status_detail | Motivo específico da rejeição | "cc_rejected_insufficient_amount" |
Nem todas as rejeições devem ser tratadas da mesma forma. A categorização correta do erro a partir do seu status_detail determina se é necessário aplicar uma lógica de retentativa ou se é necessário acionar o pagador.
De acordo com sua natureza, as rejeições se agrupam em três categorias:
- Soft Declines (erros temporários): a rejeição é temporária e há alta probabilidade de aprovação em uma nova tentativa. Vale a pena reprocessar seguindo uma cadência.
- Hard Declines (erros permanentes): a rejeição não se resolve reprocessando, e insistir pode afetar sua reputação junto aos adquirentes. Não reprocesse e o cliente deve atualizar seu meio de pagamento.
- Erros de preenchimento ou configuração: requerem uma correção prévia, seja do cliente, seja da sua integração. Reprocesse somente após corrigir o dado ou a configuração.
Veja como reconhecer o tipo de erro e quais ações implementar a seguir.
status_detail | O que significa | Ação | Comunicação recomendada |
cc_rejected_insufficient_amount | Fundos insuficientes. O cliente não tem saldo disponível. | Reprocessar. Priorize dias de pagamento, por exemplo dias 1–5 ou 15–20 do mês. A cadência sugerida é de 24h, 48h, 72h. | Imediata (automática): "Seu pagamento falhou por saldo insuficiente. Certifique-se de ter saldo disponível. Tentaremos novamente em 24h." |
cc_amount_rate_limit_exceeded | Limite diário excedido. O cliente ultrapassou seu limite diário de cobranças. | Reprocessar. Aguarde 24 horas e reprocesse. | Imediata (automática): "Seu pagamento falhou por exceder o limite diário. Tentaremos novamente em 24h." |
cc_rejected_other_reason | Rejeito genérico do banco. O emissor não forneceu motivo específico. | Reprocessar com cautela. Reprocesse uma vez em 24h. Se falhar novamente, trate como hard decline. | Imediata (automática): "Seu banco recusou o pagamento sem nos informar o motivo. Tentaremos novamente em 24h. Se o problema persistir, entre em contato com seu banco." |
cc_rejected_call_for_authorize | O banco solicita a autorização do cliente para validar a compra. | Não reprocessar ainda. O reprocessamento falhará enquanto o cliente não autorizar a compra junto ao banco. | Imediata (ação necessária): "Seu banco bloqueou o pagamento e solicita sua autorização. Por favor, entre em contato com seu banco para aprovar a cobrança de [Nome da Empresa]. Avise-nos quando isso for feito para tentarmos novamente." |
cc_rejected_time_out / cc_rejected_expired_operation | Timeout do processador. Erro técnico ou de tempo de espera. | Reprocessar. Aguarde de 5 a 15 minutos e reprocesse a cobrança. | Nenhuma comunicação é necessária ainda. O cliente não tem responsabilidade pelo erro. Reprocesse 1 ou 2 vezes; se continuar falhando, notifique o cliente. |
Na maioria dos fluxos, o Mercado Pago não contata o cliente final em seu nome. O gerenciamento da comunicação em casos de rejeição é responsabilidade do estabelecimento e é tão importante quanto a retentativa técnica.
Por isso, é necessário que você defina uma estratégia de comunicação levando em conta os seguintes pontos:
-
Defina uma janela de recuperação: determine por quanto tempo o cliente tem para resolver o motivo do rejeito do pagamento antes de suspender o serviço.
-
Segmente a comunicação por tipo de erro:
- Soft Declines: use um tom de baixa fricção. Comunique que houve um problema temporário e que o reprocessamento será feito automaticamente.
- Hard Declines: use um tom de urgência. Informe que o serviço corre risco de suspensão e solicite a atualização imediata do meio de pagamento.
-
Forneça um link de atualização seguro: direcione o cliente a um portal seguro onde ele possa atualizar seu meio de pagamento; nunca solicite seus dados por outros meios. Quando o cliente realizar a atualização, execute a cobrança pendente imediatamente.
Para mais informações sobre como melhorar a aprovação de pagamentos, consulte as recomendações para melhorar a aprovação.