MercadoPago SDK module for Payments integration

Usage:

gem install mercadopago-sdk

Then, instantiate the SDK...

...with your credentials:

require 'mercadopago.rb'

$mp = MercadoPago.new('CLIENT_ID', 'CLIENT_SECRET')

...with your long live access token:

require 'mercadopago.rb'

$mp = MercadoPago.new('LL_ACCESS_TOKEN')

Get your Access Token:

$accessToken = $mp.get_access_token()

puts (accessToken)

Using MercadoPago Checkout

Get an existent Checkout preference:

preference = $mp.get_preference('PREFERENCE_ID')

puts $preferenceResult

Create a Checkout preference:

preferenceData = Hash["items" => Array(Array["title"=>"testCreate", "quantity"=>1, "unit_price"=>10.2, "currency_id"=>"ARS"])]

preference = $mp.create_preference(preferenceData)

puts preference

Others items to use

Update an existent Checkout preference:

preferenceDataToUpdate = Hash["items" => Array(Array["title"=>"testUpdated", "quantity"=>1, "unit_price"=>2])]

preferenceUpdate = $mp.update_preference("PREFERENCE_ID", preferenceDataToUpdate)

puts preferenceUpdate

Using MercadoPago Payment

Searching:

filters = Array["id"=>null, "site_id"=>null, "external_reference"=>null]

searchResult = $mp.search_payment(filters)

puts searchResult

More search examples

Receiving IPN notification:


paymentInfo = $mp.get_payment_info("ID")

puts paymentInfo

Cancel (only for pending payments):

result = $mp.cancel_payment("ID");

// Show result
puts result

Refund (only for accredited payments):

result = $mp.refund_payment("ID");

// Show result
puts result

About Cancel & Refund

Generic resources methods

You can access any other resource from the MercadoPago API using the generic methods:

// Get a resource, with optional URL params. Also you can disable authentication for public APIs
$mp.get ("/resource/uri", [params], [authenticate=true])

// Create a resource with "data" and optional URL params.
$mp.post ("/resource/uri", data, [params])

// Update a resource with "data" and optional URL params.
$mp.put ("/resource/uri", data, [params])

// Delete a resource with optional URL params.
$mp.delete ("/resource/uri", [params])

For example, if you want to get the Sites list (no params and no authentication):

$sites = $mp.get ("/sites", null, false)

puts $sites