Criar preferência para múltiplos itens - Configurações adicionais - Mercado Pago Developers

Criar preferência para múltiplos itens

Para criar uma preferência com mais de um item, é necessário adicionar estes itens em uma lista e informar os atributos necessários para cada um deles.

Além dos SDKs, também é possível criar uma preferência para múltiplos itens diretamente pela API de Preferências. Para isso, envie uma requisição POST ao endpoint /checkout/preferencesAPI, incluindo todos os itens desejados no array items.

Utilize um dos SDKs disponíveis para realizar essa operaçã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();
?>

        
          
const preference = new Preference(client);
	preference.create({
		body: {
			// ...
			items: [
        {
          title: 'Meu produto 1',
          quantity: 1,
          unit_price: 100
        },
        {
          title: 'Meu produto 2',
          quantity: 1,
          unit_price: 150
        }
      ],
		}
	})
// ...

        
          
// 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,
      unit_price: 75.56
    },
    {
      title: 'Meu produto 2',
      quantity: 2,
      unit_price: 96.56
    }
  ]
}

preference_response = sdk.preference.create(preference_data)
preference = preference_response[:response]

        
          
# Cria itens na preferência
preference_data = {
    "items": [
        {
            "title": "Meu produto 1",
            "quantity": 1,
            "unit_price": 75.56
        },
        {
            "title": "Meu produto 2",
            "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);

        

O valor total da preferência será a soma do valor do preço de cada item listado.