Restringir compras a usuarios registrados - Configuraciones adicionales - Mercado Pago Developers
Recursos para IA

Restringir compras a usuarios registrados

Permite únicamente que usuarios con cuenta Mercado Pago realicen compras en tu Checkout Pro. Al habilitar esta restricción, solo los clientes autenticados podrán acceder al checkout, iniciar sesión y utilizar los métodos de pago disponibles para completar la compra.

Al agregar esta opción, no será posible recibir pagos de usuarios no registrados en Mercado Pago, así como tampoco podrá recibir pagos vía efectivo o transferencia.

Sigue los pasos a continuación para configurar la cuenta de Mercado Pago como único método de pago disponible en el checkout.

Para restringir los pagos únicamente a usuarios con cuenta de Mercado Pago, incluye el parámetro purpose con el valor wallet_purchase en la configuración de la preferencia de pago. A continuación, consulta ejemplos de implementación utilizando el SDK de Mercado Pago para integración.

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

<?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);
?>

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

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);

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

// Crea un objeto de preferencia
PreferenceClient client = new PreferenceClient();

// Crea un ítem en la preferencia
PreferenceItemRequest item =
  PreferenceItemRequest.builder()
    .title("Mi producto")
    .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);

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN')
# Crea un objeto de preferencia
preference_data = {
  items: [
    {
      title: 'Mi producto',
      unit_price: 100,
      quantity: 1
    }
  ],
  purpose: 'wallet_purchase'
}
preference_response = sdk.preference.create(preference_data)
preference = preference_response[:response]

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

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

// Crea el objeto de request de la preferencia
var request = new PreferenceRequest
{
    Items = new List<PreferenceItemRequest>
    {
        new PreferenceItemRequest
        {
            Title = "Mi producto",
            Quantity = 1,
            CurrencyId = "CLP",
            UnitPrice = 75m,
        },
    },
    Purpose = "wallet_purchase",
};
// Crea la preferencia
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

preference_data = {
    "items": [
        {
            "title": "Mi producto",
            "unit_price": 100,
            "quantity": 1
        }
    ],
    "purpose": "wallet_purchase"
}

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

El modo Cuenta de Mercado Pago funciona añadiendo el atributo purpose en la preferencia.

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
El valor unit_price debe ser un número entero.