DocumentaĆ§Ć£o
Recursos
CertificaƧƵes
Comunidade

Recursos

Confira as atualizaƧƵes das nossas soluƧƵes e do funcionamento do sistema ou peƧa suporte tƩcnico.

Comunidade

Fique por dentro das Ćŗltimas novidades, peƧa ajuda a outros integradores e compartilhe seu conhecimento.

Cobros online
Cobros presenciales
Herramientas y recursos
APIs y SDKS
RenderizaĆ§Ć£o padrĆ£o - Wallet - Mercado Pago Developers

RenderizaĆ§Ć£o padrĆ£o

Antes de realizar a renderizaĆ§Ć£o do Wallet Brick, primeiro execute os passos de inicializaĆ§Ć£o compartilhados entre todos os Bricks. A partir disso, veja abaixo as informaƧƵes necessĆ”rias para vocĆŖ configurar e renderizar o Wallet Brick.

Nota
Para consultar tipagens e especificaƧƵes dos parĆ¢metros e respostas de funƧƵes do Brick, consulte a documentaĆ§Ć£o tĆ©cnica .

Configurar o Brick

Crie a configuraĆ§Ć£o de inicializaĆ§Ć£o do Brick.

          
const renderWalletBrick = async (bricksBuilder) => {
    await bricksBuilder.create("wallet", "walletBrick_container", {
        initialization: {
            preferenceId: "<PREFERENCE_ID>",
        },
        customization: {
            theme: "default",
            customStyle: {
                valueProp: "practicality",
                valuePropColor: "white",
            },
        },
    });
};

renderWalletBrick(bricksBuilder);

        
          
const initialization = {
  preferenceId: '<PREFERENCE_ID>',
}

const customization = {
  texts: {
   valueProp: 'smart_option',
  },
}

const onSubmit = async (formData) => {
 // callback chamado ao clicar no Wallet Brick
 // isso Ć© possĆ­vel porque o Brick Ć© um botĆ£o 
};

const onError = async (error) => {
 // callback chamado para todos os casos de erro do Brick
 console.log(error);
};

const onReady = async () => {
 // Callback chamado quando o Brick estiver pronto.
 // Aqui vocĆŖ pode ocultar loadings do seu site, por exemplo.  
};

        
AtenĆ§Ć£o
Sempre que o usuĆ”rio sair da tela onde algum Brick Ć© exibido, Ć© necessĆ”rio destruir a instĆ¢ncia atual com o comando window.walletBrickController.unmount(). Ao entrar novamente, uma nova instĆ¢ncia deve ser gerada.

Esse fluxo Ć© pensado para lojas que utilizam o Wallet Brick no final do processo de checkout e jĆ” possuem a preferĆŖncia criada ao renderizar o Brick, enviando-a na inicializaĆ§Ć£o. Caso queira, Ć© possĆ­vel utilizar o Brick criando a preferĆŖncia no momento do envio (onSubmit). Veja mais informaƧƵes na seĆ§Ć£o de PreferĆŖncia no envio.

Renderizar o Brick

Uma vez criadas as configuraƧƵes, insira o cĆ³digo abaixo para renderizar o Brick.

Importante
O id walletBrick_container da div html abaixo, deve corresponder ao valor enviado dentro do mƩtodo create() da etapa anterior.
          
<div id="walletBrick_container"></div>

        
          
import { Wallet } from '@mercadopago/sdk-react';


<Wallet
   initialization={initialization}
   customization={customization}
   onSubmit={onSubmit}
   onReady={onReady}
   onError={onError}
/>

        

O resultado de renderizar o Brick deve ser como na imagem abaixo, apresentando um texto e um visual padrĆ£o.

wallet-brick-render

Caso deseje alterar o texto e o visual padrĆ£o do Brick, consulte as seƧƵes de Alterar textos e Alterar visual, respectivamente.

Habilitar pagamento com Mercado Pago

Para utilizar o mĆ©todo de pagamento (paymentMethods) do tipo "mercadoPago" Ć© preciso enviar uma preferĆŖncia durante a inicializaĆ§Ć£o do Brick, substituindo o valor PREFERENCE_ID pelo ID da preferĆŖncia criada.

Para criar uma preferĆŖncia em seu backend, adicione o SDK do Mercado Pago e as credenciais necessĆ”rias ao seu projeto para habilitar o uso de preferĆŖncias.

          
<?php
// SDK do Mercado Pago
require __DIR__ .  '/vendor/autoload.php';
// Adicione as credenciais
MercadoPago\SDK::setAccessToken('PROD_ACCESS_TOKEN');
?>

        
          
// SDK do Mercado Pago
const mercadopago = require ('mercadopago');
// Adicione as credenciais
mercadopago.configure({
  access_token: 'PROD_ACCESS_TOKEN'
});

        
          
// SDK do Mercado Pago
import com.mercadopago.MercadoPagoConfig;
// Adicione as credenciais
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")

        

Em seguida, configure a preferĆŖncia de acordo com o seu produto ou serviƧo.

Os exemplos de cĆ³digo abaixo configuram o purpose da preferĆŖncia como wallet_purchase, onde o usuĆ”rio deverĆ” fazer login quando for redirecionado para sua conta do Mercado Pago.

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

        
          
// Cria um objeto de preferĆŖncia
let preference = {
  // o "purpose": "wallet_purchase" permite apenas pagamentos logados
  // para permitir pagamentos como guest, vocĆŖ pode omitir essa propriedade
  "purpose": "wallet_purchase",
  "items": [
    {
      "id": "item-ID-1234",
      "title": "Meu produto",
      "quantity": 1,
      "unit_price": 75
    }
  ]
};
 
mercadopago.preferences.create(preference)
  .then(function (response) {
    // Este valor Ć© o preferenceId que serĆ” enviado para o Brick na inicializaĆ§Ć£o
    const preferenceId = response.body.id;
  }).catch(function (error) {
    console.log(error);
  });

        
          
// Cria um objeto de preferĆŖncia
PreferenceClient client = new PreferenceClient();
 
// Cria um item na preferĆŖncia
List<PreferenceItemRequest> items = new ArrayList<>();
PreferenceItemRequest item =
   PreferenceItemRequest.builder()
       .title("Meu produto")
       .quantity(1)
       .unitPrice(new BigDecimal("100"))
       .build();
items.add(item);
 
PreferenceRequest request = PreferenceRequest.builder()
  // o .purpose('wallet_purchase') permite apenas pagamentos logados
  // para permitir pagamentos como guest, vocĆŖ pode omitir essa linha
  .purpose('wallet_purchase')
  .items(items).build();
 
client.create(request);

        
          
# Cria um objeto de preferĆŖncia
preference_data = {
  # o purpose: 'wallet_purchase', permite apenas pagamentos logados
  # para permitir pagamentos como guest, vocĆŖ pode omitir essa propriedade
  purpose: 'wallet_purchase',
  items: [
    {
      title: 'Meu produto',
      unit_price: 75,
      quantity: 1
    }
  ]
}
preference_response = sdk.preference.create(preference_data)
preference = preference_response[:response]
 
# Este valor Ć© o preferenceId que vocĆŖ usarĆ” no HTML na inicializaĆ§Ć£o no Brick
@preference_id = preference['id']

        
          
// Cria o objeto de request da preferĆŖncia
var request = new PreferenceRequest
{
  // o Purpose = 'wallet_purchase', permite apenas pagamentos logados
  // para permitir pagamentos como guest, vocĆŖ pode omitir essa propriedade
    Purpose = "wallet_purchase",
    Items = new List<PreferenceItemRequest>
    {
        new PreferenceItemRequest
        {
            Title = "Meu produto",
            Quantity = 1,
            CurrencyId = "BRL",
            UnitPrice = 75,
        },
    },
};
 
// Cria a preferĆŖncia usando o client
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);

        
          
# Cria um item na preferĆŖncia
preference_data = {
  # o "purpose": "wallet_purchase", permite apenas pagamentos logados
  # para permitir pagamentos como guest, vocĆŖ pode omitir essa propriedade
    "purpose": "wallet_purchase",
    "items": [
        {
            "title": "Meu Item",
            "quantity": 1,
            "unit_price": 75
        }
    ]
}
 
preference_response = sdk.preference().create(preference_data)
preference = preference_response["response"]

        
          
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 '{
  "purpose": "wallet_purchase",
  "items": [
      {
          "title": "Meu produto",
          "quantity": 1,
          "unit_price": 75
      }
  ]
}'

        
Importante
Para saber mais detalhes de como configurĆ”-la, acesse a seĆ§Ć£o PreferĆŖncias.

Considere que quando um usuĆ”rio opta por fazer o pagamento utilizando a Conta Mercado Pago, este serĆ” redirecionado para a pĆ”gina do Mercado Pago para concluir o pagamento. Por isso, Ć© necessĆ”rio configurar as back_urls se vocĆŖ quiser retornar ao seu site ao final do pagamento. Para mais informaƧƵes, visite a seĆ§Ć£o Redirecione o comprador para o seu site.

Teste sua integraĆ§Ć£o

Com a integraĆ§Ć£o finalizada, vocĆŖ poderĆ” testar o recebimento de pagamentos. Para mais informaƧƵes, acesse a seĆ§Ć£o Realizar compra teste.