chargebee 2.49.0 → 2.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +47 -0
- data/Gemfile.lock +1 -1
- data/README.md +0 -1
- data/chargebee.gemspec +4 -2
- data/lib/chargebee/environment.rb +8 -1
- data/lib/chargebee/list_result.rb +9 -5
- data/lib/chargebee/models/addon.rb +23 -7
- data/lib/chargebee/models/address.rb +6 -2
- data/lib/chargebee/models/attached_item.rb +16 -6
- data/lib/chargebee/models/business_entity.rb +6 -2
- data/lib/chargebee/models/card.rb +15 -5
- data/lib/chargebee/models/comment.rb +12 -4
- data/lib/chargebee/models/configuration.rb +3 -1
- data/lib/chargebee/models/coupon.rb +40 -10
- data/lib/chargebee/models/coupon_code.rb +12 -4
- data/lib/chargebee/models/coupon_set.rb +23 -7
- data/lib/chargebee/models/credit_note.rb +44 -16
- data/lib/chargebee/models/currency.rb +18 -6
- data/lib/chargebee/models/customer.rb +83 -25
- data/lib/chargebee/models/customer_entitlement.rb +3 -1
- data/lib/chargebee/models/differential_price.rb +19 -6
- data/lib/chargebee/models/entitlement.rb +6 -2
- data/lib/chargebee/models/entitlement_override.rb +6 -2
- data/lib/chargebee/models/estimate.rb +64 -20
- data/lib/chargebee/models/event.rb +7 -3
- data/lib/chargebee/models/export.rb +54 -18
- data/lib/chargebee/models/feature.rb +24 -8
- data/lib/chargebee/models/gift.rb +23 -7
- data/lib/chargebee/models/hosted_page.rb +68 -23
- data/lib/chargebee/models/in_app_subscription.rb +12 -4
- data/lib/chargebee/models/invoice.rb +129 -44
- data/lib/chargebee/models/invoice_estimate.rb +5 -1
- data/lib/chargebee/models/item.rb +18 -6
- data/lib/chargebee/models/item_entitlement.rb +12 -4
- data/lib/chargebee/models/item_family.rb +17 -6
- data/lib/chargebee/models/item_price.rb +24 -8
- data/lib/chargebee/models/non_subscription.rb +3 -1
- data/lib/chargebee/models/omnichannel_subscription.rb +9 -3
- data/lib/chargebee/models/order.rb +36 -12
- data/lib/chargebee/models/payment_intent.rb +9 -3
- data/lib/chargebee/models/payment_schedule_scheme.rb +9 -3
- data/lib/chargebee/models/payment_source.rb +57 -16
- data/lib/chargebee/models/payment_voucher.rb +12 -4
- data/lib/chargebee/models/plan.rb +23 -7
- data/lib/chargebee/models/portal_session.rb +12 -4
- data/lib/chargebee/models/price_variant.rb +16 -6
- data/lib/chargebee/models/pricing_page_session.rb +6 -2
- data/lib/chargebee/models/promotional_credit.rb +15 -5
- data/lib/chargebee/models/purchase.rb +8 -2
- data/lib/chargebee/models/quote.rb +60 -20
- data/lib/chargebee/models/ramp.rb +15 -5
- data/lib/chargebee/models/recorded_purchase.rb +6 -2
- data/lib/chargebee/models/resource_migration.rb +3 -1
- data/lib/chargebee/models/rule.rb +17 -0
- data/lib/chargebee/models/site_migration_detail.rb +3 -1
- data/lib/chargebee/models/subscription.rb +129 -37
- data/lib/chargebee/models/subscription_entitlement.rb +6 -2
- data/lib/chargebee/models/time_machine.rb +9 -3
- data/lib/chargebee/models/transaction.rb +33 -11
- data/lib/chargebee/models/unbilled_charge.rb +18 -6
- data/lib/chargebee/models/usage.rb +15 -5
- data/lib/chargebee/models/usage_event.rb +24 -0
- data/lib/chargebee/models/virtual_bank_account.rb +18 -6
- data/lib/chargebee/nativeRequest.rb +7 -5
- data/lib/chargebee/request.rb +11 -11
- data/lib/chargebee/result.rb +25 -10
- data/lib/chargebee/util.rb +8 -5
- data/lib/chargebee.rb +3 -1
- metadata +4 -2
data/lib/chargebee/request.rb
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
module ChargeBee
|
2
|
-
class Request
|
2
|
+
class Request
|
3
3
|
|
4
|
-
def self.send_list_request(method, url, params={}, env=nil, headers={})
|
4
|
+
def self.send_list_request(method, url, params={}, env=nil, headers={}, sub_domain=nil, isJsonRequest=nil, jsonKeys={})
|
5
5
|
serialized = {}
|
6
6
|
params.each do |k, v|
|
7
7
|
if(v.kind_of? Array)
|
8
8
|
v = v.to_json
|
9
9
|
end
|
10
10
|
serialized["#{k}"] = v
|
11
|
-
end
|
12
|
-
self.send(method, url, serialized, env, headers)
|
11
|
+
end
|
12
|
+
self.send(method, url, serialized, env, headers, sub_domain, isJsonRequest=nil, jsonKeys={})
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.send(method, url, params={}, env=nil, headers={})
|
15
|
+
def self.send(method, url, params={}, env=nil, headers={}, sub_domain=nil, isJsonRequest=nil, jsonKeys={})
|
16
16
|
env ||= ChargeBee.default_env
|
17
|
-
ser_params = Util.serialize(params)
|
18
|
-
resp, rheaders = NativeRequest.request(method, url, env, ser_params||={}, headers)
|
17
|
+
ser_params = isJsonRequest ? params.to_json : Util.serialize(params, nil, nil, jsonKeys)
|
18
|
+
resp, rheaders, rcode = NativeRequest.request(method, url, env, ser_params||={}, headers, sub_domain, isJsonRequest)
|
19
19
|
if resp.has_key?(:list)
|
20
|
-
ListResult.new(resp[:list], resp[:next_offset], rheaders)
|
21
|
-
else
|
22
|
-
Result.new(resp, rheaders)
|
20
|
+
ListResult.new(resp[:list], resp[:next_offset], rheaders, rcode)
|
21
|
+
else
|
22
|
+
Result.new(resp, rheaders, rcode)
|
23
23
|
end
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
end
|
27
27
|
end
|
data/lib/chargebee/result.rb
CHANGED
@@ -3,15 +3,24 @@ module ChargeBee
|
|
3
3
|
|
4
4
|
IDEMPOTENCY_REPLAYED_HEADER = :chargebee_idempotency_replayed
|
5
5
|
|
6
|
-
def initialize(response, rheaders = nil)
|
6
|
+
def initialize(response, rheaders = nil, http_status_code=nil)
|
7
7
|
@response = response
|
8
8
|
@rheaders = rheaders
|
9
|
+
@http_status_code = http_status_code
|
9
10
|
end
|
10
11
|
|
11
12
|
def get_response_headers()
|
12
13
|
@rheaders
|
13
14
|
end
|
14
15
|
|
16
|
+
def get_raw_response()
|
17
|
+
@response
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_http_status_code()
|
21
|
+
@http_status_code
|
22
|
+
end
|
23
|
+
|
15
24
|
def is_idempotency_replayed()
|
16
25
|
replayed_header = get_response_headers[IDEMPOTENCY_REPLAYED_HEADER]
|
17
26
|
if replayed_header != nil
|
@@ -97,7 +106,7 @@ module ChargeBee
|
|
97
106
|
|
98
107
|
def invoice()
|
99
108
|
invoice = get(:invoice, Invoice,
|
100
|
-
{:line_items => Invoice::LineItem, :discounts => Invoice::Discount, :line_item_discounts => Invoice::LineItemDiscount, :taxes => Invoice::Tax, :line_item_taxes => Invoice::LineItemTax, :line_item_tiers => Invoice::LineItemTier, :linked_payments => Invoice::LinkedPayment, :dunning_attempts => Invoice::DunningAttempt, :applied_credits => Invoice::AppliedCredit, :adjustment_credit_notes => Invoice::AdjustmentCreditNote, :issued_credit_notes => Invoice::IssuedCreditNote, :linked_orders => Invoice::LinkedOrder, :notes => Invoice::Note, :shipping_address => Invoice::ShippingAddress, :statement_descriptor => Invoice::StatementDescriptor, :billing_address => Invoice::BillingAddress, :einvoice => Invoice::Einvoice, :site_details_at_creation => Invoice::SiteDetailsAtCreation, :tax_origin => Invoice::TaxOrigin});
|
109
|
+
{:line_items => Invoice::LineItem, :discounts => Invoice::Discount, :line_item_discounts => Invoice::LineItemDiscount, :taxes => Invoice::Tax, :line_item_taxes => Invoice::LineItemTax, :line_item_credits => Invoice::LineItemCredit, :line_item_tiers => Invoice::LineItemTier, :linked_payments => Invoice::LinkedPayment, :dunning_attempts => Invoice::DunningAttempt, :applied_credits => Invoice::AppliedCredit, :adjustment_credit_notes => Invoice::AdjustmentCreditNote, :issued_credit_notes => Invoice::IssuedCreditNote, :linked_orders => Invoice::LinkedOrder, :notes => Invoice::Note, :shipping_address => Invoice::ShippingAddress, :statement_descriptor => Invoice::StatementDescriptor, :billing_address => Invoice::BillingAddress, :einvoice => Invoice::Einvoice, :site_details_at_creation => Invoice::SiteDetailsAtCreation, :tax_origin => Invoice::TaxOrigin});
|
101
110
|
return invoice;
|
102
111
|
end
|
103
112
|
|
@@ -158,13 +167,13 @@ module ChargeBee
|
|
158
167
|
estimate.init_dependant(@response[:estimate], :subscription_estimate,
|
159
168
|
{:shipping_address => SubscriptionEstimate::ShippingAddress, :contract_term => SubscriptionEstimate::ContractTerm});
|
160
169
|
estimate.init_dependant(@response[:estimate], :invoice_estimate,
|
161
|
-
{:line_items => InvoiceEstimate::LineItem, :discounts => InvoiceEstimate::Discount, :taxes => InvoiceEstimate::Tax, :line_item_taxes => InvoiceEstimate::LineItemTax, :line_item_tiers => InvoiceEstimate::LineItemTier, :line_item_discounts => InvoiceEstimate::LineItemDiscount});
|
170
|
+
{:line_items => InvoiceEstimate::LineItem, :discounts => InvoiceEstimate::Discount, :taxes => InvoiceEstimate::Tax, :line_item_taxes => InvoiceEstimate::LineItemTax, :line_item_tiers => InvoiceEstimate::LineItemTier, :line_item_credits => InvoiceEstimate::LineItemCredit, :line_item_discounts => InvoiceEstimate::LineItemDiscount});
|
162
171
|
estimate.init_dependant(@response[:estimate], :next_invoice_estimate,
|
163
|
-
{:line_items => InvoiceEstimate::LineItem, :discounts => InvoiceEstimate::Discount, :taxes => InvoiceEstimate::Tax, :line_item_taxes => InvoiceEstimate::LineItemTax, :line_item_tiers => InvoiceEstimate::LineItemTier, :line_item_discounts => InvoiceEstimate::LineItemDiscount});
|
172
|
+
{:line_items => InvoiceEstimate::LineItem, :discounts => InvoiceEstimate::Discount, :taxes => InvoiceEstimate::Tax, :line_item_taxes => InvoiceEstimate::LineItemTax, :line_item_tiers => InvoiceEstimate::LineItemTier, :line_item_credits => InvoiceEstimate::LineItemCredit, :line_item_discounts => InvoiceEstimate::LineItemDiscount});
|
164
173
|
estimate.init_dependant_list(@response[:estimate], :subscription_estimates,
|
165
174
|
{:shipping_address => SubscriptionEstimate::ShippingAddress, :contract_term => SubscriptionEstimate::ContractTerm});
|
166
175
|
estimate.init_dependant_list(@response[:estimate], :invoice_estimates,
|
167
|
-
{:line_items => InvoiceEstimate::LineItem, :discounts => InvoiceEstimate::Discount, :taxes => InvoiceEstimate::Tax, :line_item_taxes => InvoiceEstimate::LineItemTax, :line_item_tiers => InvoiceEstimate::LineItemTier, :line_item_discounts => InvoiceEstimate::LineItemDiscount});
|
176
|
+
{:line_items => InvoiceEstimate::LineItem, :discounts => InvoiceEstimate::Discount, :taxes => InvoiceEstimate::Tax, :line_item_taxes => InvoiceEstimate::LineItemTax, :line_item_tiers => InvoiceEstimate::LineItemTier, :line_item_credits => InvoiceEstimate::LineItemCredit, :line_item_discounts => InvoiceEstimate::LineItemDiscount});
|
168
177
|
estimate.init_dependant_list(@response[:estimate], :payment_schedule_estimates,
|
169
178
|
{:schedule_entries => PaymentScheduleEstimate::ScheduleEntry});
|
170
179
|
estimate.init_dependant_list(@response[:estimate], :credit_note_estimates,
|
@@ -461,6 +470,16 @@ module ChargeBee
|
|
461
470
|
return recorded_purchase;
|
462
471
|
end
|
463
472
|
|
473
|
+
def rule()
|
474
|
+
rule = get(:rule, Rule);
|
475
|
+
return rule;
|
476
|
+
end
|
477
|
+
|
478
|
+
def usage_event()
|
479
|
+
usage_event = get(:usage_event, UsageEvent);
|
480
|
+
return usage_event;
|
481
|
+
end
|
482
|
+
|
464
483
|
def advance_invoice_schedules()
|
465
484
|
advance_invoice_schedules = get_list(:advance_invoice_schedules, AdvanceInvoiceSchedule,
|
466
485
|
{:fixed_interval_schedule => AdvanceInvoiceSchedule::FixedIntervalSchedule, :specific_dates_schedule => AdvanceInvoiceSchedule::SpecificDatesSchedule});
|
@@ -475,7 +494,7 @@ module ChargeBee
|
|
475
494
|
|
476
495
|
def invoices()
|
477
496
|
invoices = get_list(:invoices, Invoice,
|
478
|
-
{:line_items => Invoice::LineItem, :discounts => Invoice::Discount, :line_item_discounts => Invoice::LineItemDiscount, :taxes => Invoice::Tax, :line_item_taxes => Invoice::LineItemTax, :line_item_tiers => Invoice::LineItemTier, :linked_payments => Invoice::LinkedPayment, :dunning_attempts => Invoice::DunningAttempt, :applied_credits => Invoice::AppliedCredit, :adjustment_credit_notes => Invoice::AdjustmentCreditNote, :issued_credit_notes => Invoice::IssuedCreditNote, :linked_orders => Invoice::LinkedOrder, :notes => Invoice::Note, :shipping_address => Invoice::ShippingAddress, :statement_descriptor => Invoice::StatementDescriptor, :billing_address => Invoice::BillingAddress, :einvoice => Invoice::Einvoice, :site_details_at_creation => Invoice::SiteDetailsAtCreation, :tax_origin => Invoice::TaxOrigin});
|
497
|
+
{:line_items => Invoice::LineItem, :discounts => Invoice::Discount, :line_item_discounts => Invoice::LineItemDiscount, :taxes => Invoice::Tax, :line_item_taxes => Invoice::LineItemTax, :line_item_credits => Invoice::LineItemCredit, :line_item_tiers => Invoice::LineItemTier, :linked_payments => Invoice::LinkedPayment, :dunning_attempts => Invoice::DunningAttempt, :applied_credits => Invoice::AppliedCredit, :adjustment_credit_notes => Invoice::AdjustmentCreditNote, :issued_credit_notes => Invoice::IssuedCreditNote, :linked_orders => Invoice::LinkedOrder, :notes => Invoice::Note, :shipping_address => Invoice::ShippingAddress, :statement_descriptor => Invoice::StatementDescriptor, :billing_address => Invoice::BillingAddress, :einvoice => Invoice::Einvoice, :site_details_at_creation => Invoice::SiteDetailsAtCreation, :tax_origin => Invoice::TaxOrigin});
|
479
498
|
return invoices;
|
480
499
|
end
|
481
500
|
|
@@ -520,10 +539,6 @@ module ChargeBee
|
|
520
539
|
JSON.pretty_generate(@response)
|
521
540
|
end
|
522
541
|
|
523
|
-
def get_raw_response()
|
524
|
-
@response;
|
525
|
-
end
|
526
|
-
|
527
542
|
private
|
528
543
|
def get_list(type, klass, sub_types = {}, dependant_types = {}, dependant_sub_types = {})
|
529
544
|
if(@response[type] == nil)
|
data/lib/chargebee/util.rb
CHANGED
@@ -1,15 +1,18 @@
|
|
1
1
|
module ChargeBee
|
2
2
|
module Util
|
3
3
|
|
4
|
-
def self.serialize(value, prefix = nil, idx = nil)
|
4
|
+
def self.serialize(value, prefix = nil, idx = nil, json_keys = nil, level = 0)
|
5
5
|
serialized = {}
|
6
6
|
case value
|
7
7
|
when Hash
|
8
8
|
value.each do |k, v|
|
9
|
-
|
10
|
-
|
9
|
+
should_json_encode = json_keys[k] && json_keys[k] == level
|
10
|
+
if should_json_encode
|
11
|
+
key = "#{prefix || ''}#{prefix ? "[#{k}]" : k}#{idx ? "[#{idx}]" : ''}"
|
12
|
+
serialized.merge!({ key.to_s => v.is_a?(String) ? v : v.to_json })
|
11
13
|
elsif(v.kind_of? Hash or v.kind_of? Array)
|
12
|
-
|
14
|
+
temp_prefix = prefix!=nil ? "#{prefix}[#{k}]" : k
|
15
|
+
serialized.merge!(serialize(v, temp_prefix, nil , json_keys, level+1))
|
13
16
|
else
|
14
17
|
key = "#{(prefix!=nil) ? prefix:''}#{(prefix!=nil) ? '['+k.to_s+']' : k}#{(idx != nil) ? '['+idx.to_s+']':''}"
|
15
18
|
serialized.merge!({key => as_str(v)})
|
@@ -17,7 +20,7 @@ module ChargeBee
|
|
17
20
|
end
|
18
21
|
when Array
|
19
22
|
value.each_with_index do |v, i|
|
20
|
-
serialized.merge!(serialize(v, prefix, i))
|
23
|
+
serialized.merge!(serialize(v, prefix, i, json_keys, level))
|
21
24
|
end
|
22
25
|
else
|
23
26
|
if(idx != nil and prefix != nil)
|
data/lib/chargebee.rb
CHANGED
@@ -83,11 +83,13 @@ require File.dirname(__FILE__) + '/chargebee/models/omnichannel_transaction'
|
|
83
83
|
require File.dirname(__FILE__) + '/chargebee/models/recorded_purchase'
|
84
84
|
require File.dirname(__FILE__) + '/chargebee/models/omnichannel_subscription_item'
|
85
85
|
require File.dirname(__FILE__) + '/chargebee/models/configuration'
|
86
|
+
require File.dirname(__FILE__) + '/chargebee/models/usage_event'
|
87
|
+
require File.dirname(__FILE__) + '/chargebee/models/rule'
|
86
88
|
|
87
89
|
|
88
90
|
module ChargeBee
|
89
91
|
|
90
|
-
VERSION = '2.
|
92
|
+
VERSION = '2.50.1'
|
91
93
|
|
92
94
|
@@default_env = nil
|
93
95
|
@@verify_ca_certs = true
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chargebee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.50.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rajaraman S
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-
|
12
|
+
date: 2025-02-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json_pure
|
@@ -166,6 +166,7 @@ files:
|
|
166
166
|
- lib/chargebee/models/ramp.rb
|
167
167
|
- lib/chargebee/models/recorded_purchase.rb
|
168
168
|
- lib/chargebee/models/resource_migration.rb
|
169
|
+
- lib/chargebee/models/rule.rb
|
169
170
|
- lib/chargebee/models/site_migration_detail.rb
|
170
171
|
- lib/chargebee/models/subscription.rb
|
171
172
|
- lib/chargebee/models/subscription_entitlement.rb
|
@@ -177,6 +178,7 @@ files:
|
|
177
178
|
- lib/chargebee/models/transaction.rb
|
178
179
|
- lib/chargebee/models/unbilled_charge.rb
|
179
180
|
- lib/chargebee/models/usage.rb
|
181
|
+
- lib/chargebee/models/usage_event.rb
|
180
182
|
- lib/chargebee/models/virtual_bank_account.rb
|
181
183
|
- lib/chargebee/nativeRequest.rb
|
182
184
|
- lib/chargebee/request.rb
|