Recursos para IA

Crear pago con envío

A través de la preferencia, es posible crear un pago con un envío asociado. De esta manera, podrás ofrecer a los clientes entregas a domicilio de los productos adquiridos aprovechando la logística de Mercado Libre y sin esfuerzos extra de parte del negocio.

La creación de pagos con envíos solo está disponible para integradores que cuenten con autorización de Mercado Pago. Si no cuentas con esta funcionalidad, puedes solicitarla a tu Asesor Comercial.

Para crear un pago con un envío asociado, crea una preferencia enviando un POST al endpoint /checkout/preferences, incluyendo tu Access TokenClave 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 > Detalles de aplicación > Pruebas > Credenciales de prueba. y los nodos items y shipments como es indicado en la tabla a continuación.

curl

curl --location 'https://api.mercadopago.com/checkout/preferences' \
--header 'Authorization: Bearer [Access Token]' \
--header 'Content-Type: application/json' \
--data '{
"external_reference": "Referencia externa 123",
  "items": [
    {
      "title": "Producto 1",
      "description": "Descripción del producto 1",
      "picture_url": "image.jpg",
      "quantity": 1,
      "currency_id": "MXN",
      "unit_price": 100,
      "fiscal_data": {
        "sat": "23241500",
        "sat_measurement_id": "H87",
        "measurement_unit": "Pieza",
        "package_id": "4G",
        "dangerous_material_id": "M2340"
      },
      "dimensions": {
        "unit": "G",
        "height": 3,
        "width": 11,
        "length": 18,
        "weight": 100
      }
    }, 
    {  
      "title": "Producto 2",
      "description": "Descripción del producto 2",
      "picture_url": "image.jpg",
      "quantity": 1,
      "currency_id": "MXN",
      "unit_price": 110,
      "fiscal_data": {
        "sat": "23241500",
        "sat_measurement_id": "H87",
        "measurement_unit": "Pieza",
        "package_id": "4G",
        "dangerous_material_id": "M2340"
      },
      "dimensions": {
        "unit": "G",
        "height": 3,
        "width": 10,
        "length": 18,
        "weight": 90
      }
    },

  ],
   "shipments": {
    "dimensions": "21x15x6.5,360",
    "free_methods_types": [
            {
                "id": "standard"
            }
        ],
    "local_pickup": false,
    "mode": "me2",
    "stock_origin_id": "id",
    "receiver_address": {
         "zip_code": "06250",
         "street_name": "Ex-Hipódromo de Peralvillo",
         "street_number": null,
         "floor": "",
         "apartment": "",
         "neighborhood": Colonia,
         "city_name": Cuauhtémoc,
         "state_name": Ciudad de México,
         "country_name": México
        }
    }
}'
CampoDescripciónTipoObligatoriedad
external_referenceReferencia que puedes sincronizar con tu sistema de pagos para identificar el envío. Este campo debe tener un máximo de 64 caracteres y solo debe contener números, letras, guiones (-) y guiones bajos (_). No se permiten caracteres especiales como ([ ], (), '', @).StringOpcional
itemsInformación sobre los ítems vendidos a ser enviados.ArrayRequerido
items.titleTítulo del ítem que se mostrará durante el proceso de pago, en el checkout, actividades y correos electrónicos.StringRequerido
items.descriptionDescripción del ítem.StringOpcional
items.picture_urlURL de la imagen del ítem.StringOpcional
items.quantityCantidad de ítems. Esta propiedad se utiliza para calcular el costo total de la compra.NumberRequerido
items.currency_idIdentificador único de la moneda involucrada en la transacción. El único valor posible es pesos mexicanos (MXN).StringOpcional
items.unit_pricePrecio unitario del ítem. Esta propiedad se usa junto con propiedad quantity para determinar el costo de la compra.NumberRequerido
items.fiscal_dataObjeto que contiene los datos fiscales del producto.ObjectRequerido para crear envíos. Si lo ingresas, debes incluir también el atributo shipments.
items.fiscal_data.satCategoría SAT del ítem. Consulta los valores posibles accediendo al siguiente enlace.StringRequerido
items.fiscal_data.sat_measurement_idIdentificador único de la unidad de medida del producto.StringRequerido
items.fiscal_data.measurement_unitUnidad de medida del producto de acuerdo con las SAT Units.StringRequerido
items.fiscal_data.package_idIdentificador del tipo de embalaje del producto.StringRequerido
items.fiscal_data.dangerous_material_idIdentificador para productos peligrosos.StringOpcional
items.dimensionsObjeto que contiene la información sobre el tamaño del ítem.ObjectOpcional
items.dimensions.unitUnidad de medida para el ítem. Debe ser cm (centímetros).StringRequerido
items.dimensions.heightAlto del ítem en centímetros.NumberRequerido
items.dimensions.widthAncho del ítem en centímetros.NumberRequerido
items.dimensions.lengthLargo del ítem en centímetros.NumberRequerido
items.dimensions.weightPeso del ítem en gramos.NumberRequerido
shipmentsInformación del envío.ObjectObligatorio
shipments.dimensionsTamaño del paquete, que se utilizará para definir el costo del envío. El formato debe ser cm x cm x cm, g. Si contiene más de un ítem, su tamaño debe calcularse considerando la suma de las dimensiones de todos los artículos, asegurando siempre que no se superen las dimensiones máximas permitidas por paquete.
Consulta las buenas prácticas para el dimensionamiento accediendo a la documentación.
StringRequerido
shipments.free_methods_typeIdentificador de método de envío. Solo debe enviarse en caso de ofrecer envío gratuito, con el valor standard. Este envío gratuito solo es posible cuando el valor de la venta es mayor que el costo de envío. En caso de que el costo del envío esté a cargo del comprador, el campo no debe enviarse.StringOpcional
shipments.local_pickupIndica si se quiere ofrecer recolección de paquetes en sucursal. Para esta solución, ingresa false.BooleanRequerido
shipments.modeModo de envío. Para esta solución, ingresa me2.StringRequerido
shipments.stock_origin_idIdentificador de la dirección de origen del paquete, que debe ser solicitado al equipo de Mercado Pago. En caso de haber más de una dirección de recolección, deberá ser informado el stock_origin_id de la dirección de origen.StringOpcional
shipments.receiver_addressDetalles de la dirección de destino. Su envío es recomendado para ofrecer la mejor experiencia de compra y, de ser necesario, los datos pueden ser reutilizados.ObjectOpcional
shipments.receiver_address.zip_codeCódigo postal de la dirección de destino.StringOpcional
shipments.receiver_address.street_nameNombre de la calle de destino.StringOpcional
shipments.receiver_address.street_numberNúmero de la dirección de destino.StringOpcional
shipments.receiver_address.floorPiso del apartamento de destino.StringOpcional
shipments.receiver_address.apartmentNúmero del apartamento de destino.StringOpcional
shipments.receiver_address.neighborhoodBarrio de la dirección de destino.StringOpcional
shipments.receiver_address.city_nameCiudad de la dirección de destino.StringOpcional
shipments.receiver_address.state_nameEstado de la dirección de destino.StringOpcional
shipments.receiver_address.country_namePaís de la dirección de destino.StringOpcional

Si la solicitud se envió correctamente, el pago con envío habrá sido creado y la respuesta se verá como en el ejemplo a continuación.

json

{
    "additional_info": "",
    "auto_return": "",
    "back_urls": {
        "failure": "",
        "pending": "",
        "success": ""
    },
    "binary_mode": false,
    "client_id": "6607075136335166",
    "collector_id": 2681149695,
    "coupon_code": null,
    "coupon_labels": null,
    "date_created": "2025-10-15T15:30:39.775-04:00",
    "date_of_expiration": null,
    "expiration_date_from": null,
    "expiration_date_to": null,
    "expires": false,
    "external_reference": "Referencia externa 123",
    "id": "2681149695-c464c4e0-1834-4e81-9956-25a3cc1e8db8",
    "init_point": "https://www.mercadopago.com.mx/checkout/v1/redirect?pref_id=2681149695-c464c4e0-1834-4e81-9956-25a3cc1e8db8",
    "internal_metadata": null,
    "items": [
        {
            "id": "",
            "category_id": "",
            "currency_id": "MXN",
            "description": "Descripción del producto 1",
            "title": "Producto 1",
            "quantity": 1,
            "unit_price": 100,
            "fiscal_data": {
                "sat": "23241500",
                "sat_measurement_id": "H87",
                "measurement_unit": "Pieza",
                "package_id": "4G",
                "dangerous_material_id": "M2340"
            },
            "dimensions": {
                "unit": "G",
                "height": 3,
                "width": 11,
                "length": 18,
                "weight": 100
            }
        },
        {
            "id": "",
            "category_id": "",
            "currency_id": "MXN",
            "description": "Descripción del producto 2",
            "title": "Producto 2",
            "quantity": 1,
            "unit_price": 110,
            "fiscal_data": {
                "sat": "23241500",
                "sat_measurement_id": "H87",
                "measurement_unit": "Pieza",
                "package_id": "4G",
                "dangerous_material_id": "M2340"
            },
            "dimensions": {
                "unit": "G",
                "height": 3,
                "width": 10,
                "length": 18,
                "weight": 90
            }
        },
            ],
    "marketplace": "NONE",
    "marketplace_fee": 0,
    "metadata": {},
    "notification_url": null,
    "operation_type": "regular_payment",
    "payer": {
        "phone": {
            "area_code": "",
            "number": ""
        },
        "address": {
            "zip_code": "",
            "street_name": "",
            "street_number": null
        },
        "email": "",
        "identification": {
            "number": "",
            "type": ""
        },
        "name": "",
        "surname": "",
        "date_created": null,
        "last_purchase": null
    },
    "payment_methods": {
        "default_card_id": null,
        "default_payment_method_id": null,
        "excluded_payment_methods": [
            {
                "id": ""
            }
        ],
        "excluded_payment_types": [
            {
                "id": ""
            }
        ],
        "installments": null,
        "default_installments": null
    },
    "processing_modes": null,
    "product_id": null,
    "preference_expired": false,
    "redirect_urls": {
        "failure": "",
        "pending": "",
        "success": ""
    },
    "sandbox_init_point": "https://sandbox.mercadopago.com.mx/checkout/v1/redirect?pref_id=2681149695-c464c4e0-1834-4e81-9956-25a3cc1e8db8",
    "site_id": "MLM",
    "shipments": {
        "mode": "me2",
        "local_pickup": false,
        "dimensions": "21x15x6.5,360",
        "free_methods": [],
        "free_methods_types": [
            {
                "id": "standard"
            }
        ],
        "default_shipping_method": null,
        "receiver_address": {
            "zip_code": "06250",
            "street_name": "Ex-Hipódromo de Peralvillo",
            "street_number": null,
            "floor": "",
            "apartment": "",
            "city_name": "Cuauhtémoc",
            "state_name": "Ciudad",
            "country_name": "México",
            "neighborhood": "Colonia"
        },
        "stock_origin_id": "id"
    },
    "total_amount": null,
    "last_updated": null,
    "financing_group": ""
}

En caso de ser necesario, puedes cancelar el envío creado. Para eso, deberás cancelar el pago al que está asociado en su totalidad.

Gestionar envíos

Si eliges crear pagos con envíos, puedes utilizar nuestras APIs de gestión de envíos, que te permitirán optimizar tu experiencia pre y posventa.



Configurar notificaciones de envíos

Configura notificaciones Webhooks para recibir alertas sobre envíos y sus cambios de estado.

Para hacerlo, es necesario indicar las URLs a las que las mismas serán enviadas siguiendo el paso a paso a continuación:

  1. Ingresa a Tus integraciones y selecciona la aplicación integrada con Checkout Pro para la que deseas activar las notificaciones.

Application

  1. En el menú de la izquierda, selecciona Webhooks > Configurar notificaciones.

Webhooks

  1. Selecciona la pestaña Modo productivo y proporciona una URL HTTPS para recibir notificaciones con tu integración productiva.

URL

  1. Selecciona el evento Envíos (Mercado Pago) para recibir notificaciones, que serán enviadas en formato JSON a través de un HTTPS POST a la URL especificada anteriormente.

Envíos

  1. Por último, haz clic en Guardar configuración. Esto generará una clave secreta exclusiva para la aplicación, que permitirá validar la autenticidad de las notificaciones recibidas, garantizando que hayan sido enviadas por Mercado Pago. Ten en cuenta que esta clave generada no tiene plazo de caducidad y su renovación periódica no es obligatoria, aunque sí recomendada. Para hacerlo, basta con cliquear en el botón Restablecer.

Si deseas obtener más información sobre cómo simular el envío de una notificación, validar su origen, o cuáles son las acciones necesarias luego de recibirlas, dirígete a Configurar notificaciones.