Class: Mercadopago::SDK
- Inherits:
-
Object
- Object
- Mercadopago::SDK
- Defined in:
- lib/mercadopago/sdk.rb
Overview
Main entry point and factory for the MercadoPago Ruby SDK.
Holds the OAuth access token, the HTTP transport, and the request configuration. Every API resource is exposed as a method that returns a ready-to-use resource instance (e.g. sdk.payment, sdk.customer).
Instance Attribute Summary collapse
-
#access_token ⇒ String
OAuth access token used for API authentication.
-
#http_client ⇒ Object
Returns the value of attribute http_client.
Instance Method Summary collapse
-
#advanced_payment ⇒ AdvancedPayment
Resource for split-payment operations (marketplace).
-
#card ⇒ Card
Resource for managing stored cards linked to a customer.
-
#card_token ⇒ CardToken
Resource for tokenising card data server-side.
-
#customer ⇒ Customer
Resource for managing customer records.
-
#disbursement_refund ⇒ DisbursementRefund
Resource for refunding advanced-payment disbursements.
-
#identification_type ⇒ IdentificationType
Resource for listing supported ID document types.
-
#initialize(access_token, http_client: nil, request_options: nil) ⇒ SDK
constructor
Creates a new SDK instance.
-
#merchant_order ⇒ MerchantOrder
Resource for grouping payments into merchant orders.
-
#order ⇒ Order
Resource for creating and managing orders (Checkout API).
-
#order_transaction ⇒ OrderTransaction
Resource for managing transactions within an order.
-
#payment ⇒ Payment
Resource for creating, searching, and managing payments.
-
#payment_methods ⇒ PaymentMethods
Resource for listing available payment methods.
-
#preapproval ⇒ Preapproval
Resource for managing recurring subscriptions.
-
#preapproval_plan ⇒ PreapprovalPlan
Resource for managing subscription plan templates.
-
#preference ⇒ Preference
Resource for Checkout Pro payment preferences.
-
#refund ⇒ Refund
Resource for issuing full or partial refunds on payments.
-
#request_options ⇒ RequestOptions
Returns the current request options, ensuring the access token is set.
- #request_options=(value) ⇒ Object
-
#user ⇒ User
Resource for retrieving the authenticated user’s profile.
Constructor Details
#initialize(access_token, http_client: nil, request_options: nil) ⇒ SDK
Creates a new SDK instance.
35 36 37 38 39 |
# File 'lib/mercadopago/sdk.rb', line 35 def initialize(access_token, http_client: nil, request_options: nil) self.access_token = access_token self.http_client = http_client.nil? ? HttpClient.new : http_client self. = .nil? ? RequestOptions.new(access_token: access_token) : end |
Instance Attribute Details
#access_token ⇒ String
Returns OAuth access token used for API authentication.
27 28 29 |
# File 'lib/mercadopago/sdk.rb', line 27 def access_token @access_token end |
#http_client ⇒ Object
Returns the value of attribute http_client.
27 |
# File 'lib/mercadopago/sdk.rb', line 27 attr_reader :access_token, :http_client |
Instance Method Details
#advanced_payment ⇒ AdvancedPayment
Returns resource for split-payment operations (marketplace).
42 43 44 |
# File 'lib/mercadopago/sdk.rb', line 42 def advanced_payment AdvancedPayment.new(, http_client) end |
#card ⇒ Card
Returns resource for managing stored cards linked to a customer.
47 48 49 |
# File 'lib/mercadopago/sdk.rb', line 47 def card Card.new(, http_client) end |
#card_token ⇒ CardToken
Returns resource for tokenising card data server-side.
52 53 54 |
# File 'lib/mercadopago/sdk.rb', line 52 def card_token CardToken.new(, http_client) end |
#customer ⇒ Customer
Returns resource for managing customer records.
57 58 59 |
# File 'lib/mercadopago/sdk.rb', line 57 def customer Customer.new(, http_client) end |
#disbursement_refund ⇒ DisbursementRefund
Returns resource for refunding advanced-payment disbursements.
62 63 64 |
# File 'lib/mercadopago/sdk.rb', line 62 def disbursement_refund DisbursementRefund.new(, http_client) end |
#identification_type ⇒ IdentificationType
Returns resource for listing supported ID document types.
72 73 74 |
# File 'lib/mercadopago/sdk.rb', line 72 def identification_type IdentificationType.new(, http_client) end |
#merchant_order ⇒ MerchantOrder
Returns resource for grouping payments into merchant orders.
77 78 79 |
# File 'lib/mercadopago/sdk.rb', line 77 def merchant_order MerchantOrder.new(, http_client) end |
#order ⇒ Order
Returns resource for creating and managing orders (Checkout API).
112 113 114 |
# File 'lib/mercadopago/sdk.rb', line 112 def order Order.new(, http_client) end |
#order_transaction ⇒ OrderTransaction
Returns resource for managing transactions within an order.
117 118 119 |
# File 'lib/mercadopago/sdk.rb', line 117 def order_transaction OrderTransaction.new(, http_client) end |
#payment ⇒ Payment
Returns resource for creating, searching, and managing payments.
82 83 84 |
# File 'lib/mercadopago/sdk.rb', line 82 def payment Payment.new(, http_client) end |
#payment_methods ⇒ PaymentMethods
Returns resource for listing available payment methods.
87 88 89 |
# File 'lib/mercadopago/sdk.rb', line 87 def payment_methods PaymentMethods.new(, http_client) end |
#preapproval ⇒ Preapproval
Returns resource for managing recurring subscriptions.
102 103 104 |
# File 'lib/mercadopago/sdk.rb', line 102 def preapproval Preapproval.new(, http_client) end |
#preapproval_plan ⇒ PreapprovalPlan
Returns resource for managing subscription plan templates.
107 108 109 |
# File 'lib/mercadopago/sdk.rb', line 107 def preapproval_plan PreapprovalPlan.new(, http_client) end |
#preference ⇒ Preference
Returns resource for Checkout Pro payment preferences.
92 93 94 |
# File 'lib/mercadopago/sdk.rb', line 92 def preference Preference.new(, http_client) end |
#refund ⇒ Refund
Returns resource for issuing full or partial refunds on payments.
97 98 99 |
# File 'lib/mercadopago/sdk.rb', line 97 def refund Refund.new(, http_client) end |
#request_options ⇒ RequestOptions
Returns the current request options, ensuring the access token is set.
If the stored request options have a nil access token, the SDK’s access token is injected automatically.
151 152 153 154 |
# File 'lib/mercadopago/sdk.rb', line 151 def @request_options.access_token = @access_token if @request_options.access_token.nil? @request_options end |
#request_options=(value) ⇒ Object
139 140 141 142 143 |
# File 'lib/mercadopago/sdk.rb', line 139 def (value) raise TypeError, 'Param request_options must be a RequestOptions object' unless value.is_a?(RequestOptions) @request_options = value end |