Indice
Table of Contents |
---|
📜 Descripción
Este endpoint permite obtener una lista paginada de pagos registrados en el sistema. Se pueden aplicar filtros dinámicos y ordenamientos mediante parámetros de consulta (query params
).
🔗 URL
Code Block | ||||
---|---|---|---|---|
| ||||
GET /pagos |
🛡️ Autenticación
Requiere autenticación mediante token JWT. El token debe enviarse en el encabezado:
Code Block | ||||
---|---|---|---|---|
| ||||
Authorization: Bearer {token} |
📊 Parámetros de consulta
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
page | integer | No | Número de página. Comienza desde 1. Ejemplo: |
limit | integer | No | Cantidad máxima de elementos por página. Ejemplo: |
sorts | object | No | Permite ordenar por uno o más campos. Ejemplo: |
filters | object | Sí | Permite aplicar múltiples filtros utilizando índices. |
📊 Ejemplo de uso de filtros
Code Block | ||||
---|---|---|---|---|
| ||||
filters[0][field]=status filters[0][operation]=EQUAL filters[0][value]=pending filters[1][field]=request_date filters[1][operation]=LESS_THAN filters[1][value]=20250101T030000000-0300 |
🔃 Ejemplo de uso de sorts
Code Block | ||||
---|---|---|---|---|
| ||||
sorts[request_date]=ascending sorts[amount]=descending |
🔎 Campos filtrables y operaciones válidas
Campo | Operaciones válidas |
---|---|
id | EQUAL, IN |
parent_payment_id | EXISTS, EQUAL |
external_transaction_id | EQUAL, CONTAINS_IGNORE_CASE |
type | EQUAL |
collector_id | EQUAL, IN |
currency_id | EQUAL |
final_amount | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
status | EQUAL |
validation | EQUAL |
review | EQUAL |
request_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
due_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
last_due_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
refunded_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
process_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
paid_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
rejected_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
cancel_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
objected_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
accreditation_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
review_validation_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
payer_validation_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
payer_deferred_date | LESS_THAN, LESS_THAN_OR_EQUAL_TO, EQUAL, GREATER_THAN_OR_EQUAL_TO, GREATER_THAN |
batch_withdrawal | EQUAL |
📅 Uso de filtros de fecha
Para aplicar un filtro entre dos fechas no debe utilizarse la operación BETWEEN
. En su lugar, se deben usar dos filtros separados
, cada uno con su índice correspondiente, sobre el mismo campo.
✅ Ejemplo correcto (rango de fechas):
Code Block | ||||
---|---|---|---|---|
| ||||
filters[0][field]=request_date filters[0][operation]=GREATER_THAN_OR_EQUAL_TO filters[0][value]=20250101T000000000-0300 filters[1][field]=request_date filters[1][operation]=LESS_THAN filters[1][value]=20250201T000000000-0300 |
...
Este ejemplo filtra todos los pagos cuya request_date
esté entre el 1 de enero de 2025 a las 00:00 (GMT-3)
y el 1 de febrero de 2025 a las 00:00 (GMT-3)
.
🕒 Formato de fechas
Las fechas deben enviarse en el siguiente formato:
...
- Ejemplo: 20250101T000000000-0300
- Representa: 1 de enero de 2025, 00:00:00.000
en hora UTC alineada a GMT-3
✅ Filtros mínimos requeridos
Debe incluirse al menos una
de las siguientes combinaciones de filtros. Si no se cumple esta condición, el sistema responderá con un error.
Combinaciones válidas:
collector_id
y request_datecollector_id
ypaid_date
collector_id
yrejected_date
collector_id
yaccreditation_date
collector_id
yrefunded_date
collector_id
ypayment_id
- owner.type y owner.id
payer.email
y request_datetype
ypayment_methods.gateway.name
❌ Error en caso de no cumplir los filtros minimos:
Code Block | ||||
---|---|---|---|---|
| ||||
{ "code": 400, "message": "Query not have the minimum fields required for realm", "extended_code": 4501 } |
❌ Posibles errores
Código | Mensaje de error | Código extendido | Descripción |
---|---|---|---|
400 | <field> can not be filter | 4601 | El campo enviado no puede ser utilizado como filtro. |
400 | Invalid field "<field>" | 4601 | El campo especificado no es válido o no existe. |
400 | No enum constant com.paypertic.filter.util.enums.Operation.<OPERATION> | 4601 | La operación de filtro especificada no es válida. Debe ser una de las operaciones definidas por el sistema. |
400 | <field> can not be filtered with <OPERATION> | 4601 | La operación indicada no es compatible con el tipo de dato del campo. |
400 | Query not have the minimum fields required for realm | 4501 | No se cumple con alguna combinación de filtros mínimos requeridos. |
401 | No autorizado | 4001 | No se proporcionó un token válido o expiró. |
500 | Error interno del servidor | 5000 | Se produjo un error inesperado en el servidor. |