Recaudo Docs

Payments & customers

docs.api.pages.payment-requests

Ask a customer for a payment and get back, in one response, every way they can pay: card link, a SPEI CLABE for that charge, a cash voucher and whether they have an active direct debit. Built for AI agents: they do not pick a gateway or method.

Creating a request

Recaudo creates a payment link for the customer and builds every payment method available to your business. If one is not available (for example, cash is not set up) it comes back as null and the rest still work. It goes through the agent money limits: above the limit it returns 202.

curl -X POST https://recaudo.app/api/v1/payment-requests \
  -H "Authorization: Bearer sk_live_..." \
  -H "Idempotency-Key: abono-nov-7f3a" \
  -H "Content-Type: application/json" \
  -d '{"customer": "8c2f…", "amount": 1500.00, "description": "Abono de noviembre"}'

Parameters

  • customer Customer UUID. Required.
  • amount Amount in decimals. Required.
  • description What the customer sees. Required.
  • invoice_id Invoice being paid; the payment is applied to it.
  • allow_partial Allow partial payments.
  • methods What to build: card, spei, cash. Defaults to all.
  • expires_at Expiry. Defaults to 7 days.

Note

The CLABE belongs to this charge and expires (Conekta, 2 days by default). If you fetch the request again for the same amount, you get the same CLABE while it is still valid.

Waiting for the payment

GET /v1/payment-requests/{id}/wait waits up to 25 seconds for the status or amount paid to change and returns the status with waited_seconds. If it is still pending, call again. The MCP tool is wait_for_payment.

https://recaudo.app/api/v1/payment-requests/{id}/wait?timeout=25

Statuses

pending, partially_paid, paid, expired, canceled.

Webhooks

payment_request.paid when the total is covered, payment_request.partially_paid on each partial payment and payment_request.expired on expiry. The body is the same payment_request object. The link events (payment_link.*) keep arriving too.

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