Saltar al contenido principal

Consultas unificadas

GET /payment/api/v1/{request_id}?key={key}&resource={resource}&mode=sha256&nonce={nonce}

Observacion

Observación: al ser una petición GET y no tener cuerpo de petición, la forma de generar la firma cambia. Seguir las instrucciones que se dan en esta sección.

Sea cual sea el método de pago, desde este endpoint podrás hacer las consultas de operaciones tan solo con el número de referencia del cobro (request_id).

Firma

La firma que viajará en Content-Signature se genera con parte de la URL:

"/payment/api/v1/{request_id}?key={key}&resource={resource}&mode=sha256&nonce=123123123"

Con este ejemplo podría confirmarse si la firma está bien generada:

  • Endpoint completo de consulta: https://sandbox.sipay.es/payment/api/v1/aaaabbbbcccc11112222?key=key-api-merchant&resource=resource-api-merchant&mode=sha256&nonce=123123123

  • Subcadena para realizar la firma: /payment/api/v1/aaaabbbbcccc11112222?key=key-api-merchant&resource=resource-api-merchant&mode=sha256&nonce=123123123

Es decir, hemos quitado la base de la url que tiene el dominio con el protocolo.

Ejemplo firma

Para un secret: abc123, si aplicamos el algoritmo HMAC SHA256 sobre la subcadena, debería retornar la siguiente firma:

f3f4011662773146ee11b009ac338c24dd911b656580bb25284dfedf3ce40220

info

Como se puede observar, lo más importante siempre es ofrecer un valor muy variable de nonce.

Petición

Parámetros URL

  • request_id: Identificador de la operación recibido en la generación del enlace.

Payload

Sin parámetros

Deberemos indicar el request_id en la url de la petición GET. Este identificador siempre se obtiene en la primera petición de generación de enlace de cobro.

Respuesta

Payload

  • code: código de respuesta unificado de la operación. El valor 0 indica que se ha completado con éxito. Distinto de 0 quiere decir que ha habido algún problema.
  • amount (interger, required): Importe de la operación en decimales. 140 según la moneda. En € serán 1,4€.
  • currency (string): Moneda definida según el ISO_4217.
  • order (string): Ticket de la operación.
  • payment_method_name: Nombre del método de pago empleado.
  • events: Todos los eventos que han sucedido con la operación. Hemos incluido una tabla con todos los eventos disponibles.

Ejemplos

Ejemplo-respuesta

Respuesta:

{
"type": "resource.status",
"code": "0",
"detail": "Operation status retrieved successfully",
"payload": {
"code": 0,
"amount": 15000,
"order": "6927d0555d014",
"currency": "EUR",
"payment_method_name": "fastpay",
"events": {
"create_session": [
{
"triggered_at": 1651144763.4668915,
"extra": {}
}
],
...
}
},
"request_id": "626a783ba72bfcb052598789",
"uuid": "626a783ba72bfcb052598789"
}