Primeiros passos
Este guia mostra como configurar sua primeira integração com a API PaysClub em menos de 5 minutos.
1. Criar uma API Key
Acesse Dashboard → Integrações → Chaves de API e clique em "Criar chave". Selecione os escopos que precisa e copie a chave gerada.
Guarde a chave em local seguro. Ela só é exibida uma vez.
2. Testar a conexão
Faça uma requisição simples para listar seus produtos:
Terminal
curl -s https://app.paysclub.com/api/v1/products \ -H "Authorization: Bearer pk_live_SUA_CHAVE" | json_pp
Se tudo estiver correto, você verá a lista dos seus produtos.
3. Configurar um webhook
Para receber notificações em tempo real (ex: nova venda), crie um endpoint:
Terminal
curl -X POST https://app.paysclub.com/api/v1/webhooks \
-H "Authorization: Bearer pk_live_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"url": "https://meusite.com/api/paysclub-webhook",
"events": ["order.paid", "member.enrolled"]
}'Guarde o
secret retornado — você vai precisar dele para verificar a assinatura dos webhooks recebidos.4. Processar eventos
Crie um endpoint no seu servidor para receber os webhooks:
Node.js (Express)
const express = require("express");
const crypto = require("crypto");
const app = express();
app.use(express.json());
const WEBHOOK_SECRET = process.env.PAYSCLUB_WEBHOOK_SECRET;
app.post("/api/paysclub-webhook", (req, res) => {
// 1. Verificar assinatura
const signature = req.headers["x-paysclub-signature"];
const body = JSON.stringify(req.body);
const computed = "sha256=" + crypto
.createHmac("sha256", WEBHOOK_SECRET)
.update(body)
.digest("hex");
if (!crypto.timingSafeEqual(Buffer.from(computed), Buffer.from(signature))) {
return res.status(401).json({ error: "Invalid signature" });
}
// 2. Processar evento
const { event, data } = req.body;
switch (event) {
case "order.paid":
console.log("Nova venda!", data.amount, "BRL");
// Enviar notificação, atualizar CRM, etc.
break;
case "member.enrolled":
console.log("Novo membro:", data.buyer_id);
// Adicionar ao onboarding, enviar boas-vindas, etc.
break;
}
res.json({ received: true });
});
app.listen(3001);Próximos passos
Explore a referência completa da API para ver todos os endpoints disponíveis: