Ambientes disponíveis
A Cyrus oferece dois ambientes isolados: sandbox para testes e produção para operações reais.
| Característica | Sandbox | Produção |
|---|---|---|
| Base URL | https://sandbox.api.cyrus.com/v1 | https://api.cyrus.com/v1 |
| Prefixo da API Key | sk_sandbox_ | sk_live_ |
| Dinheiro real | Não | Sim |
| Pagamentos automáticos | Sim (em ~3s) | Depende do pagador |
| Taxa cobrada | Não | R$ 0,33 por transação |
| Rate limit | 100 req/min | 100 req/min |
Sandbox
O ambiente sandbox simula o comportamento completo da API sem movimentar dinheiro real.
Comportamento automático
No sandbox, cobranças e pagamentos são processados automaticamente após alguns segundos:
- Cobranças (
POST /v1/charges): confirmadas automaticamente em ~3 segundos - Pagamentos (
POST /v1/payments): concluídos automaticamente em ~2 segundos
Você receberá os webhooks correspondentes normalmente, permitindo testar todo o fluxo end-to-end.
Saldo sandbox
O saldo no sandbox é fixo em R$ 10.000,00 e nunca é debitado. Você pode testar pagamentos de qualquer valor dentro desse limite.
Chaves PIX no sandbox
Qualquer chave PIX é aceita no sandbox, inclusive valores fictícios. A validação de formato é aplicada (e-mail, CPF, CNPJ, telefone), mas não há verificação se a chave existe no sistema bancário.
Produção
O ambiente de produção conecta-se diretamente à infraestrutura bancária via MW Bank. Todas as transações são reais e irreversíveis (exceto estornos PIX dentro do prazo).
Ativação
Para usar o ambiente de produção:
- Complete o cadastro e verificação KYC no painel Cyrus
- Assine o contrato de uso da plataforma
- Gere uma API Key com prefixo
sk_live_em Configurações → API Keys
Boas práticas em produção
Nunca use chaves sk_live_ em ambiente de desenvolvimento, CI/CD ou repositórios públicos.
- Armazene API Keys em variáveis de ambiente (ex: AWS Secrets Manager, Vault, Doppler)
- Implemente retry com backoff exponencial para erros 5xx
- Sempre verifique a assinatura HMAC dos webhooks antes de processar
- Monitore o endpoint
/v1/balancepara alertas de saldo baixo
Detectando o ambiente atual
A API retorna o campo environment em algumas respostas para indicar o ambiente ativo:
"success": true,
"data": {
"available": 10000.00,
"environment": "sandbox"
}
}No seu código, você pode detectar pelo prefixo da chave:
const baseUrl = isSandbox
? 'https://sandbox.api.cyrus.com/v1'
: 'https://api.cyrus.com/v1'