Restringir compras a usuários registrados - Configurações adicionais - Mercado Pago Developers
Recursos para IA

Restringir compras a usuários registrados

Permita apenas que usuários com conta Mercado Pago realizem compras no seu Checkout Pro. Ao habilitar essa restrição, somente clientes autenticados poderão acessar o checkout, realizar login e utilizar os métodos de pagamento disponíveis para concluir a compra.

Ao adicionar esta opção, não será possível receber pagamentos de usuários não cadastrados no Mercado Pago, assim como não poderá receber pagamentos via dinheiro ou transferência.

Siga os passos abaixo para configurar a conta do Mercado Pago como único método de pagamento disponível no checkout.

Para restringir os pagamentos apenas a usuários com conta do Mercado Pago, inclua o parâmetro purpose com o valor wallet_purchase na configuração da preferência de pagamento. A seguir, consulte exemplos de implementação utilizando o SDK do Mercado Pago para integração.

O modo Conta Mercado Pago funciona adicionando o atributo purpose na preferência.

<?php
  $client = new PreferenceClient();
  $preference = $client->create([
    "items"=> array(
      array(
        "title" => "My product",
        "description" => "Test product",
        "picture_url" => "http://i.mlcdn.com.br/portaldalu/fotosconteudo/48029_01.jpg",
        "category_id" => "electronics",
        "quantity" => 1,
        "currency_id" => "BRL",
        "unit_price" => 100
      )
    ),
    "purpose"=> "wallet_purchase"
  ]);
  echo implode($preference);
?>

O modo Conta Mercado Pago funciona adicionando o atributo purpose na preferência.

const client = new MercadoPagoConfig({ accessToken: '<ACCESS_TOKEN>' });

const preference = new Preference(client);

preference.create({ 
  body: {
    items: [
      {
        id: '<ID>',
        title: '<title>',
        quantity: 1,
        unit_price: 100
      }
    ],
    purpose: "wallet_purchase",
  }
}).then(console.log).catch(console.log);

O modo Conta Mercado Pago 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 Conta Mercado Pago 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 Conta Mercado Pago 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 = "CLP",
            UnitPrice = 75m,
        },
    },
    Purpose = "wallet_purchase",
};
// Cria a preferência
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);

O modo Conta Mercado Pago funciona adicionando o atributo purpose na 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"]

O modo Conta Mercado Pago funciona adicionando o atributo purpose na preferência.

import (
	"context"
	"fmt"
	"time"

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

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

client := preference.NewClient(cfg)

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

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

fmt.Println(resource)
Importante
O valor unit_price deve ser um número inteiro.