class PensioAPI::Subscription
Public Class Methods
new(transaction)
click to toggle source
# File lib/pensio_api/subscription.rb, line 10 def initialize(transaction) @transaction = transaction end
setup(options={})
click to toggle source
# File lib/pensio_api/subscription.rb, line 3 def self.setup(options={}) request = Request.new('/merchant/API/setupSubscription', options) if request.response_contains?('Transactions') Transaction.new(request.body['Transactions']['Transaction']) end end
Public Instance Methods
charge(options={})
click to toggle source
# File lib/pensio_api/subscription.rb, line 14 def charge(options={}) request = Request.new('/merchant/API/chargeSubscription', options.merge(subscription_options)) Responses::SubscriptionCharge.new(request) end
reserve_charge(options={})
click to toggle source
# File lib/pensio_api/subscription.rb, line 19 def reserve_charge(options={}) request = Request.new('/merchant/API/reserveSubscriptionCharge', options.merge(subscription_options)) Responses::SubscriptionCharge.new(request) end
Private Instance Methods
subscription_options()
click to toggle source
# File lib/pensio_api/subscription.rb, line 26 def subscription_options { transaction_id: @transaction.id } end