Recaudo Docs

Account

Resellers (white label)

If you have your own app and want to offer payments, WhatsApp and invoicing to your customers under your brand, you create each business from your server. Recaudo stays behind the scenes: your customers never sign up here.

Your reseller key

We issue it and it starts with rpk_live_. It only creates and looks up businesses; to charge, use each business's sk_live_ key, which we return when you create it. Keep both on your server, never in the app.

Create a business

external_id is your id for the business. If you repeat it we answer 409 with code external_id_conflict, so retries never create duplicates.

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"]}'

Parameters

  • external_id required. Your business id (max 100).
  • business_name required. Trade name.
  • owner_email required. Owner email; lets them sign in to recaudo.app if they ever need to (via "forgot password").
  • owner_name, owner_phone optional.
  • country, currency, timezone optional. Defaults to MX and the country's currency and time zone.
  • plan optional. Plan code; growth by default.
  • webhook_url, webhook_events optional. If sent, we create the business's webhook and return its secret once.

Note

You bill the businesses you create: Recaudo sends them no trial or charges.

Look up a business

Returns its details and capabilities, without the key.

https://recaudo.app/api/v1/partner/tenants/{external_id}

New key for a business

Issues a new sk_live_ and disables the ones we had given you for that business.

https://recaudo.app/api/v1/partner/tenants/{external_id}/api-keys

Capabilities

With the business key, GET /v1/capabilities tells what it can use today: card, spei, cash, tap_to_pay, whatsapp and einvoice. not_available means it does not exist in its country, pending means it still needs setup and active means it works. Use it to decide which buttons to show.

https://recaudo.app/api/v1/capabilities

Note

When creating customers with the business key, email is optional if you send a phone. We store an internal address (…@recaudo.local) that never receives email and flag it with metadata.no_email.

Setup only the business can do

Connecting Stripe, connecting WhatsApp with Meta and uploading tax details (CSD) must be done by the owner. With the business key you request a single-use link (valid for one hour), open it in your app's browser and when done we return to return_url with type, success (1 or 0) and, if something failed, message. return_url can be https or a scheme you registered with us (e.g. 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"}'

type stripe · whatsapp · fiscal

Was this page helpful? Thanks for letting us know.
Esc