Visão geral da API
A API da SuyPay segue REST: endereços previsíveis, corpo em JSON e códigos HTTP comuns. Tudo o que o painel faz, a API também faz.
https://api.suypay.com/v1
A especificação completa em OpenAPI, para gerar clientes automaticamente, fica em https://api.suypay.com/openapi.json.
Autenticação
Crie uma chave em Desenvolvedores → Chaves e MCP, no painel, e mande no cabeçalho Authorization:
Authorization: Bearer suy_test_...
Chaves suy_test_ usam o modo de teste, e chaves suy_live_, o modo real. A chave já diz qual é a empresa. Chaves glk_ criadas antes da mudança de nome (a SuyPay se chamava Glok) continuam valendo.
Toda chave tem um acesso:
| Acesso | Pode | Use em |
|---|---|---|
| Completa | tudo da API (saques só se ligados em Saques → Segurança) | o seu próprio servidor |
| Só cobranças | POST /payments, GET /payments/:id, POST /payments/:id/cancel e /sync |
bots de vendas, plugins, sistemas de terceiros (veja o guia) |
Uma chave Só cobranças recebe 403 com code: "restricted_key" nas outras rotas.
Valores
Valores são sempre em centavos, em reais: 4990 é R$ 49,90.
Sem cobrança em dobro
Mande um Idempotency-Key ao criar cobranças. Se a mesma chamada chegar duas vezes, a SuyPay devolve a cobrança que já criou em vez de cobrar de novo.
Listas e páginas
Listas vêm como { "data": [...], "has_more": true }. Para a próxima página, use ?starting_after=<último id>.
Exemplo em Node.js
const suypay = (rota, corpo) =>
fetch(`https://api.suypay.com/v1${rota}`, {
method: corpo ? 'POST' : 'GET',
headers: {
Authorization: `Bearer ${process.env.SUYPAY_KEY}`,
'Content-Type': 'application/json',
},
body: corpo && JSON.stringify(corpo),
}).then((r) => r.json())
const venda = await suypay('/payments', {
method: 'pix',
amount: 4990,
customer: { name: 'Maria Silva' },
})
console.log(venda.next_action.qr_code)
Recursos
| Recurso | O que tem |
|---|---|
| Cobranças | criar, listar, devolver, sincronizar e simular |
| Contas e regras | conectar contas e decidir o caminho de cada venda |
| Saques | saldo das contas, saques e chaves Pix salvas |
| Avisos e relatórios | eventos, webhooks, resumo e conferência |
| Erros | o que cada código quer dizer |