Referencia de la API/Cobros y links de pago
Cobros y links de pago
Recibe en tu saldo con un link de pago público con transferencia bancaria, tarjeta y cripto, con una solicitud de monto fijo ligada a una factura, o con una cuenta virtual a nombre de tu empresa en USD, EUR o MXN. Una solicitud se marca pagada solo cuando un pago entrante coincide sin ambigüedad en monto, moneda, momento y titular; las transferencias no emparejadas igual acreditan tu saldo.
Create a payment link
/payment-links| Campo | Tipo | obligatorio | Notas |
|---|---|---|---|
| name | string | opcional | |
| methods | array | opcional | |
| published | boolean | opcional |
Solicitud
{
"name": "Invoices",
"methods": [
"bank_transfer",
"card",
"crypto"
],
"published": true
}Respuesta 201
{
"id": "pl_7a2c",
"name": "Invoices",
"url": "https://decaf.so/pay/cargo-ledger",
"methods": [
{
"type": "bank_transfer",
"ready": true
},
{
"type": "card",
"ready": true
},
{
"type": "crypto",
"ready": true
}
],
"published": true
}List payment links
/payment-linksGet a payment link
/payment-links/{id}Parámetros
idpathstringobligatorio
Update methods or publication
/payment-links/{id}Parámetros
idpathstringobligatorio
| Campo | Tipo | obligatorio | Notas |
|---|---|---|---|
| name | string | opcional | |
| methods | array | opcional | |
| published | boolean | opcional |
Create a fixed-amount payment request
/payment-requestsMarked paid only when an incoming payment matches amount, currency, timing and owner unambiguously. Unmatched bank transfers still credit your balance as deposits.
| Campo | Tipo | obligatorio | Notas |
|---|---|---|---|
| payment_link_id | string | obligatorio | |
| amount | Amount | obligatorio | Decimal string. Up to two decimals for fiat, six for USDC. |
| currency | string | obligatorio | |
| reference | string | opcional | |
| expires_at | string | opcional |
Solicitud
{
"payment_link_id": "pl_7a2c",
"amount": "1250.00",
"currency": "USD",
"reference": "INV-0912",
"expires_at": "2026-09-30T00:00:00Z"
}Respuesta 201
{
"id": "pr_31aa",
"url": "https://decaf.so/pay/cargo-ledger/pr_31aa",
"amount": "1250.00",
"currency": "USD",
"reference": "INV-0912",
"status": "open",
"expires_at": "2026-09-30T00:00:00Z"
}Ejemplos: Create a fixed-amount payment request
curl -X POST https://sandbox.api.decaf.so/v1/payment-requests \
-H "Authorization: Bearer $DECAF_API_KEY" \
-H "Content-Type: application/json" \
-d '{"payment_link_id":"pl_7a2c","amount":"1250.00","currency":"USD","reference":"INV-0912","expires_at":"2026-09-30T00:00:00Z"}'Open a virtual account
/virtual-accountsRequires business verification and the corridor. Details are returned masked.
| Campo | Tipo | obligatorio | Notas |
|---|---|---|---|
| currency | enum: USD, EUR, MXN | obligatorio |
Solicitud
{
"currency": "EUR"
}Respuesta 201
{
"id": "va_1f3e",
"currency": "EUR",
"rail": "sepa",
"status": "active",
"details": {
"iban": "DE•• •••• 3310",
"bic": "•••",
"beneficiary_name": "Cargo Ledger GmbH"
},
"reference_required": true
}Errores: 403 verification_required
Ejemplos: Open a virtual account
curl -X POST https://sandbox.api.decaf.so/v1/virtual-accounts \
-H "Authorization: Bearer $DECAF_API_KEY" \
-H "Content-Type: application/json" \
-d '{"currency":"EUR"}'List virtual accounts
/virtual-accountsObtén acceso
Construye contra el sandbox esta semana.
Cuéntanos los corredores que necesitas y a quién pagas. Las claves de sandbox las emite una persona.