/transactions/:transactionId/payments.
Todas las solicitudes usan el header
x-api-key: TU_CLAVE_DE_SANDBOX. Consulta Autenticación para más detalles. La URL base del sandbox es https://api.sandbox.z2pay.com.Endpoints
| Método | Ruta | Descripción |
|---|---|---|
GET | /transactions/{transactionId}/payments | Lista los payments de la transacción |
GET | /transactions/{transactionId}/payments/{paymentId} | Obtiene un payment por ID |
POST | /transactions/{transactionId}/payments/process | Procesa los payments pendientes vía gateway |
POST | /transactions/{transactionId}/payments/{paymentId}/refund | Reembolsa (refund) un payment |
El objeto Payment
Los campos a continuación conforman el objetoPayment retornado por los endpoints de listar y consultar. Los valores monetarios son enteros en centavos (ej.: 15000 = R$ 150,00). Las fechas son strings ISO 8601 con zona horaria y vienen como null cuando aún no han ocurrido.
Identificador del payment (prefijo
pay_).ID de la transacción a la que pertenece el payment (prefijo
txn_).Cuando el payment fue reemplazado (status
replaced), apunta al nuevo payment que lo sustituyó. null en caso contrario.ID de la company dueña del payment.
Valor del payment, en centavos.
Moneda del payment. Por defecto:
BRL.Número de cuotas. Por defecto:
1.Método de pago. Uno de:
credit_card, boleto, pix.Identificador interno del proveedor que procesó el payment.
null mientras no haya sido procesado.ID de la configuración de gateway elegida por el routing.
null mientras no haya sido procesado.ID de la tarjeta utilizada (prefijo
card_), cuando corresponda. null para boleto/PIX.Estado actual del payment. Consulta la lista de valores en Estado del payment.
Metadatos libres asociados al payment.
null cuando no están presentes.Soft descriptor enviado al titular en el estado de cuenta (ya normalizado, máximo 13 caracteres).
null cuando no está definido.URL del boleto (PDF/visualización). Se completa tras el procesamiento de un payment de boleto.
Línea digitável del boleto.
Código de barras del boleto.
URL de la imagen del QR Code PIX (para mostrar/escanear).
Payload BR Code del PIX (copia y pega, EMV iniciando en
00020126...), para pegar en la app del banco.ID de la configuración de split aplicada al payment, si la hubiere.
Valor original antes de ajustes (en centavos), cuando corresponda.
Código de retorno del adquirente.
Mensaje de retorno del adquirente.
Indica si un fallo puede ser reintentado.
null cuando no aplica.Código de rechazo, cuando el payment fue rechazado.
Mensaje de error del procesamiento, cuando lo haya.
Fecha de creación (ISO 8601).
Fecha de la última actualización (ISO 8601).
Fecha en que el payment fue pagado.
null mientras no haya sido pagado.Fecha de expiración del instrumento (ej.: TTL del QR Code PIX, vencimiento del boleto).
null cuando no aplica.Fecha de cancelación.
null cuando no fue cancelado.Fecha del reembolso.
null cuando no fue reembolsado.Fecha del chargeback.
null cuando no ocurrió.Fecha de entrada en protesto.
null cuando no aplica.Fecha de eliminación lógica (soft delete).
null para payments activos.Versión de concurrencia optimista del registro.
Estado del payment
El campostatus puede tomar uno de los siguientes valores:
| Status | Significado |
|---|---|
pending | Creado, aún no procesado |
waiting_payment | Aguardando pago (boleto/PIX emitido) |
authorized | Autorizado (tarjeta), aún no capturado/liquidado |
paid | Pagado |
partially_paid | Pagado parcialmente |
refused | Rechazado por el adquirente |
failed | Error en el procesamiento |
canceled | Cancelado |
expired | Expiró antes de completarse (ej.: QR Code PIX o boleto vencido) |
replaced | Reemplazado por otro payment |
waiting_refund | Reembolso solicitado, en espera de procesamiento |
refunded | Reembolsado íntegramente |
partially_refunded | Reembolsado parcialmente |
chargeback | Chargeback registrado |
in_protest | En protesto |
deleted | Eliminado lógicamente |
Listar payments de la transacción
ID de la transacción (prefijo
txn_).200) envuelve la lista en el campo data:
Lista de payments de la transacción. Consulta El objeto Payment.
| Código | Cuándo |
|---|---|
200 | Lista retornada |
404 | Transacción no encontrada |
Obtener payment por ID
ID de la transacción (prefijo
txn_).ID del payment (prefijo
pay_).200) es el objeto Payment directamente (sin envelope):
Para boleto, utiliza
boletoUrl, boletoDigitableLine y boletoBarcode. Para PIX, utiliza pixUrl (QR Code) y pixCopyPaste (copia y pega). Estos campos solo se completan después de que el payment es procesado por el gateway.| Código | Cuándo |
|---|---|
200 | Payment retornado |
404 | Payment no encontrado |
Procesar payments
pending o waiting_payment. Puedes restringir el procesamiento a payments específicos enviando paymentIds.
Este endpoint soporta idempotencia. Envía el header
Idempotency-Key con un valor único por solicitud para evitar procesamientos duplicados en caso de reintento.Parámetros de ruta
ID de la transacción (prefijo
txn_).Header
Clave única para garantizar la idempotencia de la solicitud. Opcional.
Cuerpo de la solicitud
Datos del cliente, requeridos por el gateway.
Datos de la tarjeta (requerido para
credit_card).Datos del boleto (requerido para
boleto).Datos del PIX (requerido para
pix).IP del cliente.
Metadatos libres (clave/valor) para el procesamiento.
ID de la configuración de routing a utilizar. Cuando se omite, se aplica el routing predeterminado de la company.
Restringe qué gateways puede elegir el routing.
IDs específicos de payments a procesar. Si se omite o está vacío, procesa todos los payments en estado
pending/waiting_payment de la transacción.Respuesta
Cuando hay payments a procesar, la respuesta (200) incluye el conteo y el resultado por ciclo de procesamiento:
Número de ciclos de procesamiento ejecutados.
Lista de resultados, uno por ciclo.
Si no hay ningún payment pendiente por procesar, la respuesta (
200) es diferente: retorna results vacío y un mensaje informativo.| Código | Cuándo |
|---|---|
200 | Procesamiento completado (o ningún payment pendiente) |
404 | Transacción no encontrada |
Reembolsar payment
amount.
El comportamiento de aprobación depende de la configuración refund.auto_approve de la company (por defecto: true):
- Con auto-approve, el refund se crea, aprueba y procesa en el gateway de forma inmediata.
- Sin auto-approve, el refund queda pendiente de aprobación manual.
Este endpoint soporta idempotencia. Envía el header
Idempotency-Key para evitar reembolsos duplicados en caso de reintento.Parámetros de ruta
ID de la transacción (prefijo
txn_).ID del payment a reembolsar (prefijo
pay_).Header
Clave única para garantizar la idempotencia de la solicitud. Opcional.
Cuerpo de la solicitud
Motivo del reembolso (1 a 4000 caracteres).
Valor a reembolsar, en centavos. Debe ser un entero positivo. Cuando se omite, reembolsa el valor total del payment.
Respuesta
La respuesta (200) es el objeto Refund creado:
ID del refund (prefijo
ref_).ID del payment reembolsado (prefijo
pay_).Valor reembolsado, en centavos.
Estado del refund. Cuando el refund queda pendiente de aprobación manual, llega en un estado anterior a
refunded.Motivo informado.
Motivo del fallo, cuando el reembolso falla en el gateway.
Fecha en que el reembolso fue efectuado.
null mientras esté pendiente.| Código | Cuándo |
|---|---|
200 | Refund creado (y procesado, si auto-approve) |
404 | Payment no encontrado |
409 | Payment no reembolsable o monto excede el límite |
Ver también
Transactions
El recurso padre de los payments.
Refunds
Detalles completos del recurso de reembolso.
Tokenizer
Genera el token de tarjeta para pagar con
credit_card.Simular pagos (Sandbox)
Fuerza el resultado de un PIX/boleto en el entorno de pruebas.

