Ambiente sandbox
O sandbox (ambiente demo) replica o fluxo Pix inteiro — cobrança, confirmação, saque, disputa e webhook — sem mover dinheiro de verdade. É onde você valida a integração antes de ir para produção.
URL base
Seção intitulada “URL base”O sandbox atende em um endereço próprio. Chamar api.avexus.app com
credenciais de teste não funciona — e, pior, com credenciais de produção você
estaria movendo dinheiro real.
https://sandbox-api.avexus.appValores mágicos
Seção intitulada “Valores mágicos”No sandbox, o valor da cobrança decide o desfecho. Assim você exercita cada estado da máquina de status de forma determinística: basta cobrar o valor correspondente.
| Valor | Desfecho |
|---|---|
11.11 |
PENDING — fica pendente (só a expiração natural age) |
12.22 |
FAILED |
13.33 |
REFUNDED — confirma e reverte |
14.44 |
EXPIRED |
15.55 |
DISPUTE_NEEDS_RESPONSE |
16.66 |
DISPUTE_IN_REVIEW |
17.77 |
DISPUTE_WON |
18.88 |
DISPUTE_LOST |
| qualquer outro | CONFIRMED |
Como testar
Seção intitulada “Como testar”Crie a cobrança normalmente com o valor do desfecho que você quer. Ela nasce
PENDING e, depois de um intervalo curto, o sandbox a conduz ao status alvo —
nos casos de disputa, a cobrança é confirmada, a disputa é aberta e avançada até
o sub-status indicado.
curl --request POST \ --url https://sandbox-api.avexus.app/api/transactions \ --header 'Content-Type: application/json' \ --header 'x-api-key: <API_KEY>' \ --header 'x-token: <TOKEN>' \ --header 'idempotency-key: <UNIQUE_KEY>' \ --data '{ "amount": 12.22, "external_ref": "teste_falha_001", "payment_method": "Pix", "requester": { "name": "Maria Souza", "email": "maria@example.com", "phone": "11999999999", "document": "12468239008" } }'curl --request POST \ --url https://sandbox-api.avexus.app/api/transactions \ --header 'Content-Type: application/json' \ --header 'x-api-key: <API_KEY>' \ --header 'x-token: <TOKEN>' \ --header 'idempotency-key: <UNIQUE_KEY>' \ --data '{ "amount": 18.88, "external_ref": "teste_disputa_001", "payment_method": "Pix", "requester": { "name": "Maria Souza", "email": "maria@example.com", "phone": "11999999999", "document": "12468239008" } }'Acompanhe a transição consultando a cobrança ou — melhor — registrando um
webhook para receber cada mudança em tempo real. Se preferir
testar só o transporte, POST /api/webhooks/{magic_id}/test dispara uma entrega
assinada na hora.
O que testar antes de ir para produção
Seção intitulada “O que testar antes de ir para produção”- Confirmação — o caminho feliz, com o webhook liberando o pedido.
- Falha e expiração — a sua tela oferece gerar um novo código?
- Reentrega — derrube o seu endpoint de propósito e confira se o retry chega.
- Assinatura inválida — o seu handler recusa um
POSTforjado? - Idempotência — processe a mesma entrega duas vezes e verifique se o efeito colateral acontece uma vez só.
- Saldo insuficiente no saque — peça mais do que tem e trate o
422.
Veja também
Seção intitulada “Veja também”- Status de transação — o que cada status significa.
- Receber webhooks — as transições em tempo real.
- Quickstart — a primeira cobrança, passo a passo.
