Skip to main content
POST

Autorizaciones

Authorization
string
header
requerido

JWT de sesión (de register/login) o llave de API (pk_...). X-API-Key: <token> se acepta como header alternativo.

Cuerpo

application/json
country
string
requerido

País del corredor. Obligatorio para todos los métodos salvo checkout, donde es opcional y solo preselecciona el país del pagador en la página.

Ejemplo:

"BO"

currency
string
requerido

Moneda del corredor. Obligatoria para todos los métodos salvo checkout, que la rechaza con 400 — el cobro se denomina en settlement_asset.

Ejemplo:

"BOB"

amount
string
requerido

String decimal positivo. Monto en moneda local para métodos de corredor; para checkout se denomina en el settlement_asset ("50" USDT, "0.001" BTC, "2" gramos de oro).

description
string
channel
string

Indicación opcional de canal que se pasa al core.

expires_in
integer

Expiración del cobro en segundos. Para checkout acepta de 600 a 604800 (10 minutos a 7 días; default 24 horas).

method
enum<string>
predeterminado:qr

Modo de cobro. qr crea un cobro QR activo a través del procesador; bank_transfer anuncia un depósito entrante y devuelve la referencia a incluir en la descripción de la transferencia; fintoc (solo Chile) devuelve una payment_url hosted donde el pagador transfiere desde cualquier banco o billetera chilena y el depósito se detecta automáticamente; card devuelve una payment_url hosted de un checkout de tarjeta con 3-D Secure (Bolivia en BOB, o tarjetas internacionales en USD cuando country es US); checkout devuelve una checkout_url pública donde el pagador elige el método de pago (QR, tarjeta, transferencia bancaria o crypto). Usa /v1/payins/collect para cobros pull.

Opciones disponibles:
qr,
bank_transfer,
fintoc,
card,
checkout
idempotency_key
string

Clave de idempotencia opcional (métodos bank_transfer, fintoc, card y checkout; también se acepta como header Idempotency-Key). Un retry con la misma clave devuelve el payin original con HTTP 200 e idempotency_hit: true — la misma payment_url/checkout_url en los métodos hosted, o la MISMA reference en una transferencia anunciada — en vez de abrir un segundo cobro. En las transferencias anunciadas esto define si la plata se puede acreditar: dos anuncios vivos con el mismo monto y sin identidad del pagador son indistinguibles, así que el depósito que llegue quedaría unassigned. Si omites la clave igual colapsamos un retry idéntico (misma cuenta, moneda, monto y documento del pagador) en el anuncio original; manda una clave distinta cuando de verdad necesites dos cobros separados del mismo monto y pagador.

customer
object

Prefill opcional de facturación para el checkout de tarjeta (método card) — email, first_name, last_name, address, city, country (texto plano, máx 120 caracteres por campo). El pagador puede completarlos o corregirlos en la página.

success_url
string

URL https pública opcional (métodos card y checkout) a la que se redirige al pagador tras un pago aprobado.

failure_url
string

URL https pública opcional (métodos card y checkout) a la que se redirige al pagador cuando el pago falla o expira.

expires_at
string<date-time>

Expiración RFC3339 opcional de la sesión de pago con tarjeta (método card, mínimo 15 minutos hacia adelante; default 24 horas).

settlement_asset
enum<string>
predeterminado:USDT

Solo checkout — el saldo virtual en que se denomina y liquida el cobro. Todo pago se convierte automático a este asset al acreditar (pagos en el mismo asset no convierten). Debe estar habilitado para tu organización (422 settlement_asset_disabled si no).

Opciones disponibles:
USDT,
USDC,
BTC,
GOLD
save_card
boolean
predeterminado:false

Solo método card — ofrece al pagador el checkbox "guardar esta tarjeta" en la página hosted. La credencial se guarda SOLO si el pagador lo marca (consentimiento explícito) y el pago 3-D Secure se aprueba; el flujo payin_received/payin_credited lleva entonces un bloque stored_credential y la tarjeta aparece en GET /v1/stored-cards.

payer_reference
string

Solo método card — tu identificador propio del pagador (ej. tu ID de cliente). Las tarjetas guardadas quedan acotadas a esta referencia para listar y cobrar las tarjetas del cliente correcto. Texto plano, máx 120 caracteres.

Maximum string length: 120
stored_card_id
string<uuid>

Solo método card — paga con una tarjeta guardada previamente (ver GET /v1/stored-cards). La página hosted salta la captura de tarjeta y muestra la guardada; el 3-D Secure corre igual. Mutuamente excluyente con save_card. Tarjeta desconocida o revocada responde 404. Los datos de facturación guardados con la credencial se aplican automáticamente en la página hosted (resumen enmascarado con enlace para editar — el pagador no re-tipea nada).

payer_name
string

Solo transferencia anunciada — nombre de la persona o empresa que hará la transferencia, cuando NO es el titular de la cuenta. Opcional.

Maximum string length: 140
payer_document
string

Solo transferencia anunciada — documento tributario o de identidad del pagador (al menos 5 caracteres, uno de ellos un dígito). Opcional: si lo omites se usa el documento verificado del titular, así un depósito propio se reconoce aunque el pagador olvide la referencia. Envíalo cuando paga un tercero.

Maximum string length: 40
payer_account
string

Solo transferencia anunciada — número de cuenta bancaria del pagador (al menos 5 caracteres). Opcional; es una señal extra de conciliación cuando el corredor informa la cuenta de origen.

Maximum string length: 40

Respuesta

Replay idempotente de un anuncio de transferencia (bank_transfer): el anuncio ORIGINAL, con la misma reference. Tambien se devuelve cuando un POST sin clave de idempotencia calza con un anuncio vivo indistinguible (misma cuenta, moneda, monto y pagador).

payin_id
string<uuid>
status
string
reference
string
payer_source
string
idempotency_hit
boolean
Última modificación el 7 de agosto de 2026