Modo Test vs Live para developers
Cada webhook e API key tem um modo: live (produção) ou test (desenvolvimento). Ambientes são totalmente isolados. Use o toggle no topo de /dashboard/developers …
Resposta curta
Cada webhook e API key tem um modo: live (produção) ou test (desenvolvimento). Ambientes são totalmente isolados. Use o toggle no topo de /dashboard/developers pra alternar visualização e criar recursos no modo correto.
Por que isolar
Você não quer:
- Eventos de pagamento real disparando o webhook do seu ambiente de dev
- Sua API key de produção sendo usada em testes locais (e contando rate limit, aparecendo em logs)
- Confundir order ID de teste com de produção
A separação live/test resolve isso. Stripe e a maioria dos gateways usam o mesmo modelo.
Como funciona
Webhooks
| Modo | Recebe eventos automáticos? | Recebe sandbox/mock? |
|---|---|---|
| Live | ✅ Sim (pagamentos reais) | ❌ Não |
| Test | ❌ Não | ✅ Sim |
Endpoints test só recebem eventos quando você dispara manualmente pelo botão "Sandbox" no dashboard. Isso garante que seu ambiente de dev nunca processe um pagamento real.
API keys
| Modo | Prefixo |
|---|---|
| Live | lk_live_... |
| Test | lk_test_... |
São totalmente separadas — uma chave test não consegue ver dados live e vice-versa.
Fluxo recomendado
- Crie um endpoint test apontando pro seu servidor local (use ngrok/cloudflared se for
localhost) - Crie uma API key test pra usar nos testes locais
- Implemente seu handler validando assinatura, idempotência, etc.
- Use o Sandbox: dispare cada tipo de evento (
order.paid,subscription.activated, etc.) e verifique que seu handler trata cada um corretamente - Quando estiver tudo ok, troque o toggle pra Live, crie um novo endpoint apontando pro seu servidor de produção, copie o novo signing secret pro env de prod, deploy e pronto
Sandbox — disparar eventos mock
Dentro de um endpoint test:
- Aparece a seção Sandbox com um dropdown
- Escolhe o tipo de evento
- Clica em Disparar evento mock
- O LimãoPay envia um POST com payload realista (com
livemode: false,external_metadata: { mock: true })
Isso permite validar:
- Sua validação HMAC funciona (signing secret está correto)
- Seu handler processa cada tipo de evento corretamente
- Sua idempotência funciona (dispare o mesmo evento duas vezes)
- Seu retry handling funciona (responda 500 propositalmente uma vez, veja o LimãoPay re-tentar)
Limites
- Endpoints test: ilimitados em todos os planos (não consomem cota)
- Endpoints live: 1 (Free) / 5 (Growth) / ilimitado (Scale)
- API keys test e live: sem distinção de cota — rate limit é por chave
Cuidado
- Ao trocar o toggle pra "Test", só verá webhooks/keys test
- Ao trocar pra "Live", só verá os live
- Recursos não somem — só estão filtrados pela visualização
- Criar um recurso enquanto estiver em "Test" cria como test (e vice-versa)