class Mercadopago::Sdk
Attributes
client_id[RW]
client_secret[RW]
sandbox[RW]
Public Class Methods
new(client_id, client_secret, sandbox=false)
click to toggle source
# File lib/mercadopago/sdk.rb, line 10 def initialize(client_id, client_secret, sandbox=false) @client_id = client_id @client_secret = client_secret @sandbox = sandbox end
Public Instance Methods
access_token()
click to toggle source
# File lib/mercadopago/sdk.rb, line 26 def access_token @access_token ||= get_access_token["access_token"] end
build_url(action, token=true)
click to toggle source
# File lib/mercadopago/sdk.rb, line 129 def build_url(action, token=true) if token sandbox_prefix + action + "?access_token=#{access_token}" else sandbox_prefix + action end end
cancel_payment(payment_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 108 def cancel_payment(payment_id) url = build_url "/collections/#{payment_id}" Rest::exec(:put, url, {:status => "cancelled"}, true ) end
create_checkout_preference(data, exclude_methods=nil)
click to toggle source
# File lib/mercadopago/sdk.rb, line 30 def create_checkout_preference(data, exclude_methods=nil) unless exclude_methods.nil? data[:payment_methods] = { :excluded_payment_methods => exclude_methods } end url = "/checkout/preferences?access_token="+access_token Rest::exec(:post, url, data, true) end
create_preapproval_payment(data)
click to toggle source
This method create a preapproval payment (recurrent payment) Recive a data hash with this structure:
data = {
payer_email: String, back_url: String, reason: String, external_reference: String, auto_recurring: { frecuency: Number, frequency_type: String, // months or days transaction_amount: Number, currency_id: String, start_date, end_date }
For more information about avaliable options go to developers.mercadopago.com/documentation/glossary/recurring-payments
# File lib/mercadopago/sdk.rb, line 69 def create_preapproval_payment(data) url = "/preapproval?access_token="+access_token Rest::exec(:post, url, data, true) end
create_test_user(site_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 98 def create_test_user(site_id) url = build_url "users/test_user" Rest::exec(:post, url, { :site_id => site_id }, true ) end
get_access_token()
click to toggle source
# File lib/mercadopago/sdk.rb, line 16 def get_access_token url = "/oauth/token" data = { :grant_type => "client_credentials", :client_id => @client_id, :client_secret => @client_secret } result = Rest::exec(:post, url, data) end
get_checkout_preference(preference_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 45 def get_checkout_preference(preference_id) url = build_url "/checkout/preferences/#{preference_id}" Rest::exec(:get, url, nil, true) end
get_movement(movement_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 113 def get_movement(movement_id) url = build_url "/mercadopago_account/movements/search?id=#{movement_id}" Rest::exec(:get, url, nil, true) end
get_movement_by_reference_id(reference_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 118 def get_movement_by_reference_id(reference_id) url = build_url "/mercadopago_account/movements/search?reference_id=#{movement_id}" Rest::exec(:get, url, nil, true) end
get_payment_info(notification_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 82 def get_payment_info(notification_id) url = build_url "/collections/notifications/#{notification_id}" Rest::exec(:get, url, nil, true) end
get_preapproval_payment(id)
click to toggle source
This method get all the information about a recurrent payment for information about what return this method go to developers.mercadopago.com/documentation/glossary/recurring-payments#!/get
# File lib/mercadopago/sdk.rb, line 77 def get_preapproval_payment(id) url = "/preapproval/#{id}" Rest::exec(:get, url) end
refund_payment(payment_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 103 def refund_payment(payment_id) url = build_url "/collections/#{payment_id}" Rest::exec(:put, url, {:status => "refunded"}, true ) end
sandbox_prefix()
click to toggle source
# File lib/mercadopago/sdk.rb, line 137 def sandbox_prefix @sandbox ? "/sandbox":"" end
search_movements(params)
click to toggle source
# File lib/mercadopago/sdk.rb, line 123 def search_movements(params) params_query = URI.encode(params.map{|k,v| "#{k}=#{v}"}.join("&")) url = build_url "/mercadopago_account/movements/search?#{params_query}" Rest::exec(:get, url, nil, true) end
search_payment(payment_id)
click to toggle source
# File lib/mercadopago/sdk.rb, line 87 def search_payment(payment_id) url = build_url "/collections/#{payment_id}" Rest::exec(:get, url, nil, true) end
search_payments_where(params)
click to toggle source
# File lib/mercadopago/sdk.rb, line 92 def search_payments_where(params) url = build_url "/collections/search", false params[:access_token] = access_token Rest::exec(:get, url, { :params => params }) end
update_checkout_preference(preference_id, data)
click to toggle source
# File lib/mercadopago/sdk.rb, line 40 def update_checkout_preference(preference_id, data) url = build_url "/checkout/preferences/#{preference_id}" Rest::exec(:put, url, data, true) end