Skip to content

sebagun/sdk-php

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MercadoPago SDK module for Payments integration

Install

With Composer

From command line

composer require mercadopago/sdk:0.5.2

As a dependency in your project's composer.json

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

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"
        )
    )
);

Packages

No packages published

Languages

  • PHP 99.9%
  • Makefile 0.1%