Add multiple subscription functionality - first pass

This commit is contained in:
Conrad Decker 2013-12-20 13:59:02 -05:00 committed by Pat Allan
parent d7ddf47d57
commit 4d5f45a222
4 changed files with 27 additions and 10 deletions

View File

@ -36,6 +36,7 @@ require 'stripe/event'
require 'stripe/transfer'
require 'stripe/recipient'
require 'stripe/card'
require 'stripe/subscription'
require 'stripe/application_fee'
# Errors

View File

@ -25,17 +25,17 @@ module Stripe
Charge.all({ :customer => id }, @api_key)
end
def cancel_subscription(params={})
response, api_key = Stripe.request(:delete, subscription_url, @api_key, params)
refresh_from({ :subscription => response }, api_key, true)
subscription
end
#def cancel_subscription(params={})
# response, api_key = Stripe.request(:delete, subscription_url, @api_key, params)
# refresh_from({ :subscription => response }, api_key, true)
# subscription
#end
def update_subscription(params)
response, api_key = Stripe.request(:post, subscription_url, @api_key, params)
refresh_from({ :subscription => response }, api_key, true)
subscription
end
#def update_subscription(params)
# response, api_key = Stripe.request(:post, subscription_url, @api_key, params)
# refresh_from({ :subscription => response }, api_key, true)
# subscription
#end
def delete_discount
Stripe.request(:delete, discount_url, @api_key)

View File

@ -0,0 +1,15 @@
module Stripe
class Subscription < APIResource
include Stripe::APIOperations::Update
include Stripe::APIOperations::Delete
def url
"#{Customer.url}/#{CGI.escape(customer)}/subscriptions/#{CGI.escape(id)}"
end
def self.retrieve(id, api_key=nil)
raise NotImplementedError.new("Subscriptions cannot be retrieved without a customer ID. Retrieve a subscription using customer.subscriptions.retrieve('subscription_id')")
end
end
end

View File

@ -29,6 +29,7 @@ module Stripe
'transfer' => Transfer,
'recipient' => Recipient,
'card' => Card,
'subscription' => Subscription,
'list' => ListObject,
'application_fee' => ApplicationFee
}