O que vale para todos os gateways está nos conceitos: capacidade, erro, unidade monetária, status, retry. Cada página de gateway cobre só o que é específico dele.
| Capacidades | o que cada gateway declara suportar, e o que acontece quando você pede o que ele não tem |
| Resolvendo o gateway | PHPay::gateway() quando você sabe qual, PHPay::make() quando ele vem de configuração |
| Tratamento de erros | array é sucesso, falha é exceção — e qual exceção |
| Retry e idempotência | o que a biblioteca repete, o que ela recusa a repetir, e por quê |
| Testando | ClientFactory::fake(), para quem usa a biblioteca testar sem sair para a rede |
| Ambientes e credenciais | sandbox e produção em cada gateway, e como a credencial fica fora de dump |
| Cobrança portável | ChargeIntent, uma descrição de cobrança que vale em mais de um gateway |
| Cliente | o VO Customer, porque o mesmo campo tem seis grafias entre os gateways |
| Valores monetários | Money, porque reais e centavos não se misturam |
| Status de pagamento | PaymentStatus, porque "paga" tem dez grafias entre os gateways |
| Verificando o webhook que chega | provar que a notificação veio do gateway |
| Certificado e mTLS | um .p12 ou um par .crt + .key, que é como os PSPs de Pix entregam |
| QR Code estático | compor o BR Code de uma chave Pix localmente, que é como o padrão manda |
| Asaas | Woovi/OpenPix | Efí |
| Mercado Pago | PagBank | Pagar.me |
| AbacatePay | Cielo | Rede |
| Inter |