Class: KillBillClient::Model::Subscription
- Inherits:
-
SubscriptionAttributes
- Object
- Resource
- SubscriptionAttributes
- KillBillClient::Model::Subscription
- Includes:
- CustomFieldHelper
- Defined in:
- lib/killbill_client/models/subscription.rb
Constant Summary collapse
- KILLBILL_API_ENTITLEMENT_PREFIX =
"#{KILLBILL_API_PREFIX}/subscriptions"
Constants inherited from Resource
Resource::KILLBILL_API_PAGINATION_PREFIX, Resource::KILLBILL_API_PREFIX
Instance Attribute Summary
Attributes inherited from Resource
#clazz, #etag, #response, #session_id, #uri
Class Method Summary collapse
Instance Method Summary collapse
-
#cancel(user = nil, reason = nil, comment = nil, requested_date = nil, entitlementPolicy = nil, billing_policy = nil, use_requested_date_for_billing = nil, options = {}) ⇒ Object
Cancel the entitlement at the requested date.
-
#change_plan(input, user = nil, reason = nil, comment = nil, requested_date = nil, billing_policy = nil, call_completion = false, options = {}) ⇒ Object
Change the plan of the existing Entitlement.
-
#create(user = nil, reason = nil, comment = nil, requested_date = nil, call_completion = false, options = {}) ⇒ Object
Create a new entitlement.
-
#uncancel(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Uncancel a future cancelled entitlement.
-
#update_bcd(user = nil, reason = nil, comment = nil, effective_from_date = nil, force_past_effective_date = nil, options = {}) ⇒ Object
Update Subscription BCD.
Methods included from CustomFieldHelper
Methods inherited from Resource
#==, #_to_hash, attribute, create_alias, delete, extract_session_id, from_json, from_response, get, has_many, has_one, #hash, head, #initialize, instantiate_record_from_json, post, put, #refresh, require_multi_tenant_options!, #to_hash, #to_json
Constructor Details
This class inherits a constructor from KillBillClient::Model::Resource
Class Method Details
.find_by_id(subscription_id, options = {}) ⇒ Object
15 16 17 18 19 |
# File 'lib/killbill_client/models/subscription.rb', line 15 def find_by_id(subscription_id, = {}) get "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}", {}, end |
Instance Method Details
#cancel(user = nil, reason = nil, comment = nil, requested_date = nil, entitlementPolicy = nil, billing_policy = nil, use_requested_date_for_billing = nil, options = {}) ⇒ Object
Cancel the entitlement at the requested date
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/killbill_client/models/subscription.rb', line 81 def cancel(user = nil, reason = nil, comment = nil, requested_date = nil, entitlementPolicy = nil, billing_policy = nil, use_requested_date_for_billing = nil, = {}) params = {} params[:requestedDate] = requested_date unless requested_date.nil? params[:billingPolicy] = billing_policy unless billing_policy.nil? params[:entitlementPolicy] = entitlementPolicy unless entitlementPolicy.nil? params[:useRequestedDateForBilling] = use_requested_date_for_billing unless use_requested_date_for_billing.nil? self.class.delete "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}", {}, params, { :user => user, :reason => reason, :comment => comment, }.merge() end |
#change_plan(input, user = nil, reason = nil, comment = nil, requested_date = nil, billing_policy = nil, call_completion = false, options = {}) ⇒ Object
Change the plan of the existing Entitlement
@ call_completion : whether the call should wait for invoice/payment to be completed before calls return
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/killbill_client/models/subscription.rb', line 53 def change_plan(input, user = nil, reason = nil, comment = nil, requested_date = nil, billing_policy = nil, call_completion = false, = {}) params = {} params[:callCompletion] = call_completion params[:requestedDate] = requested_date unless requested_date.nil? params[:billingPolicy] = billing_policy unless billing_policy.nil? # Make sure account_id is set input[:accountId] = @account_id input[:productCategory] = @product_category return self.class.put "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{@subscription_id}", input.to_json, params, { :user => user, :reason => reason, :comment => comment, }.merge() end |
#create(user = nil, reason = nil, comment = nil, requested_date = nil, call_completion = false, options = {}) ⇒ Object
Create a new entitlement
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/killbill_client/models/subscription.rb', line 26 def create(user = nil, reason = nil, comment = nil, requested_date = nil, call_completion = false, = {}) params = {} params[:callCompletion] = call_completion params[:entitlementDate] = requested_date unless requested_date.nil? params[:billingDate] = requested_date unless requested_date.nil? created_entitlement = self.class.post KILLBILL_API_ENTITLEMENT_PREFIX, to_json, params, { :user => user, :reason => reason, :comment => comment, }.merge() created_entitlement.refresh() end |
#uncancel(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Uncancel a future cancelled entitlement
101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/killbill_client/models/subscription.rb', line 101 def uncancel(user = nil, reason = nil, comment = nil, = {}) params = {} self.class.put "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}/uncancel", nil, params, { :user => user, :reason => reason, :comment => comment, }.merge() end |
#update_bcd(user = nil, reason = nil, comment = nil, effective_from_date = nil, force_past_effective_date = nil, options = {}) ⇒ Object
Update Subscription BCD
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/killbill_client/models/subscription.rb', line 116 def update_bcd(user = nil, reason = nil, comment = nil, effective_from_date = nil, force_past_effective_date = nil, = {}) params = {} params[:effectiveFromDate] = effective_from_date unless effective_from_date.nil? params[:forceNewBcdWithPastEffectiveDate] = force_past_effective_date unless force_past_effective_date.nil? return self.class.put "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}/bcd", self.to_json, params, { :user => user, :reason => reason, :comment => comment, }.merge() end |