MercadoPago SDK module for Payments integration
Usage:
gem install mercadopago-sdk
Then, instantiate the SDK...
...with your credentials:
- Get your CLIENT_ID and CLIENT_SECRET in the following address:
- Argentina: https://www.mercadopago.com/mla/herramientas/aplicaciones
- Brazil: https://www.mercadopago.com/mlb/ferramentas/aplicacoes
- México: https://www.mercadopago.com/mlm/herramientas/aplicaciones
- Venezuela: https://www.mercadopago.com/mlv/herramientas/aplicaciones
- Colombia: https://www.mercadopago.com/mco/herramientas/aplicaciones
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
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
Receiving IPN notification:
- Go to Mercadopago IPN configuration:
- Argentina: https://www.mercadopago.com/mla/herramientas/notificaciones
- Brasil: https://www.mercadopago.com/mlb/ferramentas/notificacoes
- México: https://www.mercadopago.com/mlm/herramientas/notificaciones
- Venezuela: https://www.mercadopago.com/mlv/herramientas/notificaciones
- Colombia: https://www.mercadopago.com/mco/herramientas/notificaciones
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
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