Eliminar Pago Por Número de Serie (demo)

Cancela un pago activo en un dispositivo PinPad utilizando su número de serie (serial_number_id).

Este endpoint es útil cuando necesitas cancelar un pago sin tener el pinpad_request_id.

Si por alguna razón necesitas cancelar o eliminar una intención de pago, además de hacerlo utilizando el pinpad_request_id también podrás hacerlo utilizando el siguiente endpoint DELETE disponible pasando el parámetro serial_number_id como se muestra a continuación:

curl --location --request DELETE 'https://api.payclip.io/f2f/pinpad/v1/payment/serial-number/{serial_number_id}' \
--header 'Authorization: Basic {TOKEN}' \
--data ''
🚧

Importante

Similar a la eliminación por pinpad_request_id esto solo funcionará siempre y cuando el intento de pago aún no haya sido recogido por el terminal.

Si ese es el caso y aún así deseas cancelar el pago, aún puedes hacerlo cancelando el proceso dentro de la aplicación Pin Pad o cerrando completamente la aplicación.

Respuestas

Esta integración ofrece la siguiente forma de comunicarse con tu backend para obtener los resultados de pago:

  • Respuesta exitosa (200 OK), la orden de pago se creó correctamente:
{
"pinpad_request_id": "String"
    	"reference":  "String",
    	"amount":  1000,
    	"serial_number_pos":  "String",
     	"current_payment_on_transaction": "String | null"

}
🚧

Importante

Cuando current_payment_on_transaction es diferente de null entonces la solicitud recién creada se encuentra en espera.

current_payment_on_transaction contiene el pinpad-request-id del intento de pago que actualmente se encuentra transaccionado en la terminal solicitada.

  • Respuesta de error (400 Bad request), no puedes generar más solicitudes de cobro a la terminal solicitada.
{
   "code": "PAYMENT_PENDING",
   "message": "String",
   "data": {
       "current_payment_on_transaction": "String | null",
       "payment_enqueued": "String | null"
   }
}
🚧

Importante

Pinpad-payments-api permite realizar hasta dos solicitudes de cobro:

  • La primera solicitud de cobro se debe encontrar transaccionado en la terminal y la segunda se encuentra en espera de ser atendida. El campo current_payment_on_transaction contiene el pinpad-request-id de la solicitud que se encuentra transaccionado en la terminal solicitada.
  • Cuando generas una nueva solicitud y no exista espacio de espera la respuesta de la solicitud será un 400. El campo payment_enqueued contiene el pinpad-request-id de la solicitud que se encuentra en espera de ser atendida por la terminal.

Códigos de Error

La siguiente tabla detalla los mensajes de error:

Código HTTP

Message

Example

400 Bad Request

Check request body

{ "code": "ERROR_BODY_STRUCTURE", "message": "Amount must be a number" }

401 Unauthorized

Check api credentials

{ "message": "Unauthorized" }

Language
Credentials
Header
Click Try It! to start a request and see the response here!