Carteira Mercado Pago
A Carteira Mercado Pago é uma forma de pagamento que permite aceitar pagamentos apenas de usuários cadastrados. Ao oferecer esta opção, os usuários poderão pagar com cartão, saldo disponível e Mercado Crédito.
Siga as etapas abaixo para configurar a Carteira Mercado Pago como meio de pagamento.
Criar preferência
Server-Side
A primeira etapa para configurar pagamentos com Carteira Mercado Pago é a criação da preferência. Para isso, envie um POST com o parâmetro purpose
e o valor wallet_purchase
ao endpoint /checkout/preferences e execute a requisição ou, se preferir, utilize um dos SDKs abaixo.
<?php
// Cria um objeto de preferência
$preference = new MercadoPago\Preference();
// Cria um item na preferência
$item = new MercadoPago\Item();
$item->title = 'Meu produto';
$item->quantity = 1;
$item->unit_price = 75;
$preference->items = array($item);
$preference->purpose = 'wallet_purchase';
$preference->save();
?>
O modo carteira funciona adicionando o atributo purpose na preferência.
// Cria um objeto de preferência
let preference = {
items: [
{
title: 'Meu produto',
unit_price: 100,
quantity: 1,
}
],
purpose: 'wallet_purchase'
};
mercadopago.preferences.create(preference)
.then(function(response){
// Este valor substituirá a string "<%= global.id %>" no seu HTML
global.id = response.body.id;
}).catch(function(error){
console.log(error);
});
O modo carteira funciona adicionando o atributo purpose na preferência.
// Cria um objeto de preferência
PreferenceClient client = new PreferenceClient();
// Cria um item na preferência
PreferenceItemRequest item =
PreferenceItemRequest.builder()
.title("Meu produto")
.quantity(1)
.unitPrice(new BigDecimal("75"))
.build();
List<PreferenceItemRequest> items = new ArrayList<>();
items.add(item);
PreferenceRequest request =
PreferenceRequest.builder().items(items).purpose("wallet_purchase").build();
client.create(request);
O modo carteira funciona adicionando o atributo purpose na preferência.
sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN')
# Cria um objeto de preferência
preference_data = {
items: [
{
title: 'Meu produto',
unit_price: 100,
quantity: 1
}
],
purpose: 'wallet_purchase'
}
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']
O modo carteira funciona adicionando o atributo purpose na preferência.
// Cria o objeto de request da preferência
var request = new PreferenceRequest
{
Items = new List<PreferenceItemRequest>
{
new PreferenceItemRequest
{
Title = "Meu produto,
Quantity = 1,
CurrencyId = "UYU",
UnitPrice = 75m,
},
},
Purpose = "wallet_purchase",
};
// Cria a preferência
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);
preference_data = {
"items": [
{
"title": "Meu produto",
"unit_price": 100,
"quantity": 1
}
],
"purpose": "wallet_purchase"
}
preference_response = sdk.preference().create(preference_data)
preference = preference_response["response"]
O modo carteira funciona adicionando o atributo purpose na preferência.
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": [
{
"title": "Meu produto",
"quantity": 1,
"unit_price": 75
}
],
"purpose": "wallet_purchase"
}'
Adicionar checkout
Client-Side
Com a preferência criada, é preciso exibir o botão de pagamento que permitirá o comprador utilizar a carteira Mercado Pago para pagamento. Para exibir o botão de pagamento, utilize um dos SDKs disponíveis abaixo.
<div class="cho-container"></div>
<script src="https://sdk.mercadopago.com/js/v2"></script>
<script>
const mp = new MercadoPago('PUBLIC_KEY');
mp.checkout({
preference: {
id: 'YOUR_PREFERENCE_ID'
},
render: {
container: '.cho-container',
label: 'Pagar com Mercado Pago',
type: 'wallet',
}
});
</script>
O modo carteira funciona adicionando o atributo purpose na preferência.