scheduled → open → paid, con desvíos hacia past_due, unpaid, canceled y refunded).
Esta API expone la lectura de las facturas, acciones administrativas de reconciliación (pago fuera del gateway y cancelación) y la página de factura hospedada — el enlace público que el pagador anónimo abre para pagar mediante PIX, boleto o tarjeta.
Todos los endpoints autenticados usan el header
x-api-key (vea Autenticación). Los endpoints bajo /public/invoices/* son públicos — la credencial es la posesión del token de alta entropía generado al emitir la factura. Los valores monetarios son siempre enteros en centavos (ej: 18990 = R$ 189,90).Endpoints
| Método | Ruta | Descripción |
|---|---|---|
GET | /invoices | Lista facturas con filtros y paginación |
GET | /invoices/:id | Detalla una factura |
GET | /invoices/:id/line-items | Lista los ítems (line items) de una factura |
POST | /admin/invoices/:id/mark-paid-out-of-band | Reconcilia un pago realizado fuera del gateway |
POST | /admin/invoices/:id/void | Cancela (void) una factura antes del pago |
GET | /public/invoices/:token | (Público) Obtiene la factura para la página hospedada |
POST | /public/invoices/:token/pay | (Público) Genera el slip de PIX/boleto |
POST | /public/invoices/:token/pay-card | (Público) Cobra la factura con tarjeta tokenizada |
Estados de la factura
El campostatus de la factura sigue este ciclo de vida:
| Estado | Significado |
|---|---|
scheduled | Creada con anticipación; se activa cuando llega el chargeAt (emisión del slip diferida) |
suspended | Congelada por pausa de la suscripción — fuera de los ciclos de cobro |
open | Activa, en espera de pago (el slip de PIX/boleto ya existe cuando corresponde) |
paid | Completamente pagada |
past_due | El cobro falló; en proceso de reintento (dunning) |
unpaid | Reintentos agotados — cobro abandonado |
canceled | Cancelada (void) por el comercio antes del pago |
refunded | Reembolsada tras el pago |
Los estados terminales (
paid, canceled, refunded, unpaid) rechazan acciones de cancelación. La reconciliación fuera del gateway solo acepta facturas en open, past_due o unpaid.Listar facturas
Filtra por uno o más estados. Acepta CSV (
status=open,past_due) o repetido (status=open&status=past_due). Valores: scheduled, suspended, open, paid, past_due, unpaid, canceled, refunded.Filtra las facturas de una suscripción específica.
Filtra las facturas de un cliente específico.
Filtra por forma de pago (CSV o repetido). Valores:
card, pix, boleto, other.Búsqueda libre por nombre/email/documento del cliente o por el código de la factura (prefijo).
Búsqueda parcial por el número formateado de la factura (ej:
2026-0007, 2026-, 42). Máx. 20 caracteres.Búsqueda parcial por nombre, email o documento del cliente. Máx. 255 caracteres.
Valor total mínimo de la factura, en centavos.
Valor total máximo de la factura, en centavos.
Campo de fecha al que aplicar
dateFrom/dateTo. Valores: issued, due, paid, created, charge.Inicio del intervalo de fechas. ISO 8601 con timezone (ej:
2026-06-01T00:00:00-03:00) o fecha simple (2026-06-01).Fin del intervalo de fechas. Mismo formato que
dateFrom.Campo de ordenación. Valores:
createdAt (predeterminado), dueAt, code, customer, paidAt, value.Dirección de la ordenación:
asc o desc (predeterminado).Página de la paginación.
Ítems por página.
El formato exacto del sobre de paginación sigue la convención de la API — consulte Convenciones.
Detallar una factura
ID de la factura (prefijo
inv_).ID de la factura (
inv_).Número de la factura:
{ year, sequence }. Único y secuencial por empresa/año.Estado actual (vea la tabla de estados).
Naturaleza de la factura:
enrollment (adhesión), recurring (ciclo regular) o manual (suelta). Inmutable.ID del cliente (
cust_).Nombre del cliente (snapshot).
Email del cliente (snapshot).
Documento del cliente (snapshot).
Moneda ISO de 3 letras (ej:
BRL).Suscripción de origen (
sub_), cuando corresponda.Cuándo la factura deja de estar
scheduled y pasa a ser pagable. ISO 8601.Fecha de vencimiento. ISO 8601.
Fecha de emisión. ISO 8601.
Fecha del pago. ISO 8601.
Fecha de la cancelación. ISO 8601.
Suma de los ítems, en centavos.
Total de impuestos, en centavos.
Valor total de la factura, en centavos.
Valor ya pagado, en centavos.
Valor restante a pagar, en centavos.
Valor acumulado reembolsado, en centavos.
Cuotas en tarjeta para el cobro (1-12; 1 = al contado).
Inicio del período de servicio. Nulo para
kind=manual. ISO 8601.Fin del período de servicio. Nulo para
kind=manual. ISO 8601.Fecha de creación. ISO 8601.
Fecha de la última actualización. ISO 8601.
200— factura encontrada404— factura no encontrada
Listar line items
Retorna los ítems (líneas de cobro) de una factura.ID de la factura (
inv_).Tipo del ítem:
subscription, proration, one_time o metered_usage.Cantidad.
Valor unitario, en centavos.
Valor total del ítem, en centavos.
Reconciliar pago fuera del gateway
Marca la factura comopaid cuando el pago fue recibido por fuera (transferencia bancaria, efectivo, cheque). No pasa por el gateway. Acepta facturas en open, past_due o unpaid.
Este endpoint es idempotente: envíe el header Idempotency-Key para evitar el reprocesamiento en reintentos. Vea Convenciones.
ID de la factura (
inv_).Valor recibido, en centavos. Entero positivo.
Forma del pago fuera de canal:
bank_transfer, cash, check o other.Fecha/hora de recepción, ISO 8601 en UTC (con sufijo
Z, ej: 2026-06-22T17:30:00.000Z). Opcional.Observación libre (máx. 500 caracteres). Opcional.
200— factura actualizada (status=paid)409— factura en estado terminal (no permite la reconciliación)
Cancelar (void) una factura
Cancela una factura antes del pago. Aceptascheduled, open o past_due. Los estados terminales y unpaid son rechazados. reason y reasonDetails son obligatorios.
Este endpoint es idempotente: envíe el header Idempotency-Key.
ID de la factura (
inv_).Motivo de la cancelación:
duplicate, wrong_amount, customer_agreement, issued_by_mistake o other.Detalles del motivo (1 a 500 caracteres).
200— factura cancelada (status=canceled)409— factura en estado terminal/unpaid (no permite la cancelación)
Página de factura hospedada (pública)
En lugar de enviar el slip de PIX/boleto por email (que expira), Z2Pay genera un enlace de factura hospedada con el formato/i/{token}. El pagador anónimo abre el enlace y el slip se genera en el momento. Estos endpoints no usan x-api-key — la credencial es la posesión del token (generado al emitir la factura, de alta entropía). Tienen rate limit para prevenir abusos.
El
token es el public_access_token de la factura. La página hace polling en el GET para mostrar el slip y detectar el pago (la factura pasa de open a paid).Obtener la factura para pago
Retorna los datos seguros de la factura (sin IDs internos nicompanyId sensible) y el slip actual, si ya fue generado.
Token público de la factura.
Slip del intento de cobro pendiente.
null mientras aún no ha sido generado. Cuando está presente, contiene paymentMethod, status, pixUrl, pixCopyPaste, boletoUrl, boletoDigitableLine, boletoBarcode y expiresAt.Métodos permitidos para esta factura.
null = sin restricción (la página decide por el método predeterminado de la suscripción).Configuración de cuotas para tarjeta:
{ maxInstallments, freeInstallments?, interestRate? }. null = al contado.200 (vista de la factura), 404 (token inválido).
Generar el slip de PIX/boleto
Garantiza un slip válido para la factura. El cuerpo es opcional: el campomethod fuerza PIX o boleto (entre los métodos permitidos). Sin method, usa el predeterminado de la suscripción.
Token público de la factura.
pix o boleto. Opcional.GET anterior. El slip puede tardar ~1-2s en aparecer (persistencia asíncrona) — la página debe continuar haciendo polling en el GET.
Estados declarados: 200 (vista, el slip puede no estar poblado aún), 404 (token inválido), 409 (método no permitido por la factura).
Cobrar con tarjeta tokenizada
Cobra la factura con una tarjeta tokenizada por el Tokenizer en el front (puede ser tarjeta de tercero). Cobro eager — el resultado se refleja en elGET en el siguiente polling.
Token público de la factura.
Token de la tarjeta emitido por el tokenizador.
Número de cuotas elegido por el pagador (1 a 12; 1 = al contado). Opcional.
200 (vista actualizada), 404 (token inválido), 409 (tarjeta no permitida o factura no pagable).
Acciones disponibles en el panel
Algunas operaciones de factura — crear factura suelta, generar enlace de pago, reagendar y forzar nuevo cobro (retry) — son realizadas por el panel del comercio (sesión de usuario), y no están expuestas en la API pública porx-api-key. Los cuerpos a continuación documentan la forma de estos datos como referencia.
Crear factura suelta (manual)
Crear factura suelta (manual)
Lanza un cobro ad-hoc vinculado a una suscripción, fuera del ciclo recurrente. Cuerpo:
subscriptionId(string, obligatorio)description(string, 1-200, obligatorio)amount(integer en centavos, positivo, obligatorio) — valor unitarioquantity(integer positivo, predeterminado1)dueAt(ISO 8601, obligatorio, estrictamente en el futuro)reason(obligatorio):extra_service,adjustment,penalty,ad_hocootherreasonDetails(string, 1-500, obligatorio)allowedPaymentMethods(array decard/pix/boleto, 1-3 ítems, opcional) — métodos ofrecidos en la página hospedadainstallmentsConfig(objeto, opcional/nulo):{ maxInstallments (1-12), freeInstallments? (1-12), interestRate? (0-100) }.freeInstallmentsno puede excedermaxInstallments.
kind=manual, sin período de servicio (periodStart/periodEnd nulos).Generar enlace de pago
Generar enlace de pago
Transiciona una factura
scheduled a open antes del chargeAt y hace disponible el enlace de la página hospedada. No se ejecuta ningún cobro — el pagador elige el método al abrir el enlace. Cuerpo:methods(array decard/pix/boleto, 1-3 ítems, obligatorio) — métodos ofrecidos en la páginainstallmentsConfig(objeto, opcional/nulo, misma forma que la factura suelta)
Reagendar factura
Reagendar factura
Modifica la fecha de cobro (
chargeAt) de una factura scheduled. El dueAt se desplaza por el mismo intervalo. Cuerpo:chargeAt(ISO 8601, obligatorio)
Forzar nuevo cobro (retry)
Forzar nuevo cobro (retry)
Dispara un nuevo cobro en una factura
open/past_due sin esperar el ciclo de dunning. Sin cuerpo. Vea Ciclos.Vea también
Suscripciones
Cree y gestione los contratos que generan las facturas.
Ciclos de cobro
Cómo cada ciclo emite una factura y el flujo de dunning.
Planes y precios
Defina los valores que componen los ítems de la factura.
Tokenizer
Tokenice tarjetas en el front para la página de factura hospedada.

