> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plugtopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fallback

> Continue tentando outro gateway quando um provedor falha ou recusa o pagamento.

Quando um gateway falha, fica indisponível ou recusa um pagamento por um motivo recuperável, a PlugToPay pode continuar o processamento usando outro provedor automaticamente — sem que o consumidor precise iniciar uma nova compra ou tentar outro meio de pagamento manualmente.

```
Gateway A
   ↓
Recusa / indisponível
   ↓
Fallback automático
   ↓
Gateway B
   ↓
Pagamento aprovado
```

## Como a PlugToPay decide o próximo gateway

Cada nova tentativa segue a mesma lógica de [roteamento](/concepts/routing): primeiro as regras de percentual (se houver), depois a ordem de prioridade configurada entre os gateways habilitados.

## Controles disponíveis

| Campo                   | Padrão     | Descrição                                          |
| ----------------------- | ---------- | -------------------------------------------------- |
| `retry_failed_payments` | `true`     | Habilita retentativas automáticas em caso de falha |
| `max_retry_attempt`     | `5` (1–10) | Número máximo de tentativas por transação          |

Cada tentativa fica registrada no array `transactions[]` da transação, com o gateway usado, o status e o código de resposta — veja [Status das transações](/status-codes#mapeamento-de-múltiplas-tentativas) para o formato completo.

<Warning>
  Nem toda recusa gera uma nova tentativa. Motivos como cartão vencido (`expired_card`) e saldo insuficiente (`insufficient_founds`) resultariam na mesma recusa em qualquer gateway, então o sistema interrompe imediatamente em vez de tentar de novo.
</Warning>

## Próximos passos

* [Ordem dos gateways](/orchestration/gateway-order) — como configurar a prioridade usada no fallback.
* [Configurações de orquestração](/orchestration/settings) — referência completa de `retry_failed_payments` e `max_retry_attempt`.
* [Status das transações](/status-codes) — como interpretar o resultado final após múltiplas tentativas.
