class Pin::Subscription

This class models Pins Subscription API

Public Class Methods

all(page = nil, pagination = false) click to toggle source

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(options = {}) click to toggle source

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(token) click to toggle source

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(token) click to toggle source

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
history(token, page = nil, pagination = false) click to toggle source

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(token) click to toggle source

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(token, card_token = nil) click to toggle source

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