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.
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
// ...
$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
$item = new MercadoPago\Item();
$item->id = "1234";
$item->title = "Heavy Duty Plastic Table";
$item->quantity = 7;
$item->currency_id = "UYU";
$item->unit_price = 75.56;
// ...
?>
// ...
items: [
{
id: '1234',
title: 'Lightweight Paper Table',
quantity: 3,
currency_id: 'UYU',
unit_price: 55.41
}
]// ...
// ...
Item item = new Item();
item.setId("1234")
.setTitle("Lightweight Paper Table")
.setQuantity(3)
.setCurrencyId("UYU")
.setUnitPrice((float) 55.41);
// ...
# ...
item = MercadoPago::Item.new({
id: "1234",
title: "Lightweight Paper Table",
quantity: 3,
currency_id: "UYU",
unit_price: 55.41
})# ...
// ...
preference.Items.Add(
new Item()
{
Id = "1234",
Title = "Lightweight Paper Table",
Quantity = 3,
CurrencyId = "UYU",
UnitPrice = (float)55.41
}
);
// ...
URL de retorno
Al finalizar el proceso de pago, tienes la opción de redireccionar al comprador a tu sitio.
Para esto, se utilizan las back_urls
. Esta redirección puede ser automática a través del atributo auto_return
o un link que permita volver al sitio del vendedor.
Atributo | Descripción |
---|---|
auto_return |
Redirige automáticamente a tu sitio cuando el pago finaliza como aprobado. Los valores posibles son approved y all. |
success. URL de retorno ante pago aprobado. | |
back_url |
pending. URL de retorno ante pago pendiente. |
failure. URL de retorno ante pago cancelado. |
<?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;
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.