class Pin::Subscription
This class models Pins Subscription
API
Public Class Methods
Lists all subscriptions for your account args: page (Fixnum), pagination (Boolean) returns: a collection of subscription objects
if pagination is passed, access the response hash with [:response] and the pagination hash with [:pagination]
www.pinpayments.com/developers/api-reference/subscriptions#get-subscriptions
# File lib/pin_up/subscription.rb, line 14 def self.all(page = nil, pagination = false) build_collection_response(make_request(:get, { url: "subscriptions?page=#{page}" }), pagination) end
Create a subscription given subscription details args: options (Hash) returns: a subscription object www.pinpayments.com/developers/api-reference/subscriptions#post-subscriptions
# File lib/pin_up/subscription.rb, line 23 def self.create(options = {}) build_response(make_request(:post, { url: 'subscriptions', options: options })) end
Delete (cancel) a subscription given a token args: token (String) returns: nil www.pinpayments.com/developers/api-reference/subscriptions#delete-subscription
# File lib/pin_up/subscription.rb, line 58 def self.delete(token) build_response(make_request(:delete, { url: "subscriptions/#{token}" })) end
Find a subscription for your account given a token args: token (String) returns: a subscription object www.pinpayments.com/developers/api-reference/subscriptions#get-subscription
# File lib/pin_up/subscription.rb, line 32 def self.find(token) build_response(make_request(:get, { url: "subscriptions/#{token}" })) end
Fetch all History for a subscription given a token args: token (String) returns: nil www.pinpayments.com/developers/api-reference/subscriptions#history-subscription
# File lib/pin_up/subscription.rb, line 76 def self.history(token, page = nil, pagination = false) build_collection_response(make_request(:get, { url: "subscriptions/#{token}/history?page=#{page}" }), pagination) end
Reactivate a subscription given a token args: token (String) returns: nil www.pinpayments.com/developers/api-reference/subscriptions#reactivate-subscription
# File lib/pin_up/subscription.rb, line 67 def self.reactivate(token) build_response(make_request(:put, { url: "subscriptions/#{token}/reactivate" })) end
Update a subscription for your account given a token and any of: email, card (hash),card_token args: token (String), options (Hash) returns: a subscription object pin.net.au/docs/api/subscriptions#put-subscription NB: When providing a card (hash), you need to specify the full list of details.
# File lib/pin_up/subscription.rb, line 44 def self.update(token, card_token = nil) options = unless card_token.empty? { card_token: card_token } else card_token end build_response(make_request(:put, { url: "subscriptions/#{token}", options: options })) end