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

# Modo test

> Integre o fluxo completo sem dinheiro real

O modo test é um **universo paralelo** ao live: mesmos endpoints, mesmas regras, mesmo livro-razão
— mas isolado e sem tocar nenhum provedor de pagamento. Use chaves `pk_test_…` / `sk_test_…`.

* Depósitos em test recebem um `emv` **sintético** (não é um PIX pagável de verdade).
* Você "paga" via `POST /v1/test/deposits/{id}/pay` — isso roda o **fluxo real** (status → `PAID`,
  crédito no saldo test, webhook `deposit.paid` assinado).
* Saldos, extratos e saques em test são totalmente separados do live.

```bash theme={null}
# 1. cria (test)
curl -X POST .../v1/deposits -H "x-api-key: pk_test_…" -H "x-api-secret: sk_test_…" \
  -d '{"amount_cents":10000,"external_id":"t1","payer":{...}}'

# 2. paga (simulação)
curl -X POST .../v1/test/deposits/dep_xxx/pay -H "x-api-key: pk_test_…" -H "x-api-secret: sk_test_…"
# → status PAID + webhook deposit.paid assinado disparado
```

<Warning>`/v1/test/deposits/.../pay` só aceita chave **test**. Com chave live, responde
`403 TEST_ONLY`.</Warning>

Quando tudo funcionar em test — inclusive a verificação da assinatura do webhook — troque as
chaves para `live` e o player passa a pagar PIX de verdade. Nenhuma mudança de código.
