Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Crear y configurar una preferencia de pago - Etapas de integraciĂłn - Mercado Pago Developers

Crear y configurar una preferencia de pago

Server-Side

Una preferencia de pago es un objeto o conjunto de informaciĂłn que representa el producto o servicio por el que deseas cobrar. Dentro del ecosistema de Mercado Pago, este objeto se conoce como preference. Al crear una preferencia de pago, puedes definir detalles esenciales como el precio, la cantidad y los medios de pago, asĂ­ como otras configuraciones relacionadas para el flujo de pago.

Para crear una preferencia de pago, utiliza el método asociado a preference en el SDK de backend. Es necesario que crees una preferencia de pago para cada pedido o flujo de pago que quieras iniciar.

A continuaciĂłn, encontrarĂĄs ejemplos de cĂłmo implementar esto en tu backend utilizando el SDK, que estĂĄ disponible en diferentes lenguajes de programaciĂłn. Completa los atributos con la informaciĂłn adecuada para reflejar los detalles de cada transacciĂłn y garantizar un flujo de pago preciso.

Nota
Puedes adaptar la integraciĂłn de Checkout Pro a tu modelo de negocio configurando los atributos de la preferencia de pago. Estos te permitirĂĄn definir cuotas, excluir un medio de pago, cambiar la fecha de vencimiento de un determinado pago, entre otras opciones. Para personalizar tu preferencia de pago, accede a PersonalizaciĂłn del checkout.
          
<?php
$client = new PreferenceClient();
$preference = $client->create([
  "items"=> array(
    array(
      "title" => "Mi producto",
      "quantity" => 1,
      "unit_price" => 2000
    )
  )
]);

echo $preference
?>

        
          
const preference = new Preference(client);

preference.create({
  body: {
    items: [
      {
        title: 'Mi producto',
        quantity: 1,
        unit_price: 2000
      }
    ],
  }
})
.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);

        
          
# Crea un objeto de preferencia
preference_data = {
  items: [
    {
      title: 'Mi producto',
      unit_price: 75.56,
      quantity: 1
    }
  ]
}
preference_response = sdk.preference.create(preference_data)
preference = preference_response[:response]

# Este valor reemplazarĂĄ el string "<%= @preference_id %>" en tu HTML
@preference_id = preference['id']

        
          
// Crea el objeto de request de la preference
var request = new PreferenceRequest
{
    Items = new List<PreferenceItemRequest>
    {
        new PreferenceItemRequest
        {
            Title = "Mi producto",
            Quantity = 1,
            CurrencyId = "ARS",
            UnitPrice = 75.56m,
        },
    },
};

// Crea la preferencia usando el client
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);

        
          
# Crea un Ă­tem en la preferencia
preference_data = {
    "items": [
        {
            "title": "Mi producto",
            "quantity": 1,
            "unit_price": 75.76,
        }
    ]
}

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)

        

Obtener el identificador de la preferencia

El identificador de la preferencia es un identificador de transacciĂłn Ășnico para una solicitud de pago especĂ­fica. Para obtenerlo, deberas ejecutar tu aplicaciĂłn.

En la respuesta, obtendrĂĄs el identificador de la preferencia en la propiedad ID. Guarda este valor, ya que lo necesitarĂĄs en el prĂłximo paso para tu integraciĂłn en un sitio web o en una aplicaciĂłn mobile.

A continuaciĂłn, te mostramos un ejemplo de cĂłmo se ve el atributo ID con el identificador de preferencia en una respuesta.

plain

"id": "787997534-6dad21a1-6145-4f0d-ac21-66bf7a5e7a58"

Una vez que configuraste la preferencia de pago, es momento de Configurar las URLs de retorno hacia donde tus clientes serĂĄn redirigidos al finalizar el proceso de pago.