Class: Stigg::Resources::V1::Subscriptions
- Inherits:
-
Object
- Object
- Stigg::Resources::V1::Subscriptions
- Defined in:
- lib/stigg/resources/v1/subscriptions.rb,
lib/stigg/resources/v1/subscriptions/usage.rb,
lib/stigg/resources/v1/subscriptions/invoice.rb,
lib/stigg/resources/v1/subscriptions/future_update.rb
Defined Under Namespace
Classes: FutureUpdate, Invoice, Usage
Instance Attribute Summary collapse
-
#future_update ⇒ Stigg::Resources::V1::Subscriptions::FutureUpdate
readonly
Operations related to subscriptions.
-
#invoice ⇒ Stigg::Resources::V1::Subscriptions::Invoice
readonly
Operations related to subscriptions.
-
#usage ⇒ Stigg::Resources::V1::Subscriptions::Usage
readonly
Operations related to subscriptions.
Instance Method Summary collapse
-
#cancel(id, cancellation_action: nil, cancellation_time: nil, end_date: nil, prorate: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Cancels an active subscription, either immediately or at a specified time such as end of billing period.
-
#delegate(id, target_customer_id:, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionDelegateParams for more details.
-
#import(subscriptions:, integration_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionImportResponse
Imports multiple subscriptions in bulk.
-
#initialize(client:) ⇒ Subscriptions
constructor
private
A new instance of Subscriptions.
-
#list(after: nil, before: nil, created_at: nil, customer_id: nil, limit: nil, plan_id: nil, pricing_type: nil, resource_id: nil, status: nil, request_options: {}) ⇒ Stigg::Internal::MyCursorIDPage<Stigg::Models::V1::SubscriptionListResponse>
Some parameter documentations has been truncated, see Models::V1::SubscriptionListParams for more details.
-
#migrate(id, subscription_migration_time: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Migrates a subscription to the latest published version of its plan or add-ons.
-
#preview(customer_id:, plan_id:, addons: nil, applied_coupon: nil, billable_features: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, charges: nil, paying_customer_id: nil, resource_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionPreviewResponse
Previews the pricing impact of creating or updating a subscription without making changes.
-
#provision(customer_id:, plan_id:, id: nil, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_id: nil, billing_information: nil, billing_period: nil, budget: nil, charges: nil, checkout_options: nil, entitlements: nil, metadata: nil, minimum_spend: nil, paying_customer_id: nil, payment_collection_method: nil, price_overrides: nil, resource_id: nil, salesforce_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionProvisionResponse
Creates a new subscription for an existing customer.
-
#retrieve(id, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Retrieves a subscription by its unique identifier, including plan details, billing period, status, and add-ons.
-
#transfer(id, destination_resource_id:, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Transfers a subscription to a different resource ID.
-
#update(id, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, budget: nil, charges: nil, entitlements: nil, metadata: nil, minimum_spend: nil, price_overrides: nil, promotion_code: nil, schedule_strategy: nil, trial_end_date: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Updates an active subscription’s properties including billing period, add-ons, unit quantities, and discounts.
Constructor Details
#initialize(client:) ⇒ Subscriptions
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Subscriptions.
406 407 408 409 410 411 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 406 def initialize(client:) @client = client @future_update = Stigg::Resources::V1::Subscriptions::FutureUpdate.new(client: client) @usage = Stigg::Resources::V1::Subscriptions::Usage.new(client: client) @invoice = Stigg::Resources::V1::Subscriptions::Invoice.new(client: client) end |
Instance Attribute Details
#future_update ⇒ Stigg::Resources::V1::Subscriptions::FutureUpdate (readonly)
Operations related to subscriptions
9 10 11 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 9 def future_update @future_update end |
#invoice ⇒ Stigg::Resources::V1::Subscriptions::Invoice (readonly)
Operations related to subscriptions
17 18 19 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 17 def invoice @invoice end |
#usage ⇒ Stigg::Resources::V1::Subscriptions::Usage (readonly)
Operations related to subscriptions
13 14 15 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 13 def usage @usage end |
Instance Method Details
#cancel(id, cancellation_action: nil, cancellation_time: nil, end_date: nil, prorate: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Cancels an active subscription, either immediately or at a specified time such as end of billing period.
163 164 165 166 167 168 169 170 171 172 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 163 def cancel(id, params = {}) parsed, = Stigg::V1::SubscriptionCancelParams.dump_request(params) @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/cancel", id], body: parsed, model: Stigg::V1::Subscription, options: ) end |
#delegate(id, target_customer_id:, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Some parameter documentations has been truncated, see Models::V1::SubscriptionDelegateParams for more details.
Delegates the payment responsibility of a subscription to a different customer. The delegated customer will be billed for this subscription.
191 192 193 194 195 196 197 198 199 200 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 191 def delegate(id, params) parsed, = Stigg::V1::SubscriptionDelegateParams.dump_request(params) @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/delegate", id], body: parsed, model: Stigg::V1::Subscription, options: ) end |
#import(subscriptions:, integration_id: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionImportResponse
Imports multiple subscriptions in bulk. Used for migrating subscription data from external systems.
216 217 218 219 220 221 222 223 224 225 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 216 def import(params) parsed, = Stigg::V1::SubscriptionImportParams.dump_request(params) @client.request( method: :post, path: "api/v1/subscriptions/import", body: parsed, model: Stigg::Models::V1::SubscriptionImportResponse, options: ) end |
#list(after: nil, before: nil, created_at: nil, customer_id: nil, limit: nil, plan_id: nil, pricing_type: nil, resource_id: nil, status: nil, request_options: {}) ⇒ Stigg::Internal::MyCursorIDPage<Stigg::Models::V1::SubscriptionListResponse>
Some parameter documentations has been truncated, see Models::V1::SubscriptionListParams for more details.
Retrieves a paginated list of subscriptions, with optional filters for customer, status, and plan.
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 124 def list(params = {}) parsed, = Stigg::V1::SubscriptionListParams.dump_request(params) query = Stigg::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "api/v1/subscriptions", query: query.transform_keys( created_at: "createdAt", customer_id: "customerId", plan_id: "planId", pricing_type: "pricingType", resource_id: "resourceId" ), page: Stigg::Internal::MyCursorIDPage, model: Stigg::Models::V1::SubscriptionListResponse, options: ) end |
#migrate(id, subscription_migration_time: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Migrates a subscription to the latest published version of its plan or add-ons. Handles prorated charges or credits automatically.
241 242 243 244 245 246 247 248 249 250 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 241 def migrate(id, params = {}) parsed, = Stigg::V1::SubscriptionMigrateParams.dump_request(params) @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/migrate", id], body: parsed, model: Stigg::V1::Subscription, options: ) end |
#preview(customer_id:, plan_id:, addons: nil, applied_coupon: nil, billable_features: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, charges: nil, paying_customer_id: nil, resource_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionPreviewResponse
Previews the pricing impact of creating or updating a subscription without making changes. Returns estimated costs, taxes, and proration details.
294 295 296 297 298 299 300 301 302 303 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 294 def preview(params) parsed, = Stigg::V1::SubscriptionPreviewParams.dump_request(params) @client.request( method: :post, path: "api/v1/subscriptions/preview", body: parsed, model: Stigg::Models::V1::SubscriptionPreviewResponse, options: ) end |
#provision(customer_id:, plan_id:, id: nil, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_country_code: nil, billing_cycle_anchor: nil, billing_id: nil, billing_information: nil, billing_period: nil, budget: nil, charges: nil, checkout_options: nil, entitlements: nil, metadata: nil, minimum_spend: nil, paying_customer_id: nil, payment_collection_method: nil, price_overrides: nil, resource_id: nil, salesforce_id: nil, schedule_strategy: nil, start_date: nil, trial_override_configuration: nil, unit_quantity: nil, request_options: {}) ⇒ Stigg::Models::V1::SubscriptionProvisionResponse
Creates a new subscription for an existing customer. When payment is required and no payment method exists, returns a checkout URL.
367 368 369 370 371 372 373 374 375 376 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 367 def provision(params) parsed, = Stigg::V1::SubscriptionProvisionParams.dump_request(params) @client.request( method: :post, path: "api/v1/subscriptions", body: parsed, model: Stigg::Models::V1::SubscriptionProvisionResponse, options: ) end |
#retrieve(id, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Retrieves a subscription by its unique identifier, including plan details, billing period, status, and add-ons.
31 32 33 34 35 36 37 38 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 31 def retrieve(id, params = {}) @client.request( method: :get, path: ["api/v1/subscriptions/%1$s", id], model: Stigg::V1::Subscription, options: params[:request_options] ) end |
#transfer(id, destination_resource_id:, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Transfers a subscription to a different resource ID. Used for multi-resource products where subscriptions apply to specific entities like websites or apps.
392 393 394 395 396 397 398 399 400 401 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 392 def transfer(id, params) parsed, = Stigg::V1::SubscriptionTransferParams.dump_request(params) @client.request( method: :post, path: ["api/v1/subscriptions/%1$s/transfer", id], body: parsed, model: Stigg::V1::Subscription, options: ) end |
#update(id, addons: nil, applied_coupon: nil, await_payment_confirmation: nil, billing_cycle_anchor: nil, billing_information: nil, billing_period: nil, budget: nil, charges: nil, entitlements: nil, metadata: nil, minimum_spend: nil, price_overrides: nil, promotion_code: nil, schedule_strategy: nil, trial_end_date: nil, request_options: {}) ⇒ Stigg::Models::V1::Subscription
Updates an active subscription’s properties including billing period, add-ons, unit quantities, and discounts.
82 83 84 85 86 87 88 89 90 91 |
# File 'lib/stigg/resources/v1/subscriptions.rb', line 82 def update(id, params = {}) parsed, = Stigg::V1::SubscriptionUpdateParams.dump_request(params) @client.request( method: :patch, path: ["api/v1/subscriptions/%1$s", id], body: parsed, model: Stigg::V1::Subscription, options: ) end |