Ambiente
Base URLhttps://api.sancopay.com/api/v1
Arquivo para IA
Começar

Sandbox

Antes de publicar, teste a integração no sandbox. Ele responde com os mesmos caminhos, formatos e mensagens da produção; os Pix, os saldos e os e-mails são fictícios.

https://sandbox.sancopay.com/api/v1

Como ele se comporta

Credenciais
Gere o client_id e o client_secret do sandbox em Credenciais → Sandbox. A primeira credencial já cria a conta de testes com saldo fictício.
Cobranças
Nascem pending com um copia e cola fictício e só mudam quando você simula o pagamento. O webhook charge.* sai como em produção.
Saques
Saem da carteira fictícia, ficam processing e viram completed sozinhos em poucos segundos, com o webhook payout.completed.
Recorrência
A pay_url abre uma página com o botão “Simular pagamento”. Os e-mails não são enviados, mas ficam registrados em emails[].
Webhooks
Cadastre uma URL pública. As entregas são assinadas com X-Webhook-Signature e o histórico fica em GET /sandbox/webhook-deliveries.

Rotas exclusivas do sandbox

Ficam sob a mesma base do sandbox (https://sandbox.sancopay.com/api/v1/sandbox/…) e usam o mesmo Authorization: Bearer <TOKEN>. Estas rotas não existem em produção.

  • POST/sandbox/transactions/{id}/simulateMuda a cobrança. status: paid (credita o valor menos a taxa e envia o webhook charge.paid), failed, expired ou refunded. Se for o Pix de uma cobrança recorrente, envia também o recurring_charge.paid.
  • POST/sandbox/cashouts/{id}/simulateMuda o saque. status: completed, failed ou refunded. Falha e estorno devolvem o valor e a taxa.
  • POST/sandbox/wallet/top-upCredita saldo fictício (amount, até R$ 10.000 por chamada).
  • POST/sandbox/recurring/subscriptions/{id}/issue-nextEmite agora o próximo ciclo da assinatura.
  • POST/sandbox/recurring/charges/{id}/overdueFaz a cobrança vencer na hora e envia o recurring_charge.overdue.
  • GET/sandbox/webhook-deliveriesÚltimas entregas de webhook, com payload, status HTTP e erro.

Simular o pagamento de uma cobrança

Requisição
curl -X POST "https://sandbox.sancopay.com/api/v1/sandbox/transactions/4821/simulate" \  -H "Authorization: Bearer <TOKEN>" \  -H "Content-Type: application/json" \  -d '{    "status": "paid"  }'

A resposta traz a cobrança atualizada e, em webhooks, o desfecho de cada entrega disparada.

Recarregar o saldo fictício

Requisição
curl -X POST "https://sandbox.sancopay.com/api/v1/sandbox/wallet/top-up" \  -H "Authorization: Bearer <TOKEN>" \  -H "Content-Type: application/json" \  -d '{    "amount": 1000  }'

Valores para testar erros

Saque ou pré-aprovação de R$ 13,13
Recusa na hora: 422 processor_rejected, sem débito.
Chave Pix terminada em 0000
Com a validação de chave ativa: 422 key_not_found (recebedor não encontrado).

Saldo insuficiente, idempotência e validações respondem como em produção, sem valor especial.

Antes de ir para produção

  1. Troque a base URL pela de produção.
  2. Gere as credenciais de produção em Credenciais (as do sandbox não funcionam em produção, e vice-versa).
  3. Cadastre o webhook de produção e guarde o novo signing_secret.
  4. Remova do código as chamadas às rotas /v1/sandbox/*: elas não existem em produção.