Set up your server - Receiving payments - Mercado Pago Developers

Set up your server

In order to start the payment flow, you need to get information about the product or service to be paid. This entity is the payment preference and contains:

  1. Description and amount.
  2. Your buyer’s information (email, name, address, etc.).
  3. Payment methods accepted.
  4. Reference ID of your system.
          
<?php  
  require ('mercadopago.php');
  MercadoPago\SDK::configure(['ACCESS_TOKEN' => 'ENV_ACCESS_TOKEN']);
?>

        
          
import com.mercadopago.*;
MercadoPago.SDK.configure("ENV_ACCESS_TOKEN");

        
          
var mercadopago = require('mercadopago');
mercadopago.configure({
    access_token: 'ENV_ACCESS_TOKEN'
});

        
          
require 'mercadopago'
sdk = Mercadopago::SDK.new('ENV_ACCES_TOKEN')

        
          
using MercadoPago.Config;
MercadoPagoConfig.AccessToken = "ENV_ACCESS_TOKEN";

        
          
import mercadopago
sdk = mercadopago.SDK("ENV_ACCESS_TOKEN")

        

Then, you must add the attributes of your payment preference:

          
<?php
  $preference = new MercadoPago\Preference();

  $item = new MercadoPago\Item();
  $item->title = "Blue shirt";
  $item->quantity = 10;
  $item->currency_id = "UYU";
  $item->unit_price = 150;

  $payer = new MercadoPago\Payer();
  $payer->email = "test_user_19653727@testuser.com";

  $preference->items = array($item);
  $preference->payer = $payer;
  $preference->save();
?>

        
          
Preference preference = new Preference();

Item item = new Item();
item.setId("1234")
    .setTitle("Blue shirt")
    .setQuantity(10)
    .setCategoryId("UYU")
    .setUnitPrice((float) 150);

Payer payer = new Payer();
payer.setEmail("john@yourdomain.com");

preference.setPayer(payer);
preference.appendItem(item);
preference.save();


        
          
var preference = {}

var item = {
  title: 'Blue shirt',
  quantity: 1,
  currency_id: 'UYU',
  unit_price: 150
}

var payer = {
  email: "demo@mail.com"
}

preference.items = [item]
preference.payer = payer

mercadopago.preferences.create(preference).then(function (data) {
   // Do Stuff...
 }).catch(function (error) {
   // Do Stuff...
 });

        
          
preference_data = {
  items: [
    {
      title: 'Blue shirt',
      quantity: 10,
      currency_id: 'UYU',
      unit_price: 150
    }
  ],
  payer: {
    email: 'john@yourdomain.com'
  }
}

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

        
          
var request = new PreferenceRequest
{
    Items = new List<PreferenceItemRequest>
    {
        new PreferenceItemRequest
        {
            Id = "1234",
            Title = "Blue shirt",
            Quantity = 10,
            CurrencyId = "UYU",
            UnitPrice = 150m,
        },
    },
    Payer = new PreferencePayerRequest
    {
        Email = "john@yourdomain.com",
    },
};
var client = new PreferenceClient();
Preference preference = await client.CreateAsync(request);


        
          
preference_data = {
    "title": "Blue shirt",
    "quantity": 1,
    "currency_id": "UYU",
    "unit_price": 150,
    "payer": {
        "email": "john@yourdomain.com"
    }
}

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

        

Content of the preference

The more information you send us, the faster is the payment approval and the better is the experience for your users.

Payer

You must submit your buyer’s email.

json

{
   ...,
  "payer": {
    "name": "María Eugenia",
    "surname": "Valentín",
    "email": "john@yourdomain.com",
    "date_created": "2015-06-02T12:58:41.425-04:00",
    "phone": {
      "area_code": "11",
      "number": "656971212"
    },
    
    "identification": {
      "type": "DNI",
      "number": "123456789"
    },
    
    "address": {
      "street_name": "Av Libertador Lavalleja",
      "street_number": 7304,
      "zip_code": "52"
    }
  },
  ...
}