Receba Pagamentos

Receba pagamentos de forma simples e segura utilizando o Checkout do Mercado Pago.

1. Crie uma preferência de pagamentos

A preferência de pagamentos contém todas as informações sobre o produto ou serviço a ser pago. Por exemplo:

  • Descrição e preço.
  • Informações do seu comprador (e-mail, nome, endereço, etc.).
  • Meios de pagamentos aceitos.
  • ID de referência do seu sistema.

Para criar uma preferência de pagamento, você deve instalar o SDK do MercadoPago e configurar suas credenciais.

<?php  
  MercadoPago\SDK::setClientId("ENV_CLIENT_ID");
  MercadoPago\SDK::setClientSecret("ENV_CLIENT_SECRET");
?>
MercadoPago.SDK.setClientId("ENV_CLIENT_ID");
MercadoPago.SDK.setClientSecret("ENV_CLIENT_SECRET");
mercadopago.configure({
  client_id: 'ENV_CLIENT_ID',
  client_secret: 'ENV_CLIENT_SECRET'
});
MercadoPago::SDK.client_id = "ENV_CLIENT_ID"
MercadoPago::SDK.client_secret = "ENV_CLIENT_SECRET"
using MercadoPago;
// ...
MercadoPago.SDK.ClientId = "ENV_CLIENT_ID";
MercadoPago.SDK.ClientSecret = "ENV_CLIENT_SECRET";
// ...

Em seguida, você deve adicionar os atributos da sua preferência de pagamento e crie uma preferência:

<?php
  # Create a preference object
  $preference = new MercadoPago\Preference();
  # Create an item object
  $item = new MercadoPago\Item();
  $item->id = "1234";
  $item->title = "Enormous Aluminum Plate";
  $item->quantity = 3;
  $item->currency_id = "UYU";
  $item->unit_price = 87.48;
  # Create a payer object
  $payer = new MercadoPago\Payer();
  $payer->email = "dusty@gmail.com";
  # Setting preference properties
  $preference->items = array($item);
  $preference->payer = $payer;
  # Save and posting preference
  $preference->save();
?>
// Create a preference object
Preference preference = new Preference();
// Create an item object
Item item = new Item();
item.setId("1234")
    .setTitle("Enormous Aluminum Plate")
    .setQuantity(3)
    .setCurrencyId("UYU")
    .setUnitPrice((float) 87.48);
// Create a payer object
Payer payer = new Payer();
payer.setEmail("dusty@gmail.com");
// Setting preference properties
preference.setPayer(payer);
preference.appendItem(item);
// Save and posting preference
preference.save();
// Create a preference structure
    var preference = {
    items: [
      item = {
        id: '1234',
        title: 'Enormous Aluminum Plate',
        quantity: 3,
        currency_id: 'UYU',
        unit_price: 87.48
      }
    ],
    payer = {
      email: 'dusty@gmail.com'
    }
  };
 
  mercadopago.preferences.create(preference)
    .then(function (preference) {
      // Do something if preference has been created successfully
    }).catch(function (error) {
      // If an error has occurred
    });
# Create an item object
item = MercadoPago::Item.new({
  id:           "1234",
  title:        "Enormous Aluminum Plate",
  quantity:     3,
  currency_id:  "UYU",
  unit_price:   87.48
})
# Create a payer object
payer = MercadoPago::Payer.new({
  email: "dusty@gmail.com"
}) 
# Create a preference object
preference = MercadoPago::Preference.new({
  items: [item],
  payer: payer
})
# Save and posting preference
preference.save()
using MercadoPago;
using MercadoPago.Resources;
using MercadoPago.DataStructures.Preference;
// ...
// Create a preference object
Preference preference = new Preference(); 
# Adding an item object
preference.Items.Add(
  new Item()
  {
    Id = "1234",
    Title = "Enormous Aluminum Plate", 
    Quantity = 3,
    CurrencyId = "UYU",
    UnitPrice = (float)87.48
  }
);
// Setting a payer object as value for Payer property
preference.Payer = new Payer(){
  Email = "dusty@gmail.com"
}
// Save and posting preference
preference.Save();

Conteúdo da preferência

Quanto mais informações você nos enviar, melhor será a aprovação dos pagamentos e a experiência de seus usuários.

Payer

É necessário enviar o email do seu comprador. Se você nos enviar dados como tipo e número de identificação, ele não será solicitado durante o processo de pagamento.

<?php
  // ...
  $payer = new MercadoPago\Payer();
  $payer->name = "Charles";
  $payer->surname = "Pereira";
  $payer->email = "charles@live.com";
  $payer->date_created = "2018-06-02T12:58:41.425-04:00";
  $payer->phone = array(
    "area_code" => "",
    "number" => "884 514-717"
  );
  $payer->identification = array(
    "type" => "DNI",
    "number" => "12345678"
  );
  $payer->address = array(
    "street_name" => "Silva Alameda",
    "street_number" => 1611,
    "zip_code" => "5402"
  );
  // ...
?>
// ...
Payer payer = new Payer();
payer.setName("Charles")
     .setSurname("Pereira")
     .setEmail("charles@live.com")
     .setDateCreated("2018-06-02T12:58:41.425-04:00")
     .setPhone(new Phone()
        .setAreaCode("")
        .setPhoneNumber("884 514-717"))
     .setIdentification(new Identification()
        .setType("DNI")
        .setNumber("12345678"))
     .setAddress(new Address()
        .setStreetName("Silva Alameda")
        .setBuildingNumber("1611")
        .setZipCode("5402"));
// ...
// ...
var payer = {
  name: "Charles",
  surname: "Pereira",
  email: "charles@live.com",
  date_created: "2015-06-02T12:58:41.425-04:00",
  phone: {
    area_code: "",
    number: "884 514-717"
  },
  identification: {
    type: "DNI",
    number: "12345678"
  },
  address: {
    street_name: "Silva Alameda",
    street_number: "1611",
    zip_code: "5402"
  }
}
// ...
# ...
payer = MercadoPago::Payer.new({
  name: "Charles"
  surname: "Pereira"
  email: "charles@live.com"
  date_created: Time.now
  phone: MercadoPago::Phone.new({
    area_code: "",
    number: "884 514-717"
  })
  identification: MercadoPago::Identification.new({
    type: "DNI",
    number: "12345678"
  })
  address: MercadoPago::Address.new ({
    street_name: "Silva Alameda",
    street_number: "1611",
    zip_code: "5402"
  })
})
# ...
using MercadoPago;
using MercadoPago.Resources;
using MercadoPago.DataStructures.Preference;
// ...
Payer payer = new Payer()
{
    Name = "Charles",
    Surname = "Pereira",
    Email = "charles@live.com",
    Phone = new Phone()
    {
        AreaCode = "",
        Number = "884 514-717"
    },
    Identification = new Identification() 
    {
        Type = "DNI",
        Number = "12345678"
    },
    Address = new Address()
    {
        StreetName = "Silva Alameda",
        StreetNumber = int.Parse("1611"),
        ZipCode = "5402"
    }
};
// ...

Shipments

<?php
  // ...
  $shipments = new MercadoPago\Shipments();
  $shipments->receiver_address = array(
        "zip_code" => "5402",
        "street_number" => 1611,
        "street_name" => "Silva Alameda",
        "floor" => 15,
        "apartment" => "C"
  );
  // ...
?>
// ...
Shipments shipments = new Shipments();
shipments.setReceiverAddress(new ReceiverAddress()
  .setZipCode("5402")
  .setBuildingNumber("1611")
  .setStreetName("Silva Alameda")
  .setFloor("15")
  .setApartment("C"));
// ...
// ...
var shipments = {
    receiver_address: {
        zip_code: 5402",
        street_number: 1611,
        street_name: "Silva Alameda",
        floor: 15,
        apartment: "C"
    }
};
// ...
# ...
shipment = MercadoPago::Shipment.new(
  receiver_address: new MercadoPago::ReceiverAddress.new({
    zip_code: "5402",
    street_number: 1611,
    street_name: "Silva Alameda",
    floor: 15,
    apartment: "C"
  })
})
# ... 
using MercadoPago;
using MercadoPago.Resources;
using MercadoPago.DataStructures.Preference;
// ...
Shipment shipment = new Shipment()
{
    ReceiverAddress = new ReceiverAddress()
    {
        ZipCode = "5402",
        StreetName = "Silva Alameda",
        StreetNumber = int.Parse("1611"),
        Floor = "16",
        Apartment = "C"
    }
};
// ...

2. Leve seu comprador para check-out

Uma vez que a preferência é criada, use o URL que você encontra no attribute init point da resposta para gerar um botão de pagamento:

Html

<!DOCTYPE html>
<html>
    <head>
        <title>Pagar</title>
    </head>
    <body>
        <a href="<?php echo $preference->init_point; ?>">Pay</a>
    </body>
</html>

Você também pode personalizar o check-out inserindo este Link

3. Ative as notificações de pagamento

As notificações informam automaticamente sobre seus novos pagamentos e atualizações de status.

Isto permitirá que você gerencie seu estoque e mantenha seu sistema sincronizado.

Para mais informações, consulte a seção de Notificaçõess.

4.Cancele um pagamento

As opções de pagamento em dinheiro devem ser pagas no prazo de 3 a 5 dias dependendo de cada caso.

O vencimento não é automático, então é necessário que efetue o cancelamento do pagamento logo após o vencimento.

5. Teste sua integração

Você pode testar sua integração antes de partir para produção, a fim de verificar o funcionamento e fazer os ajustes necessários.

Para isso, deve-se utilizar usuários e cartões de teste.

Para mais informações, consulte a seção de Testes.

La búsqueda no arrojó ningún resultado.

Verifica la la ortografía de los términos de búsqueda o prueba con otras palabras clave.