Conta
Revendedores (white label)
Se você tem seu próprio app e quer oferecer cobranças, WhatsApp e faturamento aos seus clientes com a sua marca, cadastre cada negócio a partir do seu servidor. A Recaudo fica nos bastidores: seus clientes não precisam criar conta aqui.
Sua chave de revendedor
Nós a emitimos e ela começa com rpk_live_. Serve apenas para cadastrar e consultar negócios; para cobrar, use a chave sk_live_ de cada negócio, que devolvemos ao criá-lo. Guarde as duas no seu servidor, nunca no app.
Cadastrar um negócio
external_id é o seu identificador do negócio. Se repetir, respondemos 409 com o código external_id_conflict, então pode tentar de novo sem duplicar.
curl -X POST https://recaudo.app/api/v1/partner/tenants \
-H "Authorization: Bearer rpk_live_..." \
-H "Content-Type: application/json" \
-d '{"external_id": "biz_123", "business_name": "Taller Ejemplo", "owner_email": "dueno@ejemplo.com", "country": "MX", "webhook_url": "https://tu-servidor.com/recaudo", "webhook_events": ["payment.succeeded", "invoice.paid"]}'
{
"object": "partner_tenant",
"tenant_id": "6f1c\u2026",
"external_id": "biz_123",
"business_name": "Taller Ejemplo",
"country": "MX",
"currency": "MXN",
"timezone": "America/Mexico_City",
"status": "active",
"plan": "growth",
"api_key": "sk_live_\u2026",
"capabilities": {
"card": {
"available": true,
"ready": false,
"status": "pending"
},
"spei": {
"available": true,
"ready": false,
"status": "pending"
},
"cash": {
"available": true,
"ready": false,
"status": "pending"
},
"tap_to_pay": {
"available": true,
"ready": false,
"status": "pending"
},
"whatsapp": {
"available": true,
"ready": false,
"status": "pending"
},
"einvoice": {
"available": true,
"ready": false,
"status": "pending"
}
},
"webhook": {
"id": "0b7e\u2026",
"secret": "whsec_\u2026"
}
}
Parâmetros
external_idobrigatório. Seu id do negócio (máx. 100).business_nameobrigatório. Nome comercial.owner_emailobrigatório. E-mail do dono; com ele pode entrar em recaudo.app se precisar (via "esqueci minha senha").owner_name, owner_phoneopcionais.country, currency, timezoneopcionais. Padrão MX, com a moeda e o fuso do país.planopcional. Código do plano; growth por padrão.webhook_url, webhook_eventsopcionais. Se enviados, criamos o webhook do negócio e devolvemos o segredo uma única vez.
Nota
Consultar um negócio
Devolve os dados e as capacidades, sem a chave.
https://recaudo.app/api/v1/partner/tenants/{external_id}
Nova chave para um negócio
Emite outra sk_live_ e desativa as que tínhamos dado para esse negócio.
https://recaudo.app/api/v1/partner/tenants/{external_id}/api-keys
Capacidades
Com a chave do negócio, GET /v1/capabilities diz o que ele pode usar hoje: card, spei, cash, tap_to_pay, whatsapp e einvoice. not_available significa que não existe no país, pending que falta ativar e active que já funciona. Use para decidir quais botões mostrar.
https://recaudo.app/api/v1/capabilities
Nota
Cadastros que só o negócio pode fazer
Conectar o Stripe, conectar o WhatsApp com a Meta e enviar os dados fiscais (CSD) precisam ser feitos pelo dono. Com a chave do negócio você pede um link de uso único (vale uma hora), abre no navegador do seu app e ao terminar voltamos para return_url com type, success (1 ou 0) e, se algo falhou, message. return_url pode ser https ou um esquema registrado conosco (ex.: korima://).
curl -X POST https://recaudo.app/api/v1/onboarding-links \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"type": "whatsapp", "return_url": "korima://recaudo/onboarding"}'
{
"object": "onboarding_link",
"type": "whatsapp",
"url": "https://recaudo.app/admin/onboarding-link/\u2026",
"expires_at": "2026-11-07T13:00:00-06:00"
}
type stripe · whatsapp · fiscal