Class: Mercadopago::Sdk
- Inherits:
-
Object
- Object
- Mercadopago::Sdk
- Defined in:
- lib/mercadopago/sdk.rb
Instance Attribute Summary collapse
-
#client_id ⇒ Object
Returns the value of attribute client_id.
-
#client_secret ⇒ Object
Returns the value of attribute client_secret.
-
#sandbox ⇒ Object
Returns the value of attribute sandbox.
Instance Method Summary collapse
- #access_token ⇒ Object
- #build_url(action, token = true) ⇒ Object
- #cancel_payment(payment_id) ⇒ Object
- #create_checkout_preference(data, exclude_methods = nil) ⇒ Object
-
#create_preapproval_payment(data) ⇒ Object
This method create a preapproval payment (recurrent payment) Recive a data hash with this structure:.
- #create_test_user(site_id) ⇒ Object
- #get_access_token ⇒ Object
- #get_checkout_preference(preference_id) ⇒ Object
- #get_movement(movement_id) ⇒ Object
- #get_movement_by_reference_id(reference_id) ⇒ Object
- #get_payment_info(notification_id) ⇒ Object
-
#get_preapproval_payment(id) ⇒ Object
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.
-
#initialize(client_id, client_secret, sandbox = false) ⇒ Sdk
constructor
A new instance of Sdk.
- #refund_payment(payment_id) ⇒ Object
- #sandbox_prefix ⇒ Object
- #search_movements(params) ⇒ Object
- #search_payment(payment_id) ⇒ Object
- #search_payments_where(params) ⇒ Object
- #update_checkout_preference(preference_id, data) ⇒ Object
Constructor Details
#initialize(client_id, client_secret, sandbox = false) ⇒ Sdk
Returns a new instance of Sdk.
10 11 12 13 14 |
# 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 |
Instance Attribute Details
#client_id ⇒ Object
Returns the value of attribute client_id.
8 9 10 |
# File 'lib/mercadopago/sdk.rb', line 8 def client_id @client_id end |
#client_secret ⇒ Object
Returns the value of attribute client_secret.
8 9 10 |
# File 'lib/mercadopago/sdk.rb', line 8 def client_secret @client_secret end |
#sandbox ⇒ Object
Returns the value of attribute sandbox.
8 9 10 |
# File 'lib/mercadopago/sdk.rb', line 8 def sandbox @sandbox end |
Instance Method Details
#access_token ⇒ Object
26 27 28 |
# File 'lib/mercadopago/sdk.rb', line 26 def access_token @access_token ||= get_access_token["access_token"] end |
#build_url(action, token = true) ⇒ Object
129 130 131 132 133 134 135 |
# 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) ⇒ Object
108 109 110 111 |
# 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) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# 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) ⇒ Object
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
69 70 71 72 |
# 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) ⇒ Object
98 99 100 101 |
# 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 ⇒ Object
16 17 18 19 20 21 22 23 24 |
# 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) ⇒ Object
45 46 47 48 |
# 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) ⇒ Object
113 114 115 116 |
# 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) ⇒ Object
118 119 120 121 |
# 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) ⇒ Object
82 83 84 85 |
# 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) ⇒ Object
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
77 78 79 80 |
# File 'lib/mercadopago/sdk.rb', line 77 def get_preapproval_payment(id) url = "/preapproval/#{id}" Rest::exec(:get, url) end |
#refund_payment(payment_id) ⇒ Object
103 104 105 106 |
# 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 ⇒ Object
137 138 139 |
# File 'lib/mercadopago/sdk.rb', line 137 def sandbox_prefix @sandbox ? "/sandbox":"" end |
#search_movements(params) ⇒ Object
123 124 125 126 127 |
# 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) ⇒ Object
87 88 89 90 |
# 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 |