MercadoPago SDK module for Payments integration
Install
gem install mercadopago-sdk
Basic checkout
Configure your credentials
- Get your CLIENT_ID and CLIENT_SECRET in the following address:
require 'mercadopago.rb'
$mp = MercadoPago.new('CLIENT_ID', 'CLIENT_SECRET')
Preferences
Get an existent Checkout preference
preference = $mp.get_preference('PREFERENCE_ID')
puts $preferenceResult
Create a Checkout preference
preference_data = {
"items": [
{
"title": "testCreate",
"quantity": 1,
"unit_price": 10.2,
"currency_id": "ARS"
}
]
}
preference = $mp.create_preference(preference_data)
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
Payments/Collections
Search for payments
filters = Array["id"=>null, "external_reference"=>null]
searchResult = $mp.search_payment(filters)
puts searchResult
Get payment data
paymentInfo = $mp.get_payment("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
Customized checkout
Configure your credentials
- Get your ACCESS_TOKEN in the following address:
require 'mercadopago.rb'
$mp = MercadoPago.new('ACCESS_TOKEN')
Create payment
$mp.post ("/v1/payments", payment_data);
Create customer
$mp.post ("/v1/customers", Hash["email" => "email@test.com"]);
Get customer
$mp.get ("/v1/customers/CUSTOMER_ID");
- View more Custom checkout related APIs in Developers Site
Generic 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