HOMOLOGAÇÃO · SEM DINHEIRO REAL

Sandbox de API PIX ↔ stablecoin: cinco falhas para testar antes da produção

Uma sandbox útil não serve apenas para devolver sucesso. No cash-out ela prova demora, falha, expiração, limite e retry idempotente. No cash-in ela valida autenticação, catálogo, limites e prévia; o QR pagável exige produção. A chave lun_test_… é criada sem cadastro e usa a mesma URL base.
sem cadastrosem dinheiro realmesma base URLestados determinísticoschave de produção self-service

Crie uma chave de teste

curl -X POST https://api.luniumpay.com/keys/sandbox \
  -H 'Content-Type: application/json' \
  -d '{"name":"meu-checkout"}'

Guarde a chave retornada somente no ambiente de desenvolvimento. A cota é por IP; reutilize a mesma chave em vez de criar uma a cada execução.

Os cinco testes obrigatórios

1. Demora/retido

Confirme que um estado de espera não vira falha nem dispara uma segunda operação.

2. Falha terminal

Encerre o fluxo, preserve IDs e mostre uma mensagem acionável sem inventar sucesso.

3. Cotação expirada

Gere uma nova cotação. Nunca tente aceitar de novo uma cotação cujo preço venceu.

4. Limite recusado

Leia os limites devolvidos e corrija o valor; não faça loop de retry idêntico.

5. Operação lenta

Teste seu polling com backoff e a retomada posterior sem chamar “timeout” de falha.

6. Bônus: idempotência

Repita o mesmo external_id e confirme que não nasce outra operação.

O que a sandbox comprova em cada trilho

Cash-out: permite exercitar cotação, aceite, estados e cenários determinísticos sem mover dinheiro.
Cash-in: permite validar autenticação, contrato, catálogo, limites e prévia. A emissão de QR PIX pagável exige chave de produção.
Payout: valide contrato, saldo e tratamento de erros; não trate sandbox como prova de um PIX bancário real.
Nunca envie cripto: um endereço devolvido por cenário de sandbox não é destino real de custódia.

Critério de saída para produção

Zero segredo no cliente

A chave está no backend ou no secret manager; nenhum bundle ou log contém lun_test_ ou lun_live_.

Estados completos

Seu produto sabe mostrar espera, retenção, conclusão, expiração, devolução e falha.

Retry seguro

external_id é persistido e reutilizado depois de timeout.

Webhook idempotente

Assinatura validada, evento único no banco e transição que não retrocede.

Primeiro real controlado

Crie a chave de produção pelo endpoint self-service, comece no menor fluxo aplicável e reconcilie ponta a ponta.

Teste agora, sem cadastro

A documentação mostra a resposta, os gatilhos e o contrato atual. Quando estiver pronto, a chave de produção nasce pelo POST /keys.