This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (v0.5.6) of this package.

MercadoPago SDK module for Payments integration.

v0.5.6 2019-04-15 14:29 UTC

This package is auto-updated.

Last update: 2021-03-05 15:24:52 UTC


README

Warning: We recommend try to use our new SDK dx-php

MercadoPago SDK

Install

With Composer

From command line

composer require mercadopago/sdk:0.5.3

As a dependency in your project's composer.json

{
    "require": {
        "mercadopago/sdk": "0.5.3"
    }
}

By downloading

  1. Clone/download this repository
  2. Copy lib/mercadopago.php to your project's desired folder.

Basic checkout

Configure your credentials

require_once ('mercadopago.php');

$mp = new MP ("CLIENT_ID", "CLIENT_SECRET");

Preferences

Get an existent Checkout preference

$preference = $mp->get_preference("PREFERENCE_ID");

print_r ($preference);

Create a Checkout preference

$preference_data = array (
    "items" => array (
        array (
            "title" => "Test",
            "quantity" => 1,
            "currency_id" => "USD",
            "unit_price" => 10.4
        )
    )
);

$preference = $mp->create_preference($preference_data);

print_r ($preference);

Update an existent Checkout preference

$preference_data = array (
    "items" => array (
        array (
            "title" => "Test Modified",
            "quantity" => 1,
            "currency_id" => "USD",
            "unit_price" => 20.4
        )
    )
);

$preference = $mp->update_preference("PREFERENCE_ID", $preference_data);

print_r ($preference);

Payments/Collections

Search for payments

$filters = array (
        "id"=>null,
        "external_reference"=>null
    );

$searchResult = $mp->search_payment ($filters);

print_r ($searchResult);

Get payment data

require_once ('mercadopago.php');

$mp = new MP ("CLIENT_ID", "CLIENT_SECRET");
$paymentInfo = $mp->get_payment ("PAYMENT_ID");

print_r ($paymentInfo);

Cancel (only for pending payments)

$result = $mp->cancel_payment("PAYMENT_ID");

print_r ($result);

Refund (only for accredited payments)

$result = $mp->refund_payment("PAYMENT_ID");

print_r ($result);

Customized checkout

Configure your credentials

require_once ('mercadopago.php');

$mp = new MP ("ACCESS_TOKEN");

Create payment

$mp->post (
    array(
        "uri" => "/v1/payments",
        "data" => [payment_data]
    )
);

Create customer

$mp->post (
    array(
        "uri" => "/v1/customers",
        "data" => array(
            "email" => "email@test.com"
        )
    )
);

Get customer

$mp->get (
    array(
        "uri" => "/v1/customers/CUSTOMER_ID"
    )
);

Generic methods

You can access any resource from the MercadoPago API using the generic methods. The basic structure is:

$mp->[method]($request)

where request can be:

array(
    "uri" => "The resource URI, relative to https://api.mercadopago.com",
    "params" => "Optional. Key=>Value array with parameters to be appended to the URL",
    "data" => "Optional. Object or String to be sent in POST and PUT requests",
    "headers" => "Optional. Key => Value array with custom headers, like content-type: application/x-www-form-urlencoded",
    "authenticate" => "Optional. Boolean to specify if the GET method has to authenticate with credentials before request. Set it to false when accessing public APIs"
)

Examples:

// Get a resource, with optional URL params. Also you can disable authentication for public APIs
$mp->get (
    array(
        "uri" => "/resource/uri",
        "params" => array(
            "param" => "value"
        ),
        "headers" => array(
            "header" => "value"
        ),
        "authenticate" => true
    )
);

// Create a resource with "data" and optional URL params.
$mp->post (
    array(
        "uri" => "/resource/uri",
        "params" => array(
            "param" => "value"
        ),
        "headers" => array(
            "header" => "value"
        ),
        "data" => [data]
    )
);

// Update a resource with "data" and optional URL params.
$mp->put (
    array(
        "uri" => "/resource/uri",
        "params" => array(
            "param" => "value"
        ),
        "headers" => array(
            "header" => "value"
        ),
        "data" => [data]
    )
);

// Delete a resource with optional URL params.
$mp->delete (
    array(
        "uri" => "/resource/uri",
        "params" => array(
            "param" => "value"
        ),
        "headers" => array(
            "header" => "value"
        )
    )
);