Preferência para diversos itens
Se você precisar criar uma preferência para mais de um item, deverá adicioná-los como uma lista e seus respectivos atributos.
Para criar uma preferência para diversos itens, utilize um dos SDKs disponíveis abaixo.
Além dos SDKs, também é possível criar uma preferência para diversos itens a partir da API de preferências. Para isso, envie um POST com todas as informações referentes ao produto/serviço ao endpoint
/checkout/preferences
e execute a requisição.
<?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: 'CLP',
unit_price: 75.56 },
{ title: 'Meu produto 2’,
quantity: 2,
currency_id: 'CLP',
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
PreferenceClient client = new PreferenceClient();
// Cria itens na preferência
PreferenceClient client = new PreferenceClient();
List<PreferenceItemRequest> items = new ArrayList<>();
PreferenceItemRequest item1 =
PreferenceItemRequest.builder()
.id("1234")
.title("Produto 1")
.quantity(2)
.currencyId("BRL")
.unitPrice(new BigDecimal("100"))
.build();
PreferenceItemRequest item2 =
PreferenceItemRequest.builder()
.id("12")
.title("Produto 2")
.quantity(1)
.currencyId("BRL")
.unitPrice(new BigDecimal("100"))
.build();
items.add(item1);
items.add(item2);
PreferenceRequest request = PreferenceRequest.builder().items(items).build();
// Salvar e postar a preferência
client.create(request);
sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN')
# Create preference data with items
preference_data = {
items: [
{
title: 'Meu produto 1',
quantity: 1,
currency_id: 'CLP',
unit_price: 75.56
},
{
title: 'Meu produto 2',
quantity: 2,
currency_id: 'CLP',
unit_price: 96.56
}
]
}
preference_response = sdk.preference.create(preference_data)
preference = preference_response[:response]
# Cria itens na preferência
preference_data = {
"items": [
{
"title": "Mi producto",
"quantity": 1,
"unit_price": 75.56
},
{
"title": "Mi producto2",
"quantity": 2,
"unit_price": 96.56
}
]
}
# Cria a preferência
preference_response = sdk.preference().create(preference_data)
preference = preference_response["response"]
// Cria o request com múltiplos itens
var request = new PreferenceRequest
{
Items = new List<PreferenceItemRequest>
{
new PreferenceItemRequest
{
Title = "Meu produto 1",
Quantity = 1,
CurrencyId = "CLP",
UnitPrice = 75.56m,
},
new PreferenceItemRequest
{
Title = "Meu produto 2",
Quantity = 2,
CurrencyId = "CLP",
UnitPrice = 96.56m,
},
// ...
},
};
// Cria um objeto client
var client = new PreferenceClient();
// Cria a preferência
Preference preference = await client.CreateAsync(request);