class PayPal::SDK::Subscriptions::Subscription
developer.paypal.com/docs/api/subscriptions/v1/#subscriptions developer.paypal.com/docs/api/subscriptions/v1/#definition-subscription
Public Class Methods
path(resource_id = nil)
click to toggle source
# File lib/paypal-sdk/subscriptions/subscription.rb, line 6 def self.path(resource_id = nil) "v1/billing/subscriptions/#{resource_id}" end
Public Instance Methods
activate()
click to toggle source
# File lib/paypal-sdk/subscriptions/subscription.rb, line 98 def activate commit("#{path(id)}/activate") end
cancel()
click to toggle source
# File lib/paypal-sdk/subscriptions/subscription.rb, line 103 def cancel commit("#{path(id)}/cancel") end
capture(note, amount)
click to toggle source
@return [Transaction] Transaction
info
# File lib/paypal-sdk/subscriptions/subscription.rb, line 109 def capture(note, amount) payload = { amount: amount, note: note, capture_type: 'OUTSTANDING_BALANCE' } response = api.post("#{path(id)}/capture", payload, http_header) transaction = Transaction.new(response) transaction.merge!(response) transaction.raise_error! transaction end
suspend(note)
click to toggle source
# File lib/paypal-sdk/subscriptions/subscription.rb, line 121 def suspend(note) commit("#{path(id)}/suspend", reason: note) end
transactions(options = {})
click to toggle source
option :start_time [Time|String] (required) option :end_time [Time|String] (default: now)
# File lib/paypal-sdk/subscriptions/subscription.rb, line 147 def transactions(options = {}) options[:start_time] ||= create_time options[:end_time] ||= Time.now.utc start_time = DateTime.parse(options[:start_time].to_s).strftime('%Y-%m-%dT%H:%M:%S.%L%:z') end_time = DateTime.parse(options[:end_time].to_s).strftime('%Y-%m-%dT%H:%M:%S.%L%:z') response = api.get("#{path(id)}/transactions", start_time: start_time, end_time: end_time) page = Transaction::Page.new(response) page.merge!(response) page.raise_error! page end