Download OpenAPI specification:Download
En este documento se detalla el funcionamiento de los diferentes endpoints de la API de PayREST.
La entidad aplicación hace referencia a cada una de las aplicaciones clientes que se conectarán a la API de PayREST.
En esta sección se detallarán los endpoints utilizados para la gestión de dichas aplicaciones.
Ten en cuenta que las siguientes entidades están asociadas a una aplicación en concreto (y que por lo tanto no se podrán gestionar desde otra aplicación):
Devuelve el listado completo de aplicaciones dadas de alta opcionalmente filtradas por nombre.
limit | integer >= 1 Default: 10 Número de elementos a mostrar por página. |
offset | integer >= 0 Default: 0 Posición del primer elemento a mostrar. |
sort | string Default: "id_asc" Campo y dirección de la ordenación de los resultados. El formato debe ser: field1_direction,field2_direction Donde:
Nota: En caso de no indicar |
name | string Nombre que se utilizará para filtrar las aplicaciones. |
Petición correcta.
[- {
- "id": 1,
- "name": "Example App",
- "apiKey": {
- "key": "APPLICATION_API_KEY"
}, - "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0
}
]
}
]
Permite crear una nueva aplicación, devolviendo a su vez los datos completos de la misma si la petición es correcta (como por ejemplo el ID o la API Key asociada).
Datos para la creación de la aplicación.
application | object (Application_Form) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
{- "application": {
- "name": "string",
- "url": "string",
- "logo": "string"
}
}
{- "id": 1,
- "name": "Example App",
- "apiKey": {
- "key": "APPLICATION_API_KEY"
}, - "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
]
}
Información detallada sobre una aplicación concreta.
id required | integer \d+ Identificador único de la aplicación. |
Solicitud correcta.
No se ha encontrado ninguna aplicación con los datos proporcionados.
{- "id": 1,
- "name": "Example App",
- "apiKey": {
- "key": "APPLICATION_API_KEY"
}, - "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
]
}
Edición de la aplicación indicada. Los campos que no se encuentren en la petición se establecerán a null.
id required | integer \d+ Identificador único de la aplicación. |
Datos para la creación de la aplicación.
application | object (Application_Form) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ninguna aplicación con los datos proporcionados.
{- "application": {
- "name": "string",
- "url": "string",
- "logo": "string"
}
}
{- "id": 1,
- "name": "Example App",
- "apiKey": {
- "key": "APPLICATION_API_KEY"
}, - "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
]
}
Edición de la aplicación indicada. Solo se modificarán los campos que aparezcan explícitamente en la petición.
id required | integer \d+ Identificador único de la aplicación. |
Datos para la creación de la aplicación.
application | object (Application_Form) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ninguna aplicación con los datos proporcionados.
{- "application": {
- "name": "string",
- "url": "string",
- "logo": "string"
}
}
{- "id": 1,
- "name": "Example App",
- "apiKey": {
- "key": "APPLICATION_API_KEY"
}, - "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
]
}
Borra la aplicación y todos los datos asociados con la misma.
Nota: Solo es posible borrar una aplicación si esta no tiene ningún pago asociado a la misma.
id required | integer \d+ Identificador único de la aplicación. |
Aplicación borrada correctamente.
Imposible borrar la aplicación debido a que la misma ya tiene pagos asociados.
No se ha encontrado ninguna aplicación con los datos proporcionados.
Permite renovar la API Key de una aplicación, invalidando la actual para futuros usos y generando una completamente nueva.
¡Cuidado! Esto provocará que cualquier aplicación utilizando esta API Key deje de funcionar hasta que se actualice con la nueva clave.
id required | integer \d+ Identificador único de la aplicación. |
Solucitud correcta.
No se ha encontrado ninguna aplicación con los datos proporcionados.
{- "id": 1,
- "name": "Example App",
- "apiKey": {
- "key": "APPLICATION_API_KEY"
}, - "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
]
}
Las pasarelas de pago son las diferentes configuraciones para los servicios de pago con los que se integra PayREST (Redsýs, PayPal, etc).
En esta sección se detallarán los endpoints utilizados para gestionar una instancia de configuración de pasarela de pago concreta.
Nota: Las pasarelas de pago estarán siempre asociadas a una aplicación concreta, por lo que todas las rutas incluirán el parámetro obligatorio
applicationId
.
Devuelve el listado completo de pasarelas de pago configuradas para una aplicación concreta.
applicationId required | integer \d+ Identificador único de la aplicación. |
limit | integer >= 1 Default: 10 Número de elementos a mostrar por página. |
offset | integer >= 0 Default: 0 Posición del primer elemento a mostrar. |
sort | string Default: "id_asc" Campo y dirección de la ordenación de los resultados. El formato debe ser: field1_direction,field2_direction Donde:
Nota: En caso de no indicar |
filter | string Campo de filtro para el listado. El filtro se realizará por los campos: |
Petición correcta.
No existe ninguna aplicación con el ID recibido.
[- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
]
Permite crear una nueva pasarela de pago, devolviendo a su vez los datos completos de la misma si la petición es correcta.
Nota: Para saber qué opciones de configuración acepta un servicio de pagos concreto puedes consultar sus datos con los endpoints de la sección Servicios de pago.
applicationId required | integer \d+ Identificador único de la aplicación. |
Datos para la creación de la pasarela.
gatewayConfig | object (Instance_Form) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No existe ninguna aplicación con el ID recibido.
{- "gatewayConfig": {
- "name": "FooInstance",
- "gateway": "paypal_express_checkout",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}, - "weight": 0
}
}
{- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
Información detallada sobre una pasarela de pago concreta.
id required | integer \d+ Identificador único de la pasarela. |
applicationId required | integer \d+ Identificador único de la aplicación. |
Solicitud correcta.
No existe ninguna aplicación o ninguna pasarela de pago con el ID recibido.
{- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
Edición de una pasarela de pago. Los campos que no se encuentren en la petición se establecerán a null.
id required | integer \d+ Identificador único de la pasarela. |
applicationId required | integer \d+ Identificador único de la aplicación. |
Datos para la edición de la pasarela.
gatewayConfig | object (Instance_Form) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No existe ninguna aplicación o ninguna pasarela de pago con el ID recibido.
{- "gatewayConfig": {
- "name": "FooInstance",
- "gateway": "paypal_express_checkout",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}, - "weight": 0
}
}
{- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
Edición de una pasarela de pago. Solo se modificarán los campos que aparezca explícitamente en la petición.
id required | integer \d+ Identificador único de la pasarela. |
applicationId required | integer \d+ Identificador único de la aplicación. |
Datos para la edición de la pasarela.
gatewayConfig | object (Instance_Form) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No existe ninguna aplicación o ninguna pasarela de pago con el ID recibido.
{- "gatewayConfig": {
- "name": "FooInstance",
- "gateway": "paypal_express_checkout",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}, - "weight": 0
}
}
{- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0,
- "code": "8aad7287-4d47-4c58-bca4-285506033c98",
- "config": {
- "sandbox": true,
- "username": "PAYPAL_USERNAME",
- "password": "PAYPAL_PASSWORD",
- "signature": "PAYPAL_SIGNATURE"
}
}
Borra la pasarela de pago y todos los datos asociados con la misma.
id required | integer \d+ Identificador único de la pasarela. |
applicationId required | integer \d+ Identificador único de la aplicación. |
Pasarela de pago borrada correctamente.
No es posible borrar esta pasarela de pago.
No existe ninguna aplicación o ninguna pasarela de pago con el ID recibido.
Los pagos son las entidades que representan cada una de las transacciones creadas para una aplicación.
En esta sección se detallarán los endpoints utilizados para gestionar un pago durante su vida completa, desde su creación a su posterior pago o cancelación por parte del usuario final.
Nota: Los pagos estarán siempre asociados a una aplicación concreta, por lo que todas las rutas incluirán el parámetro obligatorio
applicationId
.
Devuelve el listado completo de pagos para una aplicación.
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece el pago. |
limit | integer >= 1 Default: 10 Número de elementos a mostrar por página. |
offset | integer >= 0 Default: 0 Posición del primer elemento a mostrar. |
sort | string Default: "id_asc" Campo y dirección de la ordenación de los resultados. El formato debe ser: field1_direction,field2_direction Donde:
Nota: En caso de no indicar |
status | string Estado de los pagos por el que filtrar el listado. |
client_id | string ID de cliente por el que filtrar el listado. |
transaction_id | string ID de transacción asociado al pago. |
Solicitud correcta.
No se ha encontrado ninguna aplicación con el ID recibido.
{- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Visita guiada",
- "clientId": "ID_CLIENT_1",
- "clientEmail": "client@example.com",
- "status": "completed",
- "createdAt": "2019-02-20T12:51:16+01:00",
- "flags": [
- "CANCELABLE",
- "CHARGEABLE"
], - "transactionId": "V8dps1gIPVLs588PI",
- "type": "Simple.",
- "parentId": 0,
- "completionDate": "2019-02-20T12:52:16+01:00",
- "askForClientDetails": "false",
- "gatewayConfigs": [
- { }
], - "subscription": {
- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Plan Premium",
- "clientId": "CLIENT_ID_1",
- "clientEmail": "client@example.com",
- "status": "authorized",
- "createdAt": "2020-02-10T12:13:26+01:00",
- "transactionId": "V8dps1gIPVLs588PI",
- "paymentCount": 12
}
}
Crea un nuevo pago a partir de la petición enviada por el cliente.
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece el pago. |
Datos para la creación del pago.
payment | object (Payment_Form) |
Pago creado correctamente.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ninguna aplicación con el ID recibido.
{- "payment": {
- "currency": "str",
- "amount": 0,
- "description": "string",
- "clientId": "string",
- "clientEmail": "string",
- "urlOk": "string",
- "urlKo": "string",
- "askForClientDetails": false,
- "type": 0,
- "gatewayConfigs": [
- "string"
]
}
}
{- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Visita guiada",
- "clientId": "ID_CLIENT_1",
- "clientEmail": "client@example.com",
- "status": "completed",
- "createdAt": "2019-02-20T12:51:16+01:00",
- "flags": [
- "CANCELABLE",
- "CHARGEABLE"
], - "transactionId": "V8dps1gIPVLs588PI",
- "type": "Simple.",
- "parentId": 0,
- "children": [
- { }
], - "completionDate": "2019-02-20T12:52:16+01:00",
- "askForClientDetails": "false",
- "gatewayConfigs": [
- { }
]
}
Información detallada sobre un pago concreto.
id required | integer \d+ Identificador único del pago. |
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece el pago. |
Solicitud correcta.
No se ha encontrado ninguna aplicación o ningún pago con el ID recibido.
{- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Visita guiada",
- "clientId": "ID_CLIENT_1",
- "clientEmail": "client@example.com",
- "status": "completed",
- "createdAt": "2019-02-20T12:51:16+01:00",
- "paymentLinks": [
- {
- "paymentNumber": "9d04df59-9f77-447b-a764-83c658f65ded",
- "details": { },
- "gateway": "string",
- "gatewayId": 0,
- "gatewayName": "string",
}
], - "flags": [
- "CANCELABLE",
- "CHARGEABLE"
], - "transactionId": "V8dps1gIPVLs588PI",
- "type": "Simple.",
- "parentId": 0,
- "children": [
- { }
], - "completionDate": "2019-02-20T12:52:16+01:00",
- "askForClientDetails": "false",
- "gatewayConfigs": [
- {
- "id": 1,
- "gateway": "paypal_express_checkout",
- "name": "FooInstance",
- "weight": 0
}
], - "subscription": {
- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Plan Premium",
- "clientId": "CLIENT_ID_1",
- "clientEmail": "client@example.com",
- "status": "authorized",
- "createdAt": "2020-02-10T12:13:26+01:00",
- "transactionId": "V8dps1gIPVLs588PI",
- "paymentCount": 12
}
}
Crea un nuevo enlace de pago que se puede enviar al usuario final para realizar el mismo.
Nota: Un enlace de pago siempre estará asociado a una pasarela de pago concreta, si se quiere enviar al usuario al cliente Secure de PayREST se deberá usar el enlace incluido en los detalles del propio pago (en enlace cuyo
rel
seapayment
).
id required | integer \d+ Identificador único del pago. |
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece el pago. |
Datos para la creación del enlace de pago.
paymentLink | object (Payment_Link_Form) |
Enlace creado correctamente.
No es posible generar enlaces de pago para el pago recibido o los datos recibidos no son correctos.
No se ha encontrado ninguna aplicación o ningún pago con el ID recibido..
{- "paymentLink": {
- "gatewayInstance": 1,
- "urlOk": "string",
- "urlKo": "string",
- "clientId": "string",
- "clientEmail": "string"
}
}
{- "id": 1,
- "paymentId": 1,
- "transactionId": "6ACD6KBA3JJEAMQB5",
- "paymentNumber": "add12310-fc94-4c6b-8595-54e4b083fbb1",
- "dataRequesterHtml": "string",
}
Cancela un pago y todos los enlaces asociados al mismo que todavía no se hayan finalizado, impidiendo que se llegue a completar el mismo.
id required | integer \d+ Identificador único del pago. |
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece el pago. |
Solicitud correcta.
No es posible aplicar el estado 'invalidated' al pago recibido.
No se ha encontrado el pago recibido.
Los webhooks son peticiones que se realizan automáticamente a una URL cuando un pago cambia de estado.
En esta sección se detallarán los endpoints utilizados para gestionar los webhooks.
Nota: Los webhooks estarán siempre asociados a una aplicación concreta, por lo que todas las rutas incluirán el parámetro obligatorio
applicationId
.
Todas las peticiones procedentes de payrest como resultado de un webhook se envían firmadas con una cabecera Hash
resultado de:
$hash = hash('sha512', $apikeyValue.hash('sha512', $json_body));
Los receptores de dichas peticiones deberán generar, con su apikey y el body recibido en la petición, un hash que compararán con la cabecera recibida para asegurarse la procedencia de la petición.
Devuelve el listado de todos los webhooks configurados para una aplicación concreta.
applicationId required | integer \d+ Identificador único de la aplicación. |
limit | integer >= 1 Default: 10 Número de elementos a mostrar por página. |
offset | integer >= 0 Default: 0 Posición del primer elemento a mostrar. |
sort | string Default: "id_asc" Campo y dirección de la ordenación de los resultados. El formato debe ser: field1_direction,field2_direction Donde:
Nota: En caso de no indicar |
Solicitud correcta.
No se ha encontrado ninguna aplicación con el ID recibido.
{- "id": 1,
- "method": "POST",
- "targets": [
- "completed",
- "failed"
], - "targetEntity": "payment"
}
Crea un nuevo webhook a partir de los datos recibidos.
applicationId required | integer \d+ Identificador único de la aplicación. |
Datos para la creación del webhook.
webhook | object (StatusEventType) |
Webhook creado correctamente.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ninguna aplicación con el ID recibido.
{- "webhook": {
- "targetEntity": "payment",
- "method": "POST",
- "targets": [
- "completed",
- "failed"
]
}
}
{- "id": 1,
- "method": "POST",
- "targets": [
- "completed",
- "failed"
], - "targetEntity": "payment"
}
Elimina un webhook, evitando que se ejecute en las próximas actualizaciones de pagos.
id required | integer \d+ Identificador único del webhook. |
applicationId required | integer \d+ Identificador único de la aplicación. |
Solicitud correcta.
No se ha encontrado el webhook recibido.
Las suscripciones son las entidades que representan un acuerdo por el cual se realizará un pago en intervalos de tiempos regulares durante un periodo determinado.
En esta sección se detallarán los endpoints utilizados para gestionar una suscripción durante su vida completa, desde su creación a su posterior firma del acuerdo de suscripción o cancelación por parte del usuario final.
Nota: Las suscripciones estarán siempre asociadas a una aplicación concreta, por lo que todas las rutas incluirán el parámetro obligatorio
applicationId
.
Devuelve el listado completo de suscripciones para una aplicación.
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece la suscripción. |
limit | integer >= 1 Default: 10 Número de elementos a mostrar por página. |
offset | integer >= 0 Default: 0 Posición del primer elemento a mostrar. |
sort | string Default: "id_asc" Campo y dirección de la ordenación de los resultados. El formato debe ser: field1_direction,field2_direction Donde:
Nota: En caso de no indicar |
status | string Estado de las suscripciones por el que filtrar el listado. |
Solicitud correcta.
No se ha encontrado ninguna aplicación con el ID recibido.
{- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Plan Premium",
- "clientId": "CLIENT_ID_1",
- "clientEmail": "client@example.com",
- "status": "authorized",
- "createdAt": "2020-02-10T12:13:26+01:00",
- "transactionId": "V8dps1gIPVLs588PI",
- "paymentCount": 12
}
Crea una nueva suscripción a partir de la petición enviada por el cliente.
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece la suscripción. |
Datos para la creación de la suscripción.
subscription | object (Subscription_Form) |
Suscripción creada correctamente.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ninguna aplicación con el ID recibido.
{- "subscription": {
- "currency": "str",
- "amount": 0,
- "chargeInterval": null,
- "paymentCount": 0,
- "description": "string",
- "clientId": "string",
- "clientEmail": "string",
- "urlOk": "string",
- "urlKo": "string"
}
}
{- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Plan Premium",
- "clientId": "CLIENT_ID_1",
- "clientEmail": "client@example.com",
- "status": "authorized",
- "createdAt": "2020-02-10T12:13:26+01:00",
- "transactionId": "V8dps1gIPVLs588PI",
- "paymentCount": 12
}
Información detallada sobre una suscripción concreta.
id required | integer \d+ Identificador único de la suscripción. |
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece la suscripción. |
Solicitud correcta.
No se ha encontrado ninguna aplicación o suscripción con el ID recibido.
{- "id": 1,
- "currency": "EUR",
- "amount": "100",
- "description": "Plan Premium",
- "clientId": "CLIENT_ID_1",
- "clientEmail": "client@example.com",
- "status": "authorized",
- "createdAt": "2020-02-10T12:13:26+01:00",
- "transactionId": "V8dps1gIPVLs588PI",
- "paymentCount": 12
}
Crea un nuevo acuerdo de suscripción que opcionalmente puede devolver un HTML que se debe enviar al usuario final para confirmar el mismo.
id required | integer \d+ Identificador único de la suscripción. |
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece la suscripción. |
Datos para la creación del acuerdo de suscripción.
subscriptionAgreement | object (Subscription_Agreement_Form) |
Enlace creado correctamente.
No es posible generar acuerdos de suscripción para la suscripción recibida o los datos recibidos no son correctos.
No se ha encontrado ninguna aplicación o ninguna suscripción con el ID recibido.
{- "subscriptionAgreement": {
- "gateway": 1,
- "urlOk": "string",
- "urlKo": "string"
}
}
{- "id": 1,
- "subscriptionId": 1,
- "transactionId": "6ACD6KBA3JJEAMQB5",
- "paymentNumber": "add12310-fc94-4c6b-8595-54e4b083fbb1",
- "dataRequesterHtml": "string",
- "links": [
]
}
Cancela una suscripción y todos los acuerdos de suscripción asociados a la misma que todavía no se hayan finalizado. Esto implica que no se generarán más pagos para esta suscripción y que los pagos que ya estén encolados para ejecución no se lleguen a crear (esto no aplica si el último pago está pendiente de confirmación pero ya se ha hecho la petición de autorización a la pasarela).
id required | integer \d+ Identificador único de la suscripción. |
applicationId required | integer \d+ Identificador único de la aplicación a la que pertenece la suscripción. |
Solicitud correcta.
No es posible aplicar el estado 'invalidated' a la suscripción recibida.
No se ha encontrado la suscripción recibida.
Los usuarios representan cada uno de los usuarios finales que podrán autenticarse contra el servidor OAuth2 de Ipglobal para acceder a los diferentes recursos de la API.
En esta sección se detallarán los endpoints utilizados para gestionar un usuario y los permisos del mismo.
Nota: Los usuario siempre estarán asociados a un cliente concreto, por lo que todas las rutas incluirán el parámetro obligatorio
clientId
.
Listado de todos los usuarios pertenecientes a un cliente.
clientId required | string Identificador único del cliente. |
limit | integer >= 1 Default: 10 Número de elementos a mostrar por página. |
offset | integer >= 0 Default: 0 Posición del primer elemento a mostrar. |
sort | string Default: "id_asc" Campo y dirección de la ordenación de los resultados. El formato debe ser: field1_direction,field2_direction Donde:
Nota: En caso de no indicar |
Petición correcta.
No se ha encontrado ningún cliente con el ID recibido.
[- {
- "id": 1,
- "username": "example1",
- "email": "user1@example.com",
- "roles": [
- "USER"
], - "uuid": "cb461867-b06a-4632-b70e-ee46247f9634",
}
]
Permite crear un usuario, devolviendo a su vez los datos completos del mismo si la petición es correcta.
clientId required | string Identificador único del cliente. |
Datos para la creación del usuario.
user | object (UserType) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ningún cliente con el ID recibido.
{- "user": {
- "username": "example_user",
- "email": "user@example.org",
- "roles": [
- "ADMIN"
], - "firstName": "John",
- "lastName": "Doe"
}
}
{- "id": 1,
- "username": "example1",
- "email": "user1@example.com",
- "roles": [
- "USER"
], - "uuid": "cb461867-b06a-4632-b70e-ee46247f9634",
}
Información detallada sobre un usuario concreto.
id required | integer \d+ Identificador único del usuario. |
clientId required | string Identificador único del cliente. |
Solicitud correcta.
No se encontrado ningún cliente o usuario con el ID recibido.
{- "id": 1,
- "username": "example1",
- "email": "user1@example.com",
- "roles": [
- "USER"
], - "uuid": "cb461867-b06a-4632-b70e-ee46247f9634",
}
Edición del usuario indicado. Los campos que no se encuentren en la petición se establecerán a null.
id required | integer \d+ Identificador único del usuario. |
clientId required | string Identificador único del cliente. |
Datos para la edición del usuario.
user | object (UserType) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ningún cliente o usuario con el ID recibido.
{- "user": {
- "username": "example_user",
- "email": "user@example.org",
- "roles": [
- "ADMIN"
], - "firstName": "John",
- "lastName": "Doe"
}
}
{- "id": 1,
- "username": "example1",
- "email": "user1@example.com",
- "roles": [
- "USER"
], - "uuid": "cb461867-b06a-4632-b70e-ee46247f9634",
}
Edición del usuario indicado. Solo se modificarán los campos que aparezcan explícitamente en la petición.
id required | integer \d+ Identificador único del usuario. |
clientId required | string Identificador único del cliente. |
Datos para la edición del usuario.
user | object (UserType) |
Solucitud correcta.
Ha ocurrido algún error al validar la petición.
No se ha encontrado ningún cliente o usuario con el ID recibido.
{- "user": {
- "username": "example_user",
- "email": "user@example.org",
- "roles": [
- "ADMIN"
], - "firstName": "John",
- "lastName": "Doe"
}
}
{- "id": 1,
- "username": "example1",
- "email": "user1@example.com",
- "roles": [
- "USER"
], - "uuid": "cb461867-b06a-4632-b70e-ee46247f9634",
}
Borra el usuario recibido en la petición.
id required | integer \d+ Identificador único del usuario. |
clientId required | string Identificador único del cliente. |
Usuario borrado correctamente.
No se ha encontrado ningún cliente o usuario con el ID recibido.
Los servicios de pago son los diferentes servicios con los que se integra PayREST (Redsýs, PayPal, etc).
En esta sección se detallarán los endpoints utilizados para obtener un listado de los diferentes servicios disponibles, así como obtener información concreta sobre uno de ellos (como por ejemplo las diferentes opciones de configuración que admite).
Listado de todos los servicios de pago disponibles para configurar, así como del número de instancias de cada una que el cliente actual tiene configuradas.
Petición correcta.
[- {
- "enabled": true,
- "name": "PayPal ExpressCheckout",
- "options": {
- "username": {
- "type": "string",
- "required": true
}, - "password": {
- "type": "string",
- "required": true
}, - "signature": {
- "type": "string",
- "required": true
}, - "sandbox": {
- "type": "boolean",
- "required": false
}
}, - "instances": 2,
- "id": "paypal_express_checkout"
}
]
Listado detallado de los datos de un servicio de pago, así como las posibles opciones que se pueden configurar en el mismo y las instancias que tiene configuradas el cliente actual.
id required | string Identificador único del servicio de pago. |
Solicitud correcta.
No se ha encontrado ningún servicio de pago con el ID solicitado.
{- "enabled": true,
- "name": "PayPal ExpressCheckout",
- "options": {
- "username": {
- "type": "string",
- "required": true
}, - "password": {
- "type": "string",
- "required": true
}, - "signature": {
- "type": "string",
- "required": true
}, - "sandbox": {
- "type": "boolean",
- "required": false
}
}, - "instances": 2,
- "id": "paypal_express_checkout",
- "configuredInstances": [ ]
}
PayREST pone a disposición de los desarrolladores diferentes estadísticas pre-calculadas tanto generales para un cliente concreto como asociadas a una aplicación concreta.
En esta sección se detallarán los endpoints utilizados para obtener estos datos, así como los datos exactos que se devuelven.
Muestra un resumen de operaciones e importes totales por aplicación, además de la suma de todas las operaciones del cliente actual.
Petición correcta.
{- "totalCount": 100,
- "totalAmount": 100000000,
- "details": [
- {
- "id": 1,
- "name": "Example App",
- "count": 100,
- "amount": 100000000
}
]
}
Muestra un resumen de operaciones e importes totales por día y por aplicación, así como el total de operaciones e importes en el período filtrado.
from | string Fecha de inicio del rango a obtener en formato YYYY-mm-dd. Por defecto, será una semana menos de la fecha actual. |
to | string Fecha de fin del rango a obtener en formato YYYY-mm-dd. Por defecto, será el día actual. |
Petición correcta.
{- "from": "2019-09-28",
- "to": "2019-10-05",
- "data": [
- {
- "date": "2019-09-28",
- "completed": 10,
- "failed": 5,
- "invalidated": 7
}
]
}
Muestra un resumen de operaciones totales por gateway para una aplicación concreta.
id required | integer \d+ Identificador único de la aplicación. |
Petición correcta.
{- "totalCount": 100,
- "totalAmount": 100000000,
- "details": [
- {
- "id": 1,
- "name": "PayPalInstance",
- "count": 100,
- "amount": 100000000
}
]
}
Muestra un resumen de operaciones por estado y día para una aplicación concreta.
id required | integer \d+ Identificador único de la aplicación. |
from | string Fecha de inicio del rango a obtener en formato YYYY-mm-dd. Por defecto, será una semana menos de la fecha actual. |
to | string Fecha de fin del rango a obtener en formato YYYY-mm-dd. Por defecto, será el día actual. |
Petición correcta.
{- "from": "2019-09-28",
- "to": "2019-10-05",
- "data": [
- {
- "date": "2019-09-28",
- "new": 2,
- "pending": 5,
- "suspended": 3,
- "completed": 10,
- "failed": 5,
- "expired": 32,
- "canceled": 8,
- "refunded": 3,
- "payedout": 16,
- "authorized": 15,
- "unknown": 5,
- "invalidated": 7,
- "accepting_payments": 4
}
]
}
Muestra un listado de operaciones por cliente. Se listarán las operaciones de todas las aplicaciones y gateways. Admite filtado por rango de fechas en la que se confirmaron los pagos.
from | string Fecha de inicio del rango a obtener en formato YYYY-mm-dd. Por defecto, será una semana menos de la fecha actual. |
to | string Fecha de fin del rango a obtener en formato YYYY-mm-dd. Por defecto, será el día actual. |
Petición correcta.
{- "from": "2019-09-28",
- "to": "2019-10-05",
- "data": [
- {
- "applicationName": "Example App",
- "gatewayName": "FooInstance",
- "id": 1,
- "transactionId": "ABC1234567890DEFG",
- "status": "completed",
- "amount": 10000,
- "currency": "EUR",
- "completionDate": "2019-09-28"
}
]
}