[ 01 ]
POST /v1/payment-links
Crie clientes, faturas e links de pagamento com uma única chamada.
[ Plataforma para desenvolvedores ]
Conecte seu sistema ao Recaudo pela API REST, pelo servidor MCP para agentes de IA ou por webhooks assinados.
185
endpoints REST
41
recursos
130
ferramentas MCP
69
eventos de webhook
[ API REST ]
[ 01 ]
POST /v1/payment-links
Crie clientes, faturas e links de pagamento com uma única chamada.
[ 02 ]
payment_link.paid
Cada pagamento, mensagem e mudança no CRM chega assinada ao seu servidor.
[ 03 ]
Authorization: Bearer sk_live_••••
Chaves por ambiente, lista de IPs permitidos e registro de uso por chave.
[ Ao vivo ]
curl https://recaudo.app/api/v1/payment-links \
-H "Authorization: Bearer $RECAUDO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":520,"currency":"BRL","description":"Parcela 4 de 12"}'
const res = await fetch("https://recaudo.app/api/v1/payment-links", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RECAUDO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"amount":520,"currency":"BRL","description":"Parcela 4 de 12"}),
});
const { data, url } = await res.json();
import os, requests
res = requests.post(
"https://recaudo.app/api/v1/payment-links",
headers={"Authorization": f"Bearer {os.environ['RECAUDO_API_KEY']}"},
json={"amount":520,"currency":"BRL","description":"Parcela 4 de 12"},
)
link = res.json()
Resposta · 201
{
"object": "payment_link",
"data": {
"id": "9c4f1e3b-0a2c-4d9e-8f71-5b6c3d2e1a40",
"token": "kX7mQ2pL9vR4tN8w",
"amount": "520.00",
"currency": "BRL",
"description": "Parcela 4 de 12",
"status": "active"
},
"url": "https://recaudo.app/pay/kX7mQ2pL9vR4tN8w"
}
$
[ MCP ]
O servidor MCP usa a mesma API REST e a mesma chave, então o agente só vê o que a sua conta vê.
$ claude mcp add recaudo -e RECAUDO_API_KEY=$RECAUDO_API_KEY -- npx -y @recaudo/mcp-server
[ 04 ]
resumen_cobranza()
Seu agente chama ferramentas do Recaudo como se fossem funções próprias.
[ 05 ]
Quanto tenho vencido há mais de 30 dias?
resumen_cobranza
Você tem R$ 19.760 vencido há mais de 30 dias em 41 parcelas.
Pergunte em português e o agente consulta, cria ou move o que for preciso.
[ 06 ]
Uma linha de configuração no cliente MCP que você já usa.
[ Webhooks ]
Entregas ao vivo
POST https://seu-sistema.com/webhooks/recaudo
Verifique a assinatura
O cabeçalho X-Recaudo-Signature traz t=timestamp,v1=assinatura. Assine "timestamp.corpo" com seu segredo e compare.
const [t, v1] = header.split(",").map((p) => p.split("=")[1]);
const expected = crypto
.createHmac("sha256", process.env.RECAUDO_WEBHOOK_SECRET)
.update(`${t}.${rawBody}`)
.digest("hex");
const valid = crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected));payment.created
payment.succeeded
payment.failed
payment.refunded
payment.canceled
payment_link.created
payment_link.updated
payment_link.paid
payment_link.expired
payment_link.canceled
subscription.created
subscription.updated
subscription.activated
subscription.canceled
subscription.paused
subscription.resumed
subscription.renewed
subscription.trial_ending
subscription.payment_failed
invoice.created
invoice.updated
invoice.deleted
invoice.finalized
invoice.paid
invoice.payment_failed
invoice.payment_action_required
invoice.voided
invoice.upcoming
customer.created
customer.updated
customer.deleted
customer.tag.added
customer.tag.removed
payment_method.attached
payment_method.detached
payment_method.updated
payment_method.expiring
conversation.created
conversation.assigned
conversation.transferred
conversation.resolved
conversation.closed
conversation.message.received
conversation.message.sent
conversation.tag.added
conversation.tag.removed
lead.created
lead.converted
deal.created
deal.updated
deal.stage_changed
deal.won
deal.lost
follow_up.created
follow_up.started
follow_up.completed
follow_up.rescheduled
follow_up.cancelled
order.created
order.confirmed
order.shipped
order.delivered
order.completed
order.cancelled
coupon.applied
flow_run.started
flow_run.completed
flow_run.failed
flow_run.waiting