Integración avanzada - Checkout Pro - Mercado Pago Developers
Developers
Referencia de API
Soporte
Ingresar

    Inicio

    Empieza por aquí

    Cobros online

    Checkout Pro

    Checkout API

    Link de pago

    Marketplace

    Mobile Checkout

    Web Tokenize Checkout

    Pagos presenciales

    Código QR

    Plugins y plataformas

    WooCommerce

    Prestashop

    Magento 2

    Shopify

    VTEX

    SDKs

    Notificaciones

    Webhooks

    IPN

    Gestión de cuenta

    Requisitos para ir a producción

    Obtener pagos

    Reportes

    Devoluciones y cancelaciones

    Gestión de contracargos

    Mejora la aprobación

    Recursos

    Localización

    Changelog

    Status

EN ESTA PÁGINA

Sugiere cambios
Ayúdanos a mejorar la documentación
¿Viste información errónea, te gustaría que expliquemos algo más o que mejoremos nuestras guías? Déjanos tus sugerencias en GitHub.

Integración avanzada

Recibe notificaciones de pagos

Las notificaciones IPN (Instant Payment Notification) son la forma automática de aviso de la creación de nuevos pagos y las actualizaciones de sus estados. Por ejemplo si fueron aprobados, rechazados o si se encuentran pendientes. Te permiten administrar tu stock y mantener tu sistema sincronizado.

Recibir notificaciones IPN

Información adicional para la preferencia

Mejora la aprobación de los pagos y la experiencia de tus compradores sumando información en tu preferencia.

Te recomendamos detallar toda la información posible sobre el ítem y el comprador.

Datos del comprador

  • php
  • node
  • java
  • ruby
  • csharp
          
<?php
  // ...
  $payer = new MercadoPago\Payer();
  $payer->name = "Charles";
  $payer->surname = "Luevano";
  $payer->email = "charles@hotmail.com";
  $payer->date_created = "2018-06-02T12:58:41.425-04:00";
  $payer->phone = array(
    "area_code" => "",
    "number" => "949 128 866"
  );
  
  $payer->identification = array(
    "type" => "DNI",
    "number" => "12345678"
  );
  
  $payer->address = array(
    "street_name" => "Cuesta Miguel Armendáriz",
    "street_number" => 1004,
    "zip_code" => "11020"
  );
  // ...
?>

        
          
// ...
var payer = {
  name: "Charles",
  surname: "Luevano",
  email: "charles@hotmail.com",
  date_created: "2015-06-02T12:58:41.425-04:00",
  phone: {
    area_code: "",
    number: "949 128 866"
  },
   
  identification: {
    type: "DNI",
    number: "12345678"
  },
  
  address: {
    street_name: "Cuesta Miguel Armendáriz",
    street_number: "1004",
    zip_code: "11020"
  }
}
// ...

        
          
// ...
Payer payer = new Payer();
payer.setName("Charles")
     .setSurname("Luevano")
     .setEmail("charles@hotmail.com")
     .setDateCreated("2018-06-02T12:58:41.425-04:00")
     .setPhone(new Phone()
        .setAreaCode("")
        .setPhoneNumber("949 128 866"))
      
     .setIdentification(new Identification()
        .setType("DNI")
        .setNumber("12345678"))
      
     .setAddress(new Address()
        .setStreetName("Cuesta Miguel Armendáriz")
        .setBuildingNumber("1004")
        .setZipCode("11020"));
// ...

        
          
# ...
payer = MercadoPago::Payer.new({
  name: "Charles"
  surname: "Luevano"
  email: "charles@hotmail.com"
  date_created: Time.now
  phone: MercadoPago::Phone.new({
    area_code: "",
    number: "949 128 866"
  })
  
  identification: MercadoPago::Identification.new({
    type: "DNI",
    number: "12345678"
  })
  
  address: MercadoPago::Address.new ({
    street_name: "Cuesta Miguel Armendáriz",
    street_number: "1004",
    zip_code: "11020"
  })
})
# ...

        
          
using MercadoPago;
using MercadoPago.Resources;
using MercadoPago.DataStructures.Preference;
// ...
Payer payer = new Payer()
{
    Name = "Charles",
    Surname = "Luevano",
    Email = "charles@hotmail.com",
    Phone = new Phone()
    {
        AreaCode = "",
        Number = "949 128 866"
    },
    
    Identification = new Identification()
    {
        Type = "DNI",
        Number = "12345678"
    },
    
    Address = new Address()
    {
        StreetName = "Cuesta Miguel Armendáriz",
        StreetNumber = int.Parse("1004"),
        ZipCode = "11020"
    }
};
// ...

        

Datos del ítem

  • php
  • node
  • java
  • ruby
  • csharp
          
<?php
  $item = new MercadoPago\Item();
  $item->id = "1234";
  $item->title = "Heavy Duty Plastic Table";
  $item->description = "Table is made of heavy duty white plastic and is 96 inches wide and 29 inches tall";
  $item->category_id = "home";
  $item->quantity = 7;
  $item->currency_id = "UYU";
  $item->unit_price = 75.56;
  // ...
?>

        
          
// ...
items: [
    {
      id: '1234',
      title: 'Lightweight Paper Table',
      description: 'Inspired by the classic foldable art of origami',
      category_id: 'home',
      quantity: 3,
      currency_id: 'UYU',
      unit_price: 55.41
    }
  ]// ...

        
          
// ...
Item item = new Item();
item.setId("1234")
    .setTitle("Lightweight Paper Table")
    .setDescription("Inspired by the classic foldable art of origami")
    .setCategoryId("home")
    .setQuantity(3)
    .setCurrencyId("UYU")
    .setUnitPrice((float) 55.41);
// ...

        
          
# ...
item = MercadoPago::Item.new({
  id: "1234",
  title: "Lightweight Paper Table",
  description: "Inspired by the classic foldable art of origami",
  category_id: "home",
  quantity: 3,
  currency_id: "UYU",
  unit_price: 55.41
})# ...

        
          
// ...
preference.Items.Add(
  new Item()
  {
    Id = "1234",
    Title = "Lightweight Paper Table",
    Description = "Inspired by the classic foldable art of origami",
    CategoryId = "home",
    Quantity = 3,
    CurrencyId = "UYU",
    UnitPrice = (float)55.41
  }
);
// ...

        
La lista de categorías para tu ìtem la puedes encontrar en el siguiente link. En caso de no encontrar la categoría de tu producto, envía como categoryid el valor others.

URL de retorno

Al finalizar el proceso de pago, tienes la opción de redireccionar al comprador a tu sitio. Para esto, tienes que sumar el atributo back_urls y definir según el estado de pago a dónde quieres que regrese tu comprador a través del botón de volver al sitio.

Si quieres que la redirección sea automática para pagos aprobados, tienes que agregar también el atributo auto_return con valor approved.

Nota
Ten en cuenta que el atributo auto_return solo funciona para modo redirect y mobile. No al usar modo modal, ya que el comprador siempre se encuentra en el sitio.

autoreturn

AtributoDescripción
auto_returnRedirige automáticamente a tu sitio cuando el pago finaliza como aprobado. El valor posible es approved.
back_urlssuccess. URL de retorno ante pago aprobado.

pending. URL de retorno ante pago pendiente.

failure. URL de retorno ante pago cancelado.

A través de las back_urls, retornarán los siguientes parámetros:

ParámetroDescripción
payment_idID del pago de Mercado Pago.
statusEstado del pago. Por ejemplo: approved para un pago aprobado o pending para un pago pendiente.
external_referenceValor que hayas enviado a la hora de crear la preferencia de pago.
merchant_order_idID de la orden de pago generada en Mercado Pago.
La información de los parámetros dependerá de la finalización del pago en el Checkout Pro y de que no haya abandonado el flujo antes de retornar a tu sitio a través de la back_urls de failure.
  • php
  • node
  • java
  • ruby
  • csharp
          
<?php
$preference = new MercadoPago\Preference();
//...
$preference->back_urls = array(
    "success" => "https://www.tu-sitio/success",
    "failure" => "http://www.tu-sitio/failure",
    "pending" => "http://www.tu-sitio/pending"
);
$preference->auto_return = "approved";
// ...
?>

        
          
var preference = {}
preference = {
  // ...
  "back_urls": {
        "success": "https://www.tu-sitio/success",
        "failure": "http://www.tu-sitio/failure",
        "pending": "http://www.tu-sitio/pending"
    },
    "auto_return": "approved",
  // ...
}

        
          
Preference preference = new Preference();
// ...
BackUrls backUrls = new BackUrls(
                    "https://www.tu-sitio/success",
                    "http://www.tu-sitio/pending",
                    "http://www.tu-sitio/failure");

preference.setBackUrls(backUrls);
// ...

        
          
preference = MercadoPago::Preference.new
# ...
preference.back_urls = {
  success: "https://www.tu-sitio/success",
  failure: "http://www.tu-sitio/failure",
  pending: "http://www.tu-sitio/pendings"
}
preference.auto_return = "approved"
# ...

        
          
Preference preference = new Preference();
 preference.BackUrls = new BackUrls()
  {
    Success = "https://www.tu-sitio/success",
    Failure = "http://www.tu-sitio/failure",
    Pending = "http://www.tu-sitio/pendings"
  };
  preference.AutoReturn = AutoReturnType.approved;

        

Previene pagos rechazados

Un pago puede ser rechazado porque el emisor del medio de pago detecta un problema o porque no se cumple con los requisitos de seguridad necesarios.

Evita pagos rechazados con nuestras recomendaciones y mejora la aprobación de tus pagos.

Cancelaciones y devoluciones

Las cancelaciones se efectúan cuando el pago en efectivo no se concretó antes de la fecha de vencimiento y el vendedor decide cancelarlo. Y las devoluciones suceden cuando el pago se realizó pero el vendedor decide anularlo total o parcialmente.

Puedes encontrar toda la información en la sección Devoluciones y cancelaciones.

Gestiona contracargos

Se produce un contracargo o chargeback cuando el comprador se comunica con la entidad que emitió su tarjeta y desconoce el pago. Esto quiere decir que el dinero del vendedor por ese pago será retenido de su cuenta de Mercado Pago hasta que se solucione.

Gestionar contracargos


Próximos pasos

Otras funcionalidades

Configura tus pago y adapta Checkout Pro a tu negocio.

Personalizaciones

Adapta el estilo de tu marca en la experiencia de compra.

¿Te resultó útil esta información?

Copyright © 1999-2021 DeRemate.com de Uruguay S.R.L.

Términos y condicionesCómo cuidamos tu privacidad
Partners Mercado Pago

Al navegar en este sitio aceptas las cookies que utilizamos para mejorar tu experiencia. Más información.