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.
<?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.