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 ''
ImportanteSimilar 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"
}
ImportanteCuando 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"
   }
}
ImportantePinpad-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" } | |
