Criar preferências - Checkout Pro - Mercado Pago Developers
O que você está buscando?

Não sabe como começar a integrar? 

Acesse os primeiros passos

Integrar Checkout Pro

A integração com o Checkout Pro permite realizar cobranças através do nosso formulário web a partir de qualquer dispositivo de forma simples, rápida e segura.

Nesta documentação você encontra todos os passos necessários para integrar o Checkout Pro através dos nossos SDKs. Para isso, siga as etapas descritas abaixo.

Experimente nosso Checkout Pro

Construa a experiência visual do Checkout Pro em tempo real. Quando estiver tudo pronto, baixe ou copie o código gerado para adicionar no seu site ou compartilhar com um desenvolvedor.

Element for view
Demo

Instalar SDK do Mercado Pago

Server-Side

A primeira etapa para integrar o Checkout Pro é a instalação do SDK do Mercado Pago em seu projeto. Para isso, utilize um dos códigos disponíveis abaixo.

Para instalar o SDK, você deve executar o seguinte código na linha de comandos do seu terminal usando o Composer:

          
php composer.phar require "mercadopago/dx-php"

        

Para instalar o SDK, você deve executar o seguinte código na linha de comandos do seu terminal usando npm:

          
npm install mercadopago

        

Para instalar o SDK no seu projeto Maven, você deve adicionar a seguinte dependência ao seu arquivo pom.xml e executar o código maven install na linha de comandos do seu terminal:

          
<dependency>
   <groupId>com.mercadopago</groupId>
   <artifactId>sdk-java</artifactId>
   <version>2.1.7</version>
</dependency>

        

Para instalar o SDK, você deve executar o seguinte código na linha de comandos do seu terminal usando gema:

          
gem install mercadopago-sdk

        

Para instalar o SDK, você deve executar o seguinte código na linha de comandos do seu terminal usando NuGet:

          
nuget install mercadopago-sdk

        

Para instalar o SDK, você deve executar o seguinte código na linha de comandos do seu terminal usando pip:

          
pip3 install mercadopago

        
          
go get -u github.com/mercadopago/sdk-go

        

Criar preferência

Server-Side

Preferências são conjuntos de informações que permitem configurar um produto ou serviço que se deseja cobrar, como preço e quantidade, além de outras configurações relacionadas ao fluxo de pagamento definido.

Para criar uma preferência, utilize um dos SDKs disponíveis abaixo preenchendo os atributos com as respectivas informações.

          
<?php
// SDK do MercadoPago
use MercadoPago\MercadoPagoConfig;
//Adicione as credenciais
MercadoPagoConfig::setAccessToken("PROD_ACCESS_TOKEN");
?>

        
          
// SDK do Mercado Pago
import { MercadoPagoConfig } from 'mercadopago';
// Adicione as credenciais
const client = new MercadoPagoConfig({ accessToken: 'YOUR_ACCESS_TOKEN' });

        
          
// SDK de Mercado Pago
import com.mercadopago.MercadoPagoConfig;
// Agrega credenciales
MercadoPagoConfig.setAccessToken("PROD_ACCESS_TOKEN");

        
          
# SDK do Mercado Pago
require 'mercadopago'
# Adicione as credenciais
sdk = Mercadopago::SDK.new('PROD_ACCESS_TOKEN')

        
          
// SDK do Mercado Pago
 using MercadoPago.Config;
 // Adicione as credenciais
MercadoPagoConfig.AccessToken = "PROD_ACCESS_TOKEN";

        
          
# SDK do Mercado Pago
import mercadopago
# Adicione as credenciais
sdk = mercadopago.SDK("PROD_ACCESS_TOKEN")

        
          
import (
	"github.com/mercadopago/sdk-go/pkg/config"
)

cfg, err := config.New("{{ACCESS_TOKEN}}")
if err != nil {
	fmt.Println(err)
}

        

Ao finalizar a criação da preferência, é preciso configurá-la de acordo com seu produto ou serviço. Para isso, utilize um dos códigos disponíveis abaixo preenchendo os atributos com as respectivas informações.

          
<?php
$client = new PreferenceClient();
$preference = $client->create([
  "items"=> array(
    array(
      "title" => "Meu produto",
      "quantity" => 1,
      "unit_price" => 4500
    )
  )
]);
?>

        
          
const preference = new Preference(client);

preference.create({
  body: {
    items: [
      {
        title: 'Meu produto',
        quantity: 1,
        unit_price: 4500
      }
    ],
  }
})
.then(console.log)
.catch(console.log);

        
          
 PreferenceItemRequest itemRequest =
       PreferenceItemRequest.builder()
           .id("1234")
           .title("Games")
           .description("PS5")
           .pictureUrl("http://picture.com/PS5")
           .categoryId("games")
           .quantity(2)
           .currencyId("BRL")
           .unitPrice(new BigDecimal("4000"))
           .build();
   List<PreferenceItemRequest> items = new ArrayList<>();
   items.add(itemRequest);
PreferenceRequest preferenceRequest = PreferenceRequest.builder()
.items(items).build();
PreferenceClient client = new PreferenceClient();
Preference preference = client.create(request);

        
          
# Cria um objeto de preferência
preference_data = {
  items: [
    {
      title: 'Meu produto',
      unit_price: 75,
      quantity: 1
    }
  ]
}
preference_response = sdk.preference.create(preference_data)
preference = preference_response[:response]

# Este valor substituirá a string "<%= @preference_id %>" no seu HTML
@preference_id = preference['id']

        
          
// Cria o objeto de request da preferência
var request = new PreferenceRequest
{
    Items = new List<PreferenceItemRequest>
    {
        new PreferenceItemRequest
        {
            Title = "Meu produto",
            Quantity = 1,
            CurrencyId = "CLP",
            UnitPrice = 75m,
        },
    },
};

// Cria a preferência usando o client
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);

        
          
# Cria um objeto de preferência
preference_data = {
    "items": [
        {
            "title": "My Item",
            "quantity": 1,
            "unit_price": 75
        }
    ]
}

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

        
          
client := preference.NewClient(cfg)

request := preference.Request{
	Items: []preference.ItemRequest{
		{
			Title:       "My product",
			Quantity:    1,
			UnitPrice:   75.76,
		},
	},
}

resource, err := client.Create(context.Background(), request)
if err != nil {
	fmt.Println(err)
	return
}

fmt.Println(resource)

        
Importante
O valor de unit_price deve ser um número inteiro.

Escolher o tipo de integração

Client-Side

Com a SDK instalada e configurada corretamente no seu projeto, você está pronto para prosseguir com a integração. Para isso, escolha o tipo de integração que melhor se adapte às suas necessidades, seja Web ou Mobile, e siga os passos detalhados na seção correspondente ao tipo de solução escolhida.

Checkout Pro para Web
Ofereça diferentes meios de pagamento aos clientes em um site de maneira simples, rápida e segura.
Checkout Pro para Mobile
Ofereça diferentes meios de pagamento aos clientes na sua aplicação móvel, utilizando a linguagem que melhor se adapte ao seu projeto.