Pular para o conteúdo
Menu da documentação

Guias

Ambientes: sandbox e produção

O Pagaki tem dois ambientes separados: cada um com o seu banco, as suas credenciais, os seus webhooks e as suas instalações de gateway. Nada passa de um para o outro.

Sandbox Produção
API https://api.sandbox.pagaki.com.br A definir (proposta: https://api.pagaki.com.br)
Token https://api.sandbox.pagaki.com.br/oauth/token /oauth/token no host da produção
Painel No sandbox, a conta é criada pela equipe do Pagaki (M5.6) Criada na contratação
Gateways Os sandboxes oficiais (Asaas: https://api-sandbox.asaas.com/v3) As contas reais
Dinheiro Nenhum dinheiro de verdade Real
livemode nos webhooks false true
E-mails Não saem (ficam em log) Saem
Atualizações Recebe toda versão nova antes da produção Recebe depois do sandbox

Todo deploy passa primeiro pelo sandbox, com testes automáticos, e só então vai para a produção. Uma mudança da API aparece no sandbox antes.

Credenciais

  • client_id e client_secret são por ambiente. O do sandbox não funciona na produção, e vice-versa.
  • A lista de IPs permitidos também é por ambiente: cadastre os IPs de cada um.
  • Os IDs (pay_…, evt_…) só existem no ambiente onde nasceram. Consultar no ambiente errado dá 404 not_found.
  • Guarde as credenciais de cada ambiente em variáveis separadas e confira livemode no endpoint de webhook de produção (recuse false).

Planejado cadastro sozinho no sandbox, com chaves de teste geradas na hora.

Credenciais de sandbox do gateway

No sandbox, o Pagaki usa o sandbox oficial de cada gateway, na sua conta. Para o Asaas:

  1. crie uma conta em https://sandbox.asaas.com e gere a chave de API (começa com $aact_hmlg_);
  2. no painel do Pagaki (sandbox), em Gateways, instale o Asaas com essa chave e o ambiente sandbox;
  3. o Pagaki confere a chave (consulta o saldo) e cadastra sozinho o webhook do Asaas apontando para ele.

Na produção, o mesmo passo usa a chave de produção ($aact_prod_) da conta real, com a prova de vida feita no Asaas.

O que o sandbox do Asaas não simula

Situação No sandbox Consequência para a homologação
Pagamento do PIX por um banco Nenhum banco paga o QR de verdade O payment.paid depende da ferramenta de teste do próprio Asaas para marcar a cobrança como recebida (ver https://docs.asaas.com/docs/testando-no-sandbox). Procedimento a confirmar na homologação (M7.3)
Expiração em minutos O Asaas não expira PIX por minuto Igual à produção: quem expira é o Pagaki, que cancela a cobrança no Asaas quando passa do expires_at
Pague Contas (pagamento de conta) Nada compensa: o resultado esperado de todo pagamento de conta é FAILED O caminho bill_payment.paid não é testável no sandbox; o bill_payment.failed é o resultado normal lá
Boleto de outro banco Boletos reais de fora "não são reconhecidos" e podem dar erro ou FAILED Teste com uma linha digitável de um boleto criado na mesma conta sandbox
Saldo insuficiente, boleto vencido, horário de corte A doc do Asaas não oferece um jeito de forçar esses resultados Esses failure.code só aparecem com dados reais
Ação crítica Token fixo 000000 Em produção é o código real da conta
Autorização de saque por webhook A doc do Asaas não diz se funciona no sandbox Não ligue no MVP

Fonte de cada linha: docs/gateways/asaas.md §8.

Em produção, nunca teste com boleto real de terceiros. O primeiro pagamento de conta real é com uma guia do próprio integrador, de valor baixo, acompanhado pela equipe do Pagaki.

Limites

O limite de requisições (por minuto, pelo plano) vale nos dois ambientes. A conta Asaas também tem cota própria (25.000 requisições a cada 12 h por conta): no sandbox, evite laços de consulta e use os webhooks.