Class: Mercadopago::Subscription
- Defined in:
- lib/mercadopago/resources/subscription.rb
Overview
Manages plan-based recurring subscriptions.
A subscription ties a payer to a PreapprovalPlan, authorising
MercadoPago to charge them periodically according to the plan's terms.
Requires preapproval_plan_id when creating a new subscription.
Instance Method Summary collapse
-
#create(subscription_data, request_options: nil) ⇒ Hash{Symbol => Object}
Creates a new plan-based subscription.
-
#get(subscription_id, request_options: nil) ⇒ Hash{Symbol => Object}
Retrieves a single subscription by ID.
-
#search(filters: nil, request_options: nil) ⇒ Hash{Symbol => Object}
Searches subscriptions matching the given filters.
-
#update(subscription_id, subscription_data, request_options: nil) ⇒ Hash{Symbol => Object}
Updates an existing subscription (e.g. pause, resume, or cancel).
Methods inherited from MPBase
#_check_headers, #_check_request_options, #_delete, #_get, #_path_param, #_post, #_put, #initialize
Constructor Details
This class inherits a constructor from Mercadopago::MPBase
Instance Method Details
#create(subscription_data, request_options: nil) ⇒ Hash{Symbol => Object}
Creates a new plan-based subscription.
43 44 45 46 47 |
# File 'lib/mercadopago/resources/subscription.rb', line 43 def create(subscription_data, request_options: nil) raise TypeError, 'Param subscription_data must be a Hash' unless subscription_data.is_a?(Hash) _post(uri: '/preapproval/', data: subscription_data, request_options: ) end |
#get(subscription_id, request_options: nil) ⇒ Hash{Symbol => Object}
Retrieves a single subscription by ID.
32 33 34 |
# File 'lib/mercadopago/resources/subscription.rb', line 32 def get(subscription_id, request_options: nil) _get(uri: "/preapproval/#{_path_param(subscription_id)}", request_options: ) end |
#search(filters: nil, request_options: nil) ⇒ Hash{Symbol => Object}
Searches subscriptions matching the given filters.
20 21 22 23 24 |
# File 'lib/mercadopago/resources/subscription.rb', line 20 def search(filters: nil, request_options: nil) raise TypeError, 'Param filters must be a Hash' unless filters.nil? || filters.is_a?(Hash) _get(uri: '/preapproval/search', filters: filters, request_options: ) end |
#update(subscription_id, subscription_data, request_options: nil) ⇒ Hash{Symbol => Object}
Updates an existing subscription (e.g. pause, resume, or cancel).
57 58 59 60 61 |
# File 'lib/mercadopago/resources/subscription.rb', line 57 def update(subscription_id, subscription_data, request_options: nil) raise TypeError, 'Param subscription_data must be a Hash' unless subscription_data.is_a?(Hash) _put(uri: "/preapproval/#{_path_param(subscription_id)}", data: subscription_data, request_options: ) end |