Class: KillBillClient::Model::Subscription
- Inherits:
-
SubscriptionAttributes
- Object
- Resource
- SubscriptionAttributes
- KillBillClient::Model::Subscription
- Includes:
- AuditLogWithHistoryHelper, CustomFieldHelper, TagHelper
- Defined in:
- lib/killbill_client/models/subscription.rb
Constant Summary collapse
- KILLBILL_API_ENTITLEMENT_PREFIX =
"#{KILLBILL_API_PREFIX}/subscriptions"
Constants included from TagHelper
TagHelper::AUTO_INVOICING_OFF_ID, TagHelper::AUTO_PAY_OFF_ID, TagHelper::MANUAL_PAY_ID, TagHelper::OVERDUE_ENFORCEMENT_OFF_ID, TagHelper::TEST_ID, TagHelper::WRITTEN_OFF_ID
Class Method Summary collapse
- .event_audit_logs_with_history(event_id, options = {}) ⇒ Object
- .find_by_external_key(external_key, options = {}) ⇒ Object
- .find_by_id(subscription_id, options = {}) ⇒ Object
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, target_phase_type = 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.
-
#create_entitlement_with_add_on(entitlements, entitlement_date, billing_date, migrated = false, rename_key_if_exists_and_unused = true, call_completion_sec = nil, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Create an entitlement with addOn products.
-
#set_blocking_state(state_name, service, is_block_change, is_block_entitlement, is_block_billing, requested_date = nil, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Block a Subscription.
-
#uncancel(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Uncancel a future cancelled entitlement.
-
#undo_change_plan(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Undo a pending change plan on an 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 AuditLogWithHistoryHelper
Methods included from CustomFieldHelper
Methods included from TagHelper
#add_tag, #add_tag_from_definition_id, #control_tag?, included, #remove_tag, #remove_tag_from_definition_id, #set_tags
Class Method Details
.event_audit_logs_with_history(event_id, options = {}) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/killbill_client/models/subscription.rb', line 36 def event_audit_logs_with_history(event_id, = {}) get "#{KILLBILL_API_ENTITLEMENT_PREFIX}/events/#{event_id}/auditLogsWithHistory", {}, , AuditLog end |
.find_by_external_key(external_key, options = {}) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/killbill_client/models/subscription.rb', line 26 def find_by_external_key(external_key, = {}) params = {} params[:externalKey] = external_key get "#{KILLBILL_API_ENTITLEMENT_PREFIX}", params, end |
.find_by_id(subscription_id, options = {}) ⇒ Object
20 21 22 23 24 |
# File 'lib/killbill_client/models/subscription.rb', line 20 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
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/killbill_client/models/subscription.rb', line 106 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, target_phase_type = 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
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/killbill_client/models/subscription.rb', line 76 def change_plan(input, user = nil, reason = nil, comment = nil, requested_date = nil, billing_policy = nil, target_phase_type = 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 input[:phaseType] = target_phase_type self.class.put "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{@subscription_id}", input.to_json, params, { :user => user, :reason => reason, :comment => comment, }.merge() self.class.find_by_id(@subscription_id, ) end |
#create(user = nil, reason = nil, comment = nil, requested_date = nil, call_completion = false, options = {}) ⇒ Object
Create a new entitlement
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/killbill_client/models/subscription.rb', line 49 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 |
#create_entitlement_with_add_on(entitlements, entitlement_date, billing_date, migrated = false, rename_key_if_exists_and_unused = true, call_completion_sec = nil, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Create an entitlement with addOn products
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 |
# File 'lib/killbill_client/models/subscription.rb', line 187 def create_entitlement_with_add_on(entitlements, entitlement_date, billing_date, migrated = false, rename_key_if_exists_and_unused = true, call_completion_sec = nil, user = nil, reason = nil, comment = nil, = {}) params = {} params[:entitlementDate] = entitlement_date if entitlement_date params[:billingDate] = billing_date if billing_date params[:migrated] = migrated params[:renameKeyIfExistsAndUnused] = rename_key_if_exists_and_unused params[:callCompletion] = true unless call_completion_sec.nil? params[:callTimeoutSec] = call_completion_sec unless call_completion_sec.nil? self.class.post "#{KILLBILL_API_ENTITLEMENT_PREFIX}/createSubscriptionWithAddOns", entitlements.to_json, params, { :user => user, :reason => reason, :comment => comment, }.merge() end |
#set_blocking_state(state_name, service, is_block_change, is_block_entitlement, is_block_billing, requested_date = nil, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Block a Subscription
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/killbill_client/models/subscription.rb', line 161 def set_blocking_state(state_name, service, is_block_change, is_block_entitlement, is_block_billing, requested_date = nil, user = nil, reason = nil, comment = nil, = {}) body = KillBillClient::Model::BlockingStateAttributes.new body.state_name = state_name body.service = service body.is_block_change = is_block_change body.is_block_entitlement = is_block_entitlement body.is_block_billing = is_block_billing body.type = "SUBSCRIPTION" params = {} params[:requestedDate] = requested_date unless requested_date.nil? self.class.post "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}/block", body.to_json, params, { :user => user, :reason => reason, :comment => comment, }.merge() end |
#uncancel(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Uncancel a future cancelled entitlement
126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/killbill_client/models/subscription.rb', line 126 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 |
#undo_change_plan(user = nil, reason = nil, comment = nil, options = {}) ⇒ Object
Undo a pending change plan on an entitlement
209 210 211 212 213 214 215 216 217 218 219 |
# File 'lib/killbill_client/models/subscription.rb', line 209 def undo_change_plan(user = nil, reason = nil, comment = nil, = {}) self.class.put "#{KILLBILL_API_ENTITLEMENT_PREFIX}/#{subscription_id}/undoChangePlan", {}, {}, { :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
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/killbill_client/models/subscription.rb', line 141 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 |