Integração avançada
O Checkout Pro dispõe de funcionalidades extras que permitem otimizar sua integração e melhorar a gestão dos pagamentos de suas vendas.
Receba notificações de pagamentos
As notificações IPN (Instant Payment Notification) são notificações automáticas sobre a criação de novos pagamentos e atualizações de status, informando se as transações foram aprovadas, recusadas ou estão pendentes.
Os avisos automáticos permitem que você administre seu estoque e mantenha seu sistema sincronizado com os fluxos de pagamento do seu negócio. Aprenda como receber as notificações IPN aqui.
Insira informações adicionais à preferência
Melhore a aprovação dos pagamentos e a experiência de compra no Checkout Pro adicionando informações às suas preferências que detalhem o item comprado e o usuário comprador.
Em Preferências, você pode inserir as seguintes informações adicionais:
Dados pessoais do comprador
<?php
// ...
$payer = new MercadoPago\Payer();
$payer->name = "Joao";
$payer->surname = "Silva";
$payer->email = "user@email.com";
$payer->date_created = "2018-06-02T12:58:41.425-04:00";
$payer->phone = array(
"area_code" => "11",
"number" => "4444-4444"
);
$payer->identification = array(
"type" => "CPF",
"number" => "19119119100"
);
$payer->address = array(
"street_name" => "Street",
"street_number" => 123,
"zip_code" => "06233200"
);
// ...
?>
// ...
var payer = {
name: "Joao",
surname: "Silva",
email: "user@email.com",
date_created: "2015-06-02T12:58:41.425-04:00",
phone: {
area_code: "11",
number: "4444-4444"
},
identification: {
type: "CPF",
number: "19119119100"
},
address: {
street_name: "Street",
street_number: "123",
zip_code: "06233200"
}
}
// ...
// ...
Payer payer = new Payer();
payer.setName("Joao")
.setSurname("Silva")
.setEmail("user@email.com")
.setDateCreated("2018-06-02T12:58:41.425-04:00")
.setPhone(new Phone()
.setAreaCode("11")
.setPhoneNumber("4444-4444"))
.setIdentification(new Identification()
.setType("CPF")
.setNumber("19119119100"))
.setAddress(new Address()
.setStreetName("Street")
.setBuildingNumber("123")
.setZipCode("06233200"));
// ...
# ...
payer_data = {
name: 'Charles',
surname: 'Luevano',
email: 'charles@hotmail.com',
date_created: '2018-06-02T12:58:41.425-04:00',
phone: {
area_code: '',
number: '949 128 866'
},
identification: {
type: 'DNI',
number: '12345678'
},
shipments: {
receiver_address: {
street_name: 'Cuesta Miguel Armendáriz',
street_number: '1004',
zip_code: '11020'
}
}
}
# ...
using MercadoPago.Client.Common;
using MercadoPago.Client.Preference;
// ...
var payer = new PreferencePayerRequest
{
Name = "Charles",
Surname = "Luevano",
Email = "charles@hotmail.com",
Phone = new PhoneRequest
{
AreaCode = "",
Number = "949 128 866",
},
Identification = new IdentificationRequest
{
Type = "DNI",
Number = "12345678",
},
Address = new AddressRequest
{
StreetName = "Cuesta Miguel Armendáriz",
StreetNumber = "1004",
ZipCode = "11020",
},
};
// ...
# ...
payer_data = {
"name": "Joao",
"surname": "Silva",
"email": "user@email.com",
"phone": {
"area_code": "11",
"number": "4444-4444"
},
"identification": {
"type": "CPF",
"number": "19119119100"
},
"shipments": {
"receiver_address": {
"street_name": "Street",
"street_number": "123",
"zip_code": "06233200"
}
}
}
# ...
Dados gerais do item
<?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 = "CLP";
$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: 'CLP',
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("CLP")
.setUnitPrice((float) 55.41);
// ...
# ...
preference_data = {
items: [
{
id: 'PR0001',
title: 'Lightweight Paper Table',
description: 'Inspired by the classic foldable art of origami',
category_id: 'home',
quantity: 3,
currency_id: 'CLP',
unit_price: 55.41
}
]
}
# ...
// ...
var item = new PreferenceItemRequest
{
Id = "1234",
Title = "Lightweight Paper Table",
Description = "Inspired by the classic foldable art of origami",
CategoryId = "home",
Quantity = 3,
CurrencyId = "CLP",
UnitPrice = 55.41m,
};
// ...
# ...
preference_data = {
"items": [
{
"id": "1234",
"title": "Lightweight Paper Table",
"description": "Inspired by the classic foldable art of origami",
"category_id": "home",
"quantity": 3,
"currency_id": "CLP",
"unit_price": 55.41
}
]
}
Redirecione o comprador para o seu site
No final do processo de pagamento, você tem a opção de redirecionar o comprador para o seu site novamente.
Para isso, adicione o atributo back_urls
e defina, segundo o status do pagamento, a página desejada para redirecionar o seu comprador quando ele clicar no botão de retorno ao site.
Se deseja que o redirecionamento para os pagamentos aprovados seja automático, sem a renderização de um botão de retorno, é preciso adicionar também o atributo auto_return
com valor approved
.
Atributo | Descrição |
auto_return | Os compradores são redirecionados automaticamente para o site quando o pagamento é aprovado. O valor padrão é approved . |
back_urls | URL de retorno ao site. Possíveis cenários são:success : URL de retorno perante pagamento aprovado.pending : URL de retorno perante pagamento pendente.failure : URL de retorno perante pagamento rejeitado. |
Através das back_urls
, serão retornados os seguintes parâmetros:
Parâmetro | Descrição |
payment_id | ID (identificador) do pagamento do Mercado Pago. |
status | Estado do pagamento. Ex.: approved para um pagamento aprovado ou pending para um pagamento pendente. |
external_reference | Valor enviado no momento da criação da preferência de pagamento. |
merchant_order_id | ID (identificador) da ordem de pagamento gerada no Mercado Pago. |
Por exemplo:
<?php
$preference = new MercadoPago\Preference();
//...
$preference->back_urls = array(
"success" => "https://www.seu-site/success",
"failure" => "http://www.seu-site/failure",
"pending" => "http://www.seu-site/pending"
);
$preference->auto_return = "approved";
// ...
?>
var preference = {}
preference = {
// ...
"back_urls": {
"success": "https://www.seu-site/success",
"failure": "http://www.seu-site/failure",
"pending": "http://www.seu-site/pending"
},
"auto_return": "approved",
// ...
}
Preference preference = new Preference();
// ...
BackUrls backUrls = new BackUrls(
"https://www.seu-site/success",
"http://www.seu-site/pending",
"http://www.seu-site/failure");
preference.setBackUrls(backUrls);
// ...
# ...
preference_data = {
# ...
back_urls = {
success: 'https://www.tu-sitio/success',
failure: 'https://www.tu-sitio/failure',
pending: 'https://www.tu-sitio/pendings'
},
auto_return: 'approved'
# ...
}
# ...
var request = new PreferenceRequest
{
// ...
BackUrls = new PreferenceBackUrlsRequest
{
Success = "https://www.tu-sitio/success",
Failure = "http://www.tu-sitio/failure",
Pending = "http://www.tu-sitio/pendings",
},
AutoReturn = "approved",
};
preference_data = {
"back_urls": {
"success": "https://www.tu-sitio/success",
"failure": "https://www.tu-sitio/failure",
"pending": "https://www.tu-sitio/pendings"
},
"auto_return": "approved"
}
Evite recusas de pagamentos
Um pagamento pode ser recusado porque o emissor do meio de pagamento detectou um problema no fluxo, como falta dos requisitos de segurança necessários.
Evite pagamentos recusados com as nossas boas práticas e melhore a taxa de aprovação dos seus pagamentos.
Gerencie cancelamentos e estornos
Os cancelamentos são feitos quando o pagamento não foi concluído antes da data de vencimento e o vendedor decide então cancelá-lo. As devoluções, por sua vez, acontecem quando o pagamento foi feito pelo comprador, mas o vendedor decide estorná-lo, total ou parcialmente.
Para mais informações, acesse a nossa documentação sobre gerenciar os cancelamentos e estornos dos seus pagamentos.
Gerencie contestações
Uma contestação (ou chargeback) acontece quando o comprador entra em contato com a entidade emissora do cartão e desconhece o pagamento. Na prática, isso significa que o dinheiro desse pagamento será retido da sua conta Mercado Pago até que a situação seja solucionada.
Acesse nossa documentação de Gerenciamento de operações contestadas e saiba como gerenciar contestações de pagamentos.