Outras funcionalidades
Você pode adaptar a integração ao seu negócio adicionando atributos na preferência. Há muitos dados em uma preferência que podem ser configurados, mas lembre-se sempre do quê seus negócios precisam.
Se você oferece compras de valores altos, por exemplo, você pode excluir meios de pagamento que você não quiser aceitar
Através da preferência, você pode obter informações de negócio. Além disso, você pode mensurar a efetividade das suas publicidades, bem como acompanhá-las integrando um pixel do Facebook ou associando seus anúncios do Google.
Exemplo de uma preferência completa
json
{
"items": [
{
"id": "item-ID-1234",
"title": "Meu produto",
"currency_id": "MXN",
"picture_url": "https://www.mercadopago.com/org-img/MP3/home/logomp3.gif",
"description": "Descrição do Item",
"category_id": "art",
"quantity": 1,
"unit_price": 75.76
}
],
"payer": {
"name": "João",
"surname": "Silva",
"email": "user@email.com",
"phone": {
"area_code": "11",
"number": "4444-4444"
},
"identification": {
"type": "CPF",
"number": "19119119100"
},
"address": {
"street_name": "Street",
"street_number": 123,
"zip_code": "06233200"
}
},
"back_urls": {
"success": "https://www.success.com",
"failure": "http://www.failure.com",
"pending": "http://www.pending.com"
},
"auto_return": "approved",
"payment_methods": {
"excluded_payment_methods": [
{
"id": "master"
}
],
"excluded_payment_types": [
{
"id": "ticket"
}
],
"installments": 12
},
"notification_url": "https://www.your-site.com/ipn",
"statement_descriptor": "MEUNEGOCIO",
"external_reference": "Reference_1234",
"expires": true,
"expiration_date_from": "2016-02-01T12:00:00.000-04:00",
"expiration_date_to": "2016-02-28T12:00:00.000-04:00"
}
Atributos para a preferência
Definição de meios de pagamento
Por padrão, todos os meios de pagamento são oferecidos. Se você quiser excluir algum deles, pode fazer isso pela preferência de pagamento. Você também pode definir um meio de pagamento para que apareça por padrão ou definir o número máximo de parcelas a oferecer.
Atributo | Descrição |
---|---|
payment_methods | Classe que descreve os atributos e métodos de meios de pagamento. |
excluded_payment_methods | Método que exclui por meios de pagamento específicos: Visa, Mastercard o American Express, entre outros. |
excluded_payment_types | Método que exclui por tipo de meios de pagamento: cartão de crédito ou ticket (boleto ou pagamento em lotérica). |
installments | Método que define o número máximo de parcelas a oferecer. |
purpose | Quando for indicado o valor "wallet_purchase", o Checkout aceitará pagamentos exclusivamente de usuários cadastrados no Mercado Pago, com cartão e saldo em conta. |
<?php
$preference = new MercadoPago\Preference();
// ...
$preference->payment_methods = array(
"excluded_payment_methods" => array(
array("id" => "master")
),
"excluded_payment_types" => array(
array("id" => "ticket")
),
"installments" => 12
);
// ...
?>
var preference = {}
preference = {
//...
"payment_methods": {
"excluded_payment_methods": [
{
"id": "master"
}
],
"excluded_payment_types": [
{
"id": "ticket"
}
],
"installments": 12
}
//...
}
Preference preference = new Preference();
//...
PaymentMethods paymentMethods = new PaymentMethods();
paymentMethods.setExcludedPaymentMethods("master", "amex");
paymentMethods.setExcludedPaymentTypes("ticket");
paymentMethods.setInstallments(12);
preference.setPaymentMethods(paymentMethods);
//...
preference = MercadoPago::Preference.new
#...
preference.payment_methods = {
excluded_payment_methods: [id: "master"],
excluded_payment_types: [id: "ticket"],
installments: 12
}
#...
Preference preference = new Preference();
PaymentMethods paymentmethods = new PaymentMethods();
List<PaymentMethod> excludedPaymentMethod = new List<PaymentMethod>();
excludedPaymentMethod.Add(new PaymentMethod()
{
Id = "master"
});
paymentmethods.excludedPaymentType = excludedPaymentMethod;
List<PaymentType> ExcludedPaymentType = new List<PaymentType>();
excludedPaymentType.Add(new PaymentType()
{
Id = "ticket"
});
paymentmethods.ExcludedPaymentTypes = excludedPaymentType;
paymentmethods.Installments = 12;
Modo binário
Você pode ativar o modo binário se o modelo de negócios exigir que a aprovação do pagamento seja instantânea. Dessa forma, o pagamento só pode ser aprovado ou recusado.
Se o modo binário não estiver ativado, o pagamento pode ficar pendente (no caso de exigir qualquer ação do comprador) ou em processo (se for necessária uma revisão manual).
Para ativá-lo, basta definir o atributo binary_mode
da preferência de pagamento como true
:
json
"binary_mode": true
Vigência de preferências
Se quiser ativar o pagamento de uma preferência com uma determinada duração, poderá ativar um período de validade ou concluir diretamente com os seguintes atributos:
json
"expires": true,
"expiration_date_from": "2017-02-01T12:00:00.000-04:00",
"expiration_date_to": "2017-02-28T12:00:00.000-04:00"
Descrição no resumo do cartão
Pode enviar o nome da sua empresa no atributo statement_descriptor
desta forma no resumo do seu cartão de comprador aparece o nome da sua empresa e desta forma o comprador sabe onde efectuou a compra.
json
"statement_descriptor": "MEUNEGOCIO"
Diversos itens
Se você precisar criar uma preferência para mais de um item, só deverá adicioná-los como uma lista dentro dos items. Lembre-se de que o valor total da preferência será a soma do valor do preço unitário de cada item.
<?php
# Criar um objeto preferência
$preference = new MercadoPago\Preference();
# Cria itens na preferência
$item1 = new MercadoPago\Item
$item1->title = "Item de Teste 1";
$item1->quantity = 2;
$item1->unit_price = 11.96;
$item2= new MercadoPago\Item
$item2->title = "Item de Teste 2";
$item2->quantity = 1;
$item2->unit_price = 11.96;
$preference->items = array($item1,$item2);
# Salvar e postar a preferência
$preference->save();
?>
// Configura sua preferência
var preference = {
items: [
{ title: 'Meu produto',
quantity: 1,
currency_id: 'MXN',
unit_price: 75.56 },
{ title: 'Meu produto 2’,
quantity: 2,
currency_id: 'MXN',
unit_price: 96.56 }
]
};
// Cria um botão de pagamento no seu site
mercadopago.preferences.create(preference)
.then(function(preference){
// Este valor substituirá o string "$init_point$" no seu HTML
global.init_point = preference.body.init_point;
}).catch(function(error){
console.log(error);
});
// Cria um objeto preferência
Preference preference = new Preference();
// Cria itens na preferência
Item item1 = new Item();
item1.setId("1234")
.setTitle("Produto 1")
.setQuantity(2)
.setCurrencyId("MXN")
.setUnitPrice((float) 75.56);
Item item2 = new Item();
item2.setId("12")
.setTitle("Produto 2")
.setQuantity(1)
.setCurrencyId("MXN")
.setUnitPrice((float) 75.56);
preference.appendItem(item1, item2);
// Salvar e postar a preferência
preference.save();
# Cria itens na preferência
item = MercadoPago::Item.new({
title: "Meu produto",
quantity: 1,
unit_price: 75.56
})
item2 = MercadoPago::Item.new({
title: "Meu produto2",
quantity: 2,
unit_price: 96.56
})
# Cria um objeto preferência
preference = MercadoPago::Preference.new({
items: [item, item2]
})
preference.save()
// Cria um objeto preferência
Preference preference = new Preference();
// Cria itens na preferência
reference.Items.Add(
new Item()
{
Title = "Meu produto",
Quantity = 1,
CurrencyId = CurrencyId.MXN,
UnitPrice = (decimal)75.56
},
new Item()
{
Title = "Meu produto 2",
Quantity = 2,
CurrencyId = CurrencyId.MXN,
UnitPrice = (decimal)96.56
}
);
preference.Save()
curl -X POST \
'https://api.mercadopago.com/checkout/preferences' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-H 'Authorization: Bearer PROD_ACCESS_TOKEN' \
-d '{
"items": [
{
"id_product":1,
"quantity":1,
"unit_price": 234.33,
"titulo":"Meu produto"
},
{
"id_product":2,
"quantity":2,
"unit_price": 255.33,
"titulo":"Meu produto 2"
}
]
}'
Aceitar pagamentos somente de usuários cadastrados
Você pode aceitar pagamentos com a carteira do Mercado Pago exclusivamente de usuários cadastrados, com cartão e saldo disponível.
Isto permite que seus clientes tenham suas informações de conta disponíveis no ato, tais como seus cartões e endereços salvos.
Para aceitar pagamentos somente de usuários cadastrados, adicione o seguinte atributo às suas preferências:
json
"purpose": "wallet_purchase"
Ao fazer isso, sua preferência seria a seguinte:
json
{
"purpose": "wallet_purchase",
"items": [
{
"title": "Meu produto",
"quantity": 1,
"unit_price": 75.76
}
],
}
Valor do envio
Se você já possui o envio estimado pelo seu site, pode definir o valor e mostrá-lo separadamente do total ao oferecer o pagamento.
Para configurá-lo, adicione o item shipments
com o valor que quiser cobrar no atributo cost
e o valor not_specified
no atributo mode
.
json
{
"shipments":{
"cost": 1000,
"mode": "not_specified",
}
}
Otimize a conversão dos seus anúncios
Sabemos que é importante maximizar a eficácia dos seus anúncios. Por isto, oferecemos a possibilidade de integrar o Checkout Pro com as plataformas do Facebook Ads e Google Ads para associar pagamentos às suas campanhas.
Associar um pixel do Facebook
Ao criar uma preferência, associe o identificador correspondente a seu pixel do Facebook da seguinte maneira:
<?php
// Criar um objeto preferencia
$preference = new MercadoPago\Preference();
// Associar seu pixel do Facebook
$preference->tracks = array(
array(
'type' => 'facebook_ad',
'values'=> array(
'pixel_id' => 'PIXEL_ID'
)
)
);
// ...
// Salvar e postar a preferencia
$preference->save();
?>
Adicione o código na preferência e substitua o valor pixel_id pelo seu identificador.
// Criar um objeto preferencia
var preference = {
// Asocia tu píxel de Facebook
tracks: [
{
type: "facebook_ad",
values: {
"pixel_id": 'PIXEL_ID'
}
}
]
//...
};
Adicione o código na preferência e substitua o valor pixel_id pelo seu identificador.
// Criar um objeto preferencia
Preference preference = new Preference();
// Associar seu pixel do Facebook
Track trackFacebook = new Track()
.setType("facebook_ad")
.setValues(new TrackValues()
.setPixelId("PIXEL_ID")
);
Preference preference = new Preference()
.appendTrack(trackFacebook);
// Salvar e postar a preferencia
preference.save();
Adicione o código na preferência e substitua o valor pixel_id pelo seu identificador.
List<Track> tracks = new List<Track>();
// Associar seu pixel do Facebook
tracks.Add(
new Track
{
Type = "facebook_ad",
Values = new JObject
{
{ "pixel_id", "PIXEL_ID" }
}
});
MercadoPago.Resources.Preference preference = new MercadoPago.Resources.Preference
{
// ...
Tracks = tracks
};
preference.Save();
Adicione o código na preferência e substitua o valor pixel_id pelo seu identificador.
curl -X POST \
'https://api.mercadopago.com/checkout/preferences' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-H 'Authorization: Bearer PROD_ACCESS_TOKEN' \
-d '{
"items": [
{
"id_product":1,
"quantity":1,
"unit_price": 234.33,
"titulo":"Mi producto"
}
],
"tracks": [
{
"type": "facebook_ad",
"values": {
"pixel_id": "PIXEL_ID"
}
}
]
}'
Ao configurar, quando um pagamento é aprovado por meio do seu Checkout Pro, você verá um evento Purchase
associado ao pixel especificado.
Associar uma tag do Google Ads
Ao criar uma preferência, você pode associar uma tag para acompanhamento das conversões do Google Ads da seguinte maneira:
Adicione o código na preferência e substitua os valores CONVERSION_ID e CONVERSION_LABEL pelos dados da sua tag.
<?php
// Criar um objeto preferencia
$preference = new MercadoPago\Preference();
// Associar sua tag do Google ads
$preference->tracks = array(
array(
'type' => 'google_ad',
'values' => array(
'conversion_id' => 'CONVERSION_ID',
'conversion_label' => 'CONVERSION_LABEL'
)
)
);
...
// Salvar e postar a preferencia
$preference->save();
?>
Adicione o código na preferência e substitua os valores CONVERSION_ID e CONVERSION_LABEL pelos dados da sua tag.
// Criar um objeto preferencia
var preference = {
// Associar sua tag do Google ads
tracks: [
{
type: "google_ad",
values: {
conversion_id: "CONVERSION_ID",
conversion_label: "CONVERSION_LABEL"
}
}
]
...
};
Adicione o código na preferência e substitua os valores CONVERSION_ID e CONVERSION_LABEL pelos dados da sua tag.
// Criar um objeto preferencia
Preference preference = new Preference();
// Associar sua tag do Google ads
Track trackGoogle = new Track()
.setType("google_ad")
.setValues(new TrackValues()
.setConversionId("CONVERSION_ID")
.setConversionLabel("CONVERSION_LABEL")
);
Preference preference = new Preference()
.appendTrack(Google);
// Salvar e postar a preferencia
preference.save();
Adicione o código na preferência e substitua os valores CONVERSION_ID e CONVERSION_LABEL pelos dados da sua tag.
List<Track> tracks = new List<Track>();
// Associar sua tag do Google ads
tracks.Add(
new Track
{
Type = "google_ad",
Values = new JObject
{
{ "conversion_id", "CONVERSION_ID" },
{ "conversion_label", "CONVERSION_LABEL" }
}
});
MercadoPago.Resources.Preference preference = new MercadoPago.Resources.Preference
{
...
Tracks = tracks
};
preference.Save();
Adicione o código na preferência e substitua os valores CONVERSION_ID e CONVERSION_LABEL pelos dados da sua tag.
curl -X POST \
'https://api.mercadopago.com/checkout/preferences' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-H 'Authorization: Bearer PROD_ACCESS_TOKEN' \
-d '{
"items": [
{
"id_product":1,
"quantity":1,
"unit_price": 234.33,
"titulo":"Mi producto"
}
],
"tracks": [
{
"type": "google_ad",
"values": {
"conversion_id", "CONVERSION_ID",
"conversion_label", "CONVERSION_LABEL"
}
}
]
}'
Desta forma, quando um pagamento é aprovado por meio do seu Checkout Pro, será associada uma conversão à tag configurada.
Saiba mais sobre seu negócio
Nossos Partners poderão obter métricas de negócio. Utilize headers
na sua preferência de pagamento agregando o código de identificação para o caso que corresponda. Não é obrigatório completar os três campos mencionados.
Header | Tipo de código | Identificadores |
---|---|---|
x-integrator-id | Integrador | Para programadores ou agências que realizam a integração. |
x-platform-id | Plataforma | Para as plataformas ou módulos que oferecem Mecado Pago em suas soluções. |
x-corporation-id | Corporações | Para contas associadas a uma conta vendedor ou grupo econômico. |
Adicione os códigos de identificação e substitua os valores que quiser: CORPORATION_ID, INTEGRATOR_ID y PLATFORM_ID.
MercadoPago\SDK::setPlatformId("PLATFORM_ID");
MercadoPago\SDK::setIntegratorId("INTEGRATOR_ID");
MercadoPago\SDK::setCorporationId("CORPORATION_ID");
Adicione os códigos de identificação e substitua os valores que quiser: CORPORATION_ID, INTEGRATOR_ID y PLATFORM_ID.
mercadopago.configure({
platform_id: 'PLATFORM_ID',
integrator_id: 'INTEGRATOR_ID',
corporation_id: 'CORPORATION_ID'
});
Adicione os códigos de identificação e substitua os valores que quiser: CORPORATION_ID, INTEGRATOR_ID y PLATFORM_ID.
MercadoPago.SDK.setPlatformId("PLATFORM_ID");
MercadoPago.SDK.setIntegratorId("INTEGRATOR_ID");
MercadoPago.SDK.setCorporationId("CORPORATION_ID");
Adicione os códigos de identificação e substitua os valores que quiser: CORPORATION_ID, INTEGRATOR_ID y PLATFORM_ID.
$mp.set_platform_id("PLATFORM_ID")
$mp.set_integrator_id("INTERATOR_ID")
$mp.set_corporation_id("CORPORATION_ID")
Adicione os códigos de identificação e substitua os valores que quiser: CORPORATION_ID, INTEGRATOR_ID y PLATFORM_ID.
MercadoPago.SDK.PlatformId = "PLATFORM_ID";
MercadoPago.SDK.IntegratorId = "INTEGRATOR_ID";
MercadoPago.SDK.CorporationId = "CORPORATION_ID";
Adicione os códigos de identificação e substitua os valores que quiser: CORPORATION_ID, INTEGRATOR_ID y PLATFORM_ID.
curl -X POST \
'https://api.mercadopago.com/checkout/preferences' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-corporation-id: CORPORATION_ID \
-H 'x-integrator-id: INTEGRATOR_ID \
-H 'x-platform-id: PLATFORM_ID \
-H 'Authorization: Bearer PROD_ACCESS_TOKEN' \
-d '{
"items": [
...
],
...
}'
Adicione o código na preferência e substitua o valor pixel_id pelo seu identificador.