Crear sucursal y caja
Después de crear la aplicación y obtener las credenciales, es necesario configurar la sucursal y caja, que estarán asociados a las transacciones.
Las sucursales representan establecimientos físicos registrados en Mercado Pago y pueden tener una o más cajas vinculadas. Las cajas corresponden a los puntos de venta (PDVs) y deben siempre estar asociadas a una sucursal, garantizando la conciliación de pagos por Código QR en establecimientos físicos.

Es posible crear tiendas y cajas desde tu sistema a través de nuestras APIs para pagos presenciales. Para ello, sigue los pasos a continuación.
Crear sucursal
Para crear una sucursal vía API, envía un POST incluyendo tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago, que es utilizada en el backend. Puedes acceder a ella a través de Tus integraciones > Datos de integración > Pruebas > Credenciales de prueba. Durante la integración, utiliza el Access Token de prueba y, al finalizar, reemplázalo por el Access Token de producción si se trata de una integración propia, o por el Access Token obtenido mediante OAuth en el caso de integraciones de terceros. Para más información, dirígete a la documentación. El Access Token de prueba comienza con el prefijo `APP_USR`.Acceder a las credenciales de prueba al endpoint Crear sucursalAPI. Deberás agregar el user_id de la cuenta de pruebaDurante el desarrollo, utiliza el User ID de la cuenta de prueba. Accede a Tus integraciones > Datos de integración > Credenciales de prueba > Datos de las credenciales de prueba y copia el User ID que se muestra. Al salir a producción, reemplázalo por el User ID de la cuenta real de Mercado Pago que recibirá los pagos. en el path de tu solicitud y completar los parámetros requeridos con los detalles del negocio según se indican a continuación.
city_name, state_name, latitude y longitude). Los datos incorrectos pueden causar errores en los cálculos de impuestos, impactando directamente la facturación y la regularización fiscal de tu empresa.curlcurl -X POST \ 'https://api.mercadopago.com/users/USER_ID/stores'\ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -d '{ "name": "Sucursal Instore", "business_hours": { "monday": [ { "open": "08:00", "close": "12:00" } ], "tuesday": [ { "open": "09:00", "close": "18:00" } ] }, "external_id": "LOJ001", "location": { "street_number": "0123", "street_name": "Nombre de la calle de ejemplo.", "city_name": "Nombre de la ciudad.", "state_name": "Nombre del estado.", "latitude": 27.175193925922862, "longitude": 78.04213533235064, "reference": "Cerca de Mercado Pago." } }'
| Parámetro | Descripción y ejemplos | Obligatoriedad |
user_id | Identificador de la cuenta de Mercado Pago que recibe el dinero por las ventas realizadas en la sucursal. Durante el desarrollo, utiliza el user_id de la cuenta de prueba, disponible en Tus integraciones > Datos de integración > Credenciales de prueba > Datos de las credenciales de prueba.Al salir a producción, reemplázalo por el user_id de la cuenta real que procesará las transacciones: Si estás realizando una integración propiaIntegraciones de Código QR a tu sistema para uso propio y configuradas a partir de las credenciales de tu aplicación., encontrarás este valor en los Datos de integración. Si, en cambio, estás realizando una integración para tercerosIntegraciones de Código QR a tu sistema en nombre de un vendedor y configuradas a partir de credenciales obtenidas a través del protocolo de seguridad OAuth., obtendrás el valor en la respuesta a la vinculación por medio de OAuthClave privada generada mediante el protocolo de seguridad OAuth, que permite gestionar integraciones en nombre de terceros. Para más información, dirígete a la documentación.OAuth. | Obligatorio |
name | Nombre de la sucursal creada. | Obligatorio |
business_hours | Horario comercial. Los horarios de funcionamiento se dividen por día de la semana y se permiten hasta cuatro horarios de apertura y cierre por día. Proporcione estos datos para que su sucursal se muestre en la aplicación de Mercado Pago con el horario de funcionamiento correcto. | Opcional |
external_id | Identificador externo de la tienda para el sistema integrador. Puede contener cualquier valor alfanumérico de hasta 60 caracteres y debe ser único para cada tienda. Por ejemplo, LOJ001. | Obligatorio |
location | Este objeto debe contener toda la información de la ubicación de la tienda. Es importante completar todo correctamente , especialmente los campos latitude y longitude con las coordenadas geográficas, usando el formato decimal simple y los datos reales del lugar. Por ejemplo, "latitude": 27.175193925922862 y "longitude": 78.04213533235064, que corresponden a la ubicación exacta del Taj Mahal, en India. Al ingresar estos datos correctamente, la sucursal aparecerá en el mapa en la ubicación indicada. | Obligatorio |
Si la solicitud fue enviada correctamente, la respuesta será como el ejemplo a continuación:
json{ "id": 1234567, "name": "Sucursal Instore", "date_created": "2019-08-08T19:29:45.019Z", "business_hours": { "monday": [ { "open": "08:00", "close": "12:00" } ], "tuesday": [ { "open": "09:00", "close": "18:00" } ] }, "location": { "address_line": "Nombre de la calle de ejemplo, 0123, Nombre de la ciudad, Nombre del estado.", "latitude": 27.175193925922862, "longitude": 78.04213533235064, "reference": "Cerca de Mercado Pago" }, "external_id": "LOJ001" }
Además de los datos enviados en la solicitud, el endpoint devolverá el identificador asignado a la tienda por Mercado Pago bajo el parámetro id.
Crear caja
Para habilitar ventas con Mercado Pago, es indispensable que cada tienda registrada tenga al menos una caja vinculada. Para crear una caja y asociarla a la tienda previamente creada, envía un POST incluyendo tu Access Token de pruebaClave privada de la aplicación creada en Mercado Pago, que es utilizada en el backend. Puedes acceder a ella a través de Tus integraciones > Datos de integración > Pruebas > Credenciales de prueba. Durante la integración, utiliza el Access Token de prueba y, al finalizar, reemplázalo por el Access Token de producción si se trata de una integración propia, o por el Access Token obtenido mediante OAuth en el caso de integraciones de terceros. Para más información, dirígete a la documentación. El Access Token de prueba comienza con el prefijo `APP_USR`.Acceder a las credenciales de prueba al endpoint Crear cajaAPI como se muestra a continuación.
curlcurl -X POST \ 'https://api.mercadopago.com/v2/pos'\ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'X-Idempotency-Key: CLAVE_UNICA' \ -d '{ "name": "POS-001", "store_id": "1234567", "external_id": "LOJ001POS001", "config": { "qr": { "operating_mode": "pdv" } } }'
| Parámetro | Descripción y ejemplos | Obligatoriedad |
name | Nombre de la caja, definido por el integrador al momento de la creación. Solo se permiten caracteres alfanuméricos, guiones, guiones bajos y espacios internos. El valor no puede comenzar ni terminar con un espacio. El límite máximo permitido es de 45 caracteres. Si no se proporciona, la API establece automáticamente el valor de external_id como nombre. | Opcional |
store_id | Identificador de la tienda a la que pertenece la caja, asignado por Mercado Pago. Es devuelto en la respuesta a la creación de la tienda bajo el parámetro id. Obligatorio si external_store_id no es enviado. Si se envían ambos, deben corresponder a la misma sucursal. | Condicional |
external_store_id | Identificador externo de la tienda, definido por el integrador al crearla, bajo el parámetro external_id. Obligatorio si store_id no es enviado. Si se envían ambos, deben corresponder a la misma sucursal. | Condicional |
external_id | Identificador único de la caja definido por el sistema integrador. Debe ser un valor alfanumérico único para cada caja y puede contener hasta 40 caracteres. Aunque es un campo opcional en la API, se recomienda enviarlo siempre: es obligatorio para poder crear orders de Código QR asociadas a esta caja. Sin este campo, no será posible procesar pagos. | Opcional |
config.qr.operating_mode | Modo de operación de la caja para pagos con Código QR. Valores posibles: pdv: modo atendido, donde un cajero está presente y procesa la transacción. El campo config.qr.url debe estar ausente. standalone: modo de Código QR no integrado. El QR generado es fijo y no está asociado a ningún sistema externo; el cliente escanea y paga directamente desde la app de Mercado Pago sin que el integrador gestione la order. El campo config.qr.url debe estar ausente. | Opcional |
config.qr.category | Código MCC que indica la categoría de la caja. El código varía según el país de operación. Si no se especifica, queda como categoría genérica. Para más información sobre los códigos, consulta la Referencia de APIAPI. | Opcional |
config.qr.url | URL para obtener la order del sistema integrador cuando se inicia un pago. El campo config.qr.url debe ser nula si operating_mode es pdv o standalone. | Condicional |
Si la solicitud fue enviada correctamente, la respuesta será como el ejemplo a continuación:
json{ "id": 1234567, "name": "POS-001", "status": "active", "date_created": "2024-01-15T10:30:00Z", "date_last_updated": "2024-01-15T10:30:00Z", "user_id": 123456, "store_id": "1234567", "external_store_id": "LOJ001", "external_id": "LOJ001POS001", "config": { "qr": { "operating_mode": "pdv" } }, "qr_response": { "uuid": "0977011a027c4b4387e52069da4264deae2946af4dcc44ee98a8f1dbb376c8a1", "image": "https://www.mercadopago.com/instore/merchant/qr/1234567/abc123.png", "template_document": "https://www.mercadopago.com/instore/merchant/qr/1234567/template_abc123.pdf", "template_image": "https://www.mercadopago.com/instore/merchant/qr/1234567/template_abc123.png", "qr_code": "00020101021226940014BR.GOV.BCB.PIX2572pix-qr-h.mercadopago.com/instore/h/p/v2/abc123" } }
Consulta en la tabla a continuación la descripción de algunos de los parámetros retornados que pueden ser útiles para continuar con tu integración más adelante.
| Parámetro | Descripción |
id | ID de creación del punto de venta. Ese ID puede utilizarse para varias operaciones, incluyendo consultar, actualizar o eliminar los datos de la caja creada. |
config | Objeto de configuración del punto de venta. Contiene el nodo de configuración qr con el operating_mode y, cuando corresponda, category y url. |
qr_response | Código QR estático asociado a la caja creada automáticamente para procesar las transacciones del punto de venta. Este código QR es necesario cuando las orders son creadas en modo estático (static) o híbrido (hybrid). El objeto qr_response contiene los siguientes atributos: uuid: Identificador único del Código QR asociado a este punto de venta, representado como una cadena hexadecimal de 64 caracteres (hash SHA-256). image: URL de la imagen del código QR a ser utilizado para realizar las transacciones. template_document: URL del archivo (en formato PDF) del template con el código QR a ser utilizado para realizar las transacciones. template_image: URL del archivo (en formato de imagen) del template con el código QR a ser utilizado para procesar las transacciones. qr_code: cadena cruda del Código QR que puede ser codificada en una imagen por el sistema integrador. |
status | Estado actual del punto de venta. Valores posibles: active (activo y disponible para recibir pagos) e inactive (inactivo, no puede recibir pagos). |
user_id | Identificador de la cuenta de Mercado Pago que recibe el dinero por las ventas realizadas en la caja. |
name | Nombre asignado a la caja en el momento de su creación. |
store_id | Identificador de la tienda a la que pertenece el punto de venta, asignado por Mercado Pago. |
external_store_id | Identificador externo de la tienda, que fue asignado por el sistema integrador al momento de su creación bajo el parámetro external_id. |
external_id | Identificador único de la caja definido por el sistema integrador. |
Si ambas solicitudes son exitosas, habrás creado y configurado la tienda y la caja necesarias para la integración con Código QR.
Con la tienda y la caja creadas, podrás integrar el procesamiento de pagos.