Procesar pagos
Sigue los pasos a continuación para comenzar a procesar tus pagos con Punto de Venta (PDV).
Obtener el listado de dispositivos disponibles
Antes de crear una intención de pago, debes obtener los dispositivos Point asociados a tu cuenta. Puedes hacerlo a través del siguiente llamado:
curl
curl --location --request GET 'https://api.mercadopago.com/point/integration-api/devices?offset=0&limit=50' \
--h 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Recibirás una respuesta como esta:
json
{
"devices": [
{
"id": "PAX_A910__SMARTPOS1234345545",
"pos_id": 47792476,
"store_id": "47792479",
"external_pos_id": "SUC0101POS",
"operating_mode": "PDV"
},
{
"id": "INGENICO_MOVE2500__ING-ARG-12348394345",
"pos_id": 47792476,
"store_id": "47792476",
"external_pos_id": "SUC0102POS",
"operating_mode": "STANDALONE"
},
{
"id": "INGENICO_MOVE2500__ING-ARG-4782743403",
"operating_mode": "PDV",
"pos_id": 47792476,
"store_id": "47792478",
"external_pos_id": "SUC0103POS",
},
{
"id": "PAX_A910__SMARTPOS849233453",
"pos_id": 47792476,
"store_id": "47792472",
"external_pos_id": "SUC0104POS",
"operating_mode": "STANDALONE"
}
],
"paging": {
"total": 4,
"limit": 50,
"offset": 0
}
}
Crear la intención de pago
Una intención de pago es un llamado que contiene los detalles de la transacción a realizarse, y que debe ser creada para poder iniciar un cobro. Se trata de un intento que, de ser exitoso, devolverá un id
del pago y su estado.
Puedes crear una intención de pago y asignarla a tu dispositivo Point de esta manera:
curl
curl --location --request POST 'https://api.mercadopago.com/point/integration-api/devices/{deviceid}/payment-intents' \
--h 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data-raw '{
"amount": 1500,
"additional_info": {
"external_reference": "4561ads-das4das4-das4754-das456",
"print_on_terminal": true,
"ticket_number": "S0392JED"
}
}'
Campo | Descripción |
amount | Monto total de la intención de pago. Importante: este campo no admite puntos decimales. Si deseas generar una intención de pago, debes contemplar los dos decimales del valor en su total. Por ejemplo: para generar orden de pago de valor "15,00" deberás ingresar "1500". |
external_reference | Campo de uso exclusivo del integrador para incluir referencias propias de su sistema. |
print_on_terminal | Campo que determina si el dispositivo realiza la impresión del comprobante de pago. |
ticket_number | Número de ticket de la intención de pago. |
Como respuesta, recibirás algo similar a esto:
json
{
"id": "7d8c70b6-2ac8-4c57-a441-c319088ca3ca",
"device_id": "INGENICO_MOVE2500__ING-ARG-14886780",
"amount": 1500,
"additional_info": {
"external_reference": "4561ads-das4das4-das4754-das456",
"print_on_terminal": true,
"ticket_number": "S0392JED"
}
}
Ten en cuenta que las intenciones de pago son la base para el procesamientos de pagos con dispositivos Point. Por este motivo, es importante que registres y guardes los datos obtenidos en su creación, especialmente su id
.
Procesar intención de pago
Una vez creada la intención de pago, puedes obtenerla desde tu dispositivo Point oprimiendo el botón para iniciar cobro (en caso de Point Plus y Point Pro 2, el botón verde, y en el caso de Point Smart, el botón digital “Cobrar”).
Luego, continúa con los pasos que se muestran en la pantalla para completar el pago.
Consultar el estado de una intención de pago
Si deseas saber el estado de una intención de pago en particular, puedes consultar el estado actual de tu intención de pago utilizando el id
que recibiste en la respuesta al momento de crearla.
Recuerda que id
y estado de la intención de pago (por ejemplo, 7f25f9aa-eea6-4f9c-bf16-a341f71ba2f1)son diferentes a id
y estado del pago (por ejemplo, 65412345). En este caso, se trata de consultar los detalles de un intento. Si quieres consultar la información correspondiente al pago, accede a la sección API de Pagos en Referencia de API.
curl
curl --location --request GET 'https://api.mercadopago.com/point/integration-api/payment-intents/{paymentintentid}' \
--h 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Recibirás una respuesta similar a la siguiente:
json
{
"state": "FINISHED",
"id": "0aa0519d-d985-4e83-b62d-dda123456789",
"device_id": "INGENICO_MOVE2500_ING-ARG-14123456",
"amount": 600,
"payment": {
"id": "11123456789"
},
"additional_info": {
"ticket_number": "123456789123456789"
}
}
Puedes consultar los estados posibles de una intención de pago accediendo a nuestro Glosario.
Cancelar una intención de pago
Si lo deseas, puedes cancelar una intención de pago asignada a un dispositivo Point según el estado en el que se encuentre. Consulta cómo hacerlo en cada caso a continuación.
Status: open
Si el estado de la intención es open
y todavía no fue enviada a la terminal, puedes cancelarla vía API realizando el siguiente llamado:
curl
curl --location --request DELETE 'https://api.mercadopago.com/point/integration-api/devices/{deviceid}/payment-intents/{paymentintentid}' \
--h 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
El llamado devolverá la siguiente respuesta:
json
{
"id": "7d8c70b6-2ac8-4c57-a441-c319088ca3ca"
}
Status: on_terminal
Si, en cambio, el estado de la intención de pago es on_terminal
, deberás realizar la cancelación directamente desde el dispositivo Point. Para hacerlo, sigue las indicaciones a continuación.
- Point Smart: en el dispositivo, mantén presionado el botón inferior derecho durante unos segundos y, cuando aparezca el mensaje indicando si deseas salir de la pantalla sin finalizar el cobro, haz clic en sí.
- Point Plus: en el dispositivo, mantén presionado el botón rojo durante unos segundos y, cuando aparezca el mensaje indicando si deseas salir de la pantalla sin finalizar el cobro, haz clic en sí.