Central Unificada de Pagamentos
API intermediadora oficial conectada ao banco Asaas. Permite que qualquer projeto ou aplicação da empresa realize cobranças via PIX Dinâmico com QR Code, Cartão de Crédito e Assinaturas em segundos, sem necessidade de reconfigurar chaves ou webhooks.
https://pagamentos.clickai.app.br/api/v1
Como Funciona a Integração?
1. Seu Projeto chama um dos endpoints desta API enviando a sua X-API-Key.
2. A Central gera o pagamento diretamente no Asaas e já retorna imediatamente o QR Code / Código Pix ou a confirmação do Cartão.
3. Quando o cliente final paga, o Asaas avisa a Central, que automaticamente repassa um Webhook de Confirmação para o seu projeto liberar o acesso ou quitar a fatura.
Autenticação
Todas as requisições para a API devem incluir a chave de autenticação do seu projeto (gerada no Painel Administrativo). Você pode passá-la de duas formas:
X-API-Key: pay_sec_seu_projeto_abc123...
# OU
Authorization: Bearer pay_sec_seu_projeto_abc123...
1. Criar Cobrança PIX
Gera uma cobrança com chave Pix Copia e Cola e imagem Base64 do QR Code instantaneamente.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| value | number | Sim | Valor da cobrança em Reais (Ex: 150.00) |
| customer | object | Sim | Objeto contendo cpfCnpj (obrigatório), name, email e phone |
| dueDate | string (YYYY-MM-DD) | Não | Data de vencimento. Padrão: dia atual |
| externalReference | string | Não | ID ou referência interna do seu sistema (Ex: ID da fatura #1085) |
| description | string | Não | Descrição que aparecerá no comprovante Pix do pagador |
curl -X POST https://pagamentos.clickai.app.br/api/v1/payments/pix \
-H "Content-Type: application/json" \
-H "X-API-Key: pay_sec_sua_chave_aqui" \
-d '{
"value": 150.00,
"externalReference": "fatura_789",
"description": "Mensalidade Outubro/2026",
"customer": {
"name": "João Silva",
"cpfCnpj": "12345678909",
"email": "joao@email.com",
"phone": "61999998888"
}
}'
Exemplo de Resposta (JSON):
{
"success": true,
"paymentId": "pay_819283918239",
"status": "PENDING",
"value": 150.00,
"dueDate": "2026-10-22",
"pix": {
"encodedImage": "iVBORw0KGgoAAAANSUhEUgAA...",
"payload": "00020101021226830014br.gov.bcb.pix2561...",
"expirationDate": "2026-10-22 23:59:59"
},
"invoiceUrl": "https://www.asaas.com/i/819283918239"
}
2. Cobrança com Cartão de Crédito
Processa pagamentos à vista ou parcelados em até 12x. Você pode enviar os dados completos do cartão ou utilizar um creditCardToken previamente gerado.
curl -X POST https://pagamentos.clickai.app.br/api/v1/payments/credit-card \
-H "Content-Type: application/json" \
-H "X-API-Key: pay_sec_sua_chave_aqui" \
-d '{
"value": 300.00,
"installmentCount": 2,
"externalReference": "pedido_105",
"customer": {
"name": "Maria Oliveira",
"cpfCnpj": "98765432100",
"email": "maria@email.com",
"phone": "61988887777"
},
"creditCard": {
"holderName": "MARIA OLIVEIRA",
"number": "4111111111111111",
"expiryMonth": "12",
"expiryYear": "2028",
"ccv": "123"
},
"creditCardHolderInfo": {
"name": "Maria Oliveira",
"email": "maria@email.com",
"cpfCnpj": "98765432100",
"postalCode": "70000000",
"addressNumber": "100",
"phone": "61988887777"
}
}'
Exemplo de Resposta:
{
"success": true,
"paymentId": "pay_98129381923",
"status": "CONFIRMED",
"value": 300.00,
"creditCardBrand": "VISA",
"creditCardLastDigits": "1111",
"message": "Pagamento aprovado com sucesso!"
}
3. Consultar Status da Cobrança
Permite consultar o status atual de uma cobrança usando o Asaas ID (ex: pay_123), o ID local ou o seu externalReference. Caso a cobrança esteja pendente, o endpoint sincroniza em tempo real com o Asaas.
curl -X GET https://pagamentos.clickai.app.br/api/v1/payments/pay_819283918239 \
-H "X-API-Key: pay_sec_sua_chave_aqui"
⚡ Webhooks de Retorno no seu Projeto
Você não precisa lidar diretamente com o Asaas. Quando um cliente efetua o pagamento, a Central de Pagamentos envia automaticamente uma requisição POST para a URL do Webhook configurada no seu projeto com o cabeçalho X-Webhook-Secret para validação.
Exemplo de Payload Enviado para o seu Projeto:
{
"event": "PAYMENT_CONFIRMED",
"timestamp": "2026-10-22T00:35:00.000Z",
"project": {
"id": 1,
"slug": "casa-lip",
"name": "Casa Lip - Gestão Residencial"
},
"payment": {
"id": 105,
"asaasId": "pay_819283918239",
"externalReference": "fatura_789",
"status": "CONFIRMED",
"billingType": "PIX",
"value": 150.00,
"netValue": 147.51,
"paymentDate": "2026-10-22T00:34:55.000Z",
"customer": {
"name": "João Silva",
"cpfCnpj": "12345678909",
"email": "joao@email.com"
}
}
}
Exemplo de Tratamento no seu Projeto (Express):
// Rota no seu projeto (ex: /api/payments/webhook)
app.post('/api/payments/webhook', async (req, res) => {
const secret = req.headers['x-webhook-secret'];
if (secret !== process.env.MY_WEBHOOK_SECRET) {
return res.status(401).send('Unauthorized');
}
const { event, payment } = req.body;
if (event === 'PAYMENT_CONFIRMED' || event === 'PAYMENT_RECEIVED') {
const invoiceId = payment.externalReference;
console.log(`Fatura ${invoiceId} Paga! Valor Líquido: R$ ${payment.netValue}`);
// Quitar fatura, liberar plano, etc...
}
res.json({ received: true });
});