Procesar pagos - Integrar vía API para Punto de Venta - Mercado Pago Developers
¿Qué documentación quieres buscar?

¿No sabes cómo empezar la integración? 

Accede a los primeros pasos

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"
   }
}'
CampoDescripción
amountMonto 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_referenceCampo de uso exclusivo del integrador para incluir referencias propias de su sistema.
print_on_terminalCampo que determina si el dispositivo realiza la impresión del comprobante de pago.
ticket_numberNú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.

Importante
Recomendamos evaluar la calidad de tu integración para validar si estás cumpliendo con los estándares de calidad y seguridad de Mercado Pago que pueden mejorar tu tasa de aprobación de pagos.

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.

Atención
Tenga en cuenta que solo es posible verificar el estado de una intención de pago que haya sido creada hace, como máximo, 3 meses. Asegúrate de utilizar el identificador (id) correspondiente al intento de pago que esté dentro de este período. Si necesitas información sobre intenciones de pago más antiguas, te recomendamos que contactes con nuestro servicio de atención al cliente para obtener asistencia adicional.

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.

Importante
El mecanismo principal recomendado para conocer el resultado de una intención de pago es la suscripción a las notificaciones de integraciones . Aconsejamos utilizar el endpoint aquí presente sólo como mecanismo alternativo.

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"
    }
}
Importante
Confirmation_required es un estado final y no cambiará una vez recibido. Si efectivamente lo recibes en el estado de la intención, deberás confirmar en tu dispositivo cuál es el estado del pago que se corresponde con el payment_id recibido en la respuesta. No entregues tu producto o servicio hasta verificarlo.

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. Para ello, tienes dos posibilidades:

  • Si el estado de la intención es open y todavía no fue enviada a la terminal, puedes cancelarlo 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"
}
  • 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.
Recomendación
Puedes utilizar el Simulador Point para testear tu integración y la creación de intenciones de pago de manera segura con tu cuenta y credenciales de prueba.