/payment/api/v1
El siguiente mapa muestra los endpoints disponibles para implementar la operativa básica de los procesos de negocio de un comercio.
Todas las llamadas tienen un formato de entrada y de salida común. En las cabeceras deberá viaja la firma de la petición en Content-Signature.
Antes de definir las llamadas concretas para la operativas del Comercio, incluimos la sección de "Elementos Comunes" para establecer la base de todas las peticiones.
Elementos comunes
Formato de entrada
Todas las peticiones tendrán una estructura común y unos parámetros específicos. El formato es el siguiente:
Body
- key (string): Identificador del emisor.
- resource (string): Identificador del recurso.
- mode (enum[string]): Algoritmo de firma.
- sha256
- sha512
- nonce (string): Identificador único de la petición, permite controlar la duplicidad de datos.
- payload (object): Contiene los parámetros específicos de cada petición.
Headers
- Content-Signature: Contiene la firma del cuerpo de la petición (Body) con la clave privada.
HMAC(body, secret, mode)
- Content-Type: Es importante remarcar que la API solo procesara peticiones con el tipo de contenido
application/json
Ejemplo
{
"key": "589365da65c48cff87d0874a",
"nonce": "1234567890",
"mode": "sha256",
"resource": "359ef8ce5c5f4003b71692e446908c27",
"payload": {
"param1": "value1",
"param2": "value2"
}
}
Formato de salida
Todas las respuestas tendrán una estructura común y unos parámetros específicos. El formato es el siguiente:
Body
- type (string): Tipo de respuesta:
- code (string): Código identificador del resultado. Es un código orientativo y no está ligado estrictamente con motivo de la respuesta, es decir, el código no identifica inequívocamente la respuesta.
- Code = 0 --> success
- Code > 0 --> warning
- Code < 0 --> error
- detail (string): Descripción literal del mensaje de respuesta.
- uuid (string): Identificador único de la petición, imprescindible para la trazabilidad.
- request_id (string): Necesario para la finalización de algunas operaciones. Se indicarán aquellas en las que sea necesario.
- payload (object): Parámetros de respuesta.
Headers
- Content-Signature: La firma del cuerpo de la respuesta con la clave secreta. HMAC(body, secret, mode).
Ejemplo
{
"type": "resource.status",
"code": "0",
"detail": "Successful payment request.",
"payload": {
"param1": "value1",
"param2": "value2"
},
"request_id": "6268ee6d5dff38d7bc33dd37",
"uuid": "6268ee6d5dff38d7bc33dd37"
}