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

> ## Agent Instructions
> Valora Payments API (Brazil: Pix, card, boleto). Base URL https://api.valorapayments.com.br, Authorization: Bearer sk_vl_... used only on the server. Request amounts are reais as strings ("149.90"); response amounts are integer cents (14990). Use POST /v1/checkouts for card and boleto; POST /v1/payments only creates Pix and should send an Idempotency-Key. Confirm payments only through the payment.succeeded webhook after verifying X-Valora-Signature (hex HMAC-SHA256 of "<t>.<raw body>"), dedupe by event.id and check livemode. Never invent endpoints or fields: check /llms.txt and /openapi.json.

# Testes

> Roteiro para validar a sua integração com uma chave de teste antes de receber pagamentos reais.

Com uma chave de teste (Sandbox), tudo funciona como em produção, mas nenhum dinheiro real se move. Os pagamentos de teste aparecem com `livemode: false` e os webhooks são entregues de verdade para a sua URL.

## Roteiro

**1. Webhook recebido e assinatura válida**

Cadastre o endpoint, crie uma cobrança e confira em **Desenvolvedores → Webhooks** se a entrega ficou como entregue. Teste também uma assinatura errada: o seu servidor deve recusar.

**2. Pix**

Crie um Pix com `POST /v1/payments` e confira que o QR Code e o copia e cola aparecem para o cliente. Deixe um Pix expirar (use `expires_in: 60`) e confira o evento `payment.expired`.

**3. Checkout**

Crie uma compra com `POST /v1/checkouts`, abra o `checkout_url` e percorra cada forma de pagamento aceita.

**4. Cartão**

No checkout de teste, use um cartão de teste (abaixo) e confira `payment.succeeded`. Depois, provoque uma recusa e confira `payment.failed`.

**5. Eventos repetidos**

Reenvie uma entrega pelo painel e confira que o seu sistema não libera o pedido duas vezes.

**6. Erros**

Envie um corpo inválido e confira que o seu sistema mostra a mensagem certa (`422 invalid_request`).

## Cartões de teste

| Número | Bandeira | Resultado esperado |
| - | - | - |
| `4012 0010 3844 3335` | Visa | aprovado |

Use qualquer nome, validade futura, CVV de 3 dígitos e um CPF válido.

> [!WARNING]
>
> Nunca use um cartão real no ambiente de teste.

## Depois dos testes

Quando o roteiro passar, siga o [checklist de produção](https://dev.valorapayments.com.br/integrar/producao.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.