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" } |
|
