chargebee 2.74.0 → 2.77.0
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 +98 -0
- data/Gemfile.lock +2 -2
- data/README.md +53 -0
- data/VERSION +1 -1
- data/chargebee.gemspec +17 -2
- data/lib/chargebee/environment.rb +3 -2
- data/lib/chargebee/models/addon.rb +7 -7
- data/lib/chargebee/models/address.rb +2 -2
- data/lib/chargebee/models/alert.rb +16 -8
- data/lib/chargebee/models/alert_status.rb +2 -2
- data/lib/chargebee/models/async_response.rb +18 -0
- data/lib/chargebee/models/async_response_list.rb +10 -0
- data/lib/chargebee/models/attached_item.rb +5 -5
- data/lib/chargebee/models/business_entity.rb +2 -2
- data/lib/chargebee/models/card.rb +5 -5
- data/lib/chargebee/models/column_definition.rb +10 -0
- data/lib/chargebee/models/comment.rb +4 -4
- data/lib/chargebee/models/configuration.rb +1 -1
- data/lib/chargebee/models/coupon.rb +9 -9
- data/lib/chargebee/models/coupon_code.rb +4 -4
- data/lib/chargebee/models/coupon_set.rb +7 -7
- data/lib/chargebee/models/credit_note.rb +22 -17
- data/lib/chargebee/models/credit_note_estimate.rb +1 -1
- data/lib/chargebee/models/csv_tax_rule.rb +6 -1
- data/lib/chargebee/models/currency.rb +6 -6
- data/lib/chargebee/models/customer.rb +26 -26
- data/lib/chargebee/models/customer_entitlement.rb +1 -1
- data/lib/chargebee/models/differential_price.rb +5 -5
- data/lib/chargebee/models/entitlement.rb +2 -2
- data/lib/chargebee/models/entitlement_override.rb +2 -2
- data/lib/chargebee/models/estimate.rb +20 -20
- data/lib/chargebee/models/event.rb +2 -2
- data/lib/chargebee/models/export.rb +18 -18
- data/lib/chargebee/models/feature.rb +9 -9
- data/lib/chargebee/models/gift.rb +7 -7
- data/lib/chargebee/models/grant_block.rb +3 -3
- data/lib/chargebee/models/hosted_page.rb +22 -22
- data/lib/chargebee/models/in_app_subscription.rb +4 -4
- data/lib/chargebee/models/invoice.rb +48 -44
- data/lib/chargebee/models/invoice_estimate.rb +1 -1
- data/lib/chargebee/models/item.rb +5 -5
- data/lib/chargebee/models/item_entitlement.rb +4 -4
- data/lib/chargebee/models/item_family.rb +5 -5
- data/lib/chargebee/models/item_price.rb +7 -7
- data/lib/chargebee/models/ledger_account_balance.rb +1 -1
- data/lib/chargebee/models/ledger_operation.rb +9 -10
- data/lib/chargebee/models/meter.rb +18 -0
- data/lib/chargebee/models/metered_feature.rb +46 -0
- data/lib/chargebee/models/non_subscription.rb +1 -1
- data/lib/chargebee/models/offer_event.rb +1 -1
- data/lib/chargebee/models/offer_fulfillment.rb +3 -3
- data/lib/chargebee/models/omnichannel_one_time_order.rb +2 -2
- data/lib/chargebee/models/omnichannel_subscription.rb +4 -4
- data/lib/chargebee/models/omnichannel_subscription_item.rb +1 -1
- data/lib/chargebee/models/order.rb +12 -12
- data/lib/chargebee/models/payment_intent.rb +9 -4
- data/lib/chargebee/models/payment_schedule_scheme.rb +3 -3
- data/lib/chargebee/models/payment_source.rb +16 -16
- data/lib/chargebee/models/payment_voucher.rb +4 -4
- data/lib/chargebee/models/personalized_offer.rb +1 -1
- data/lib/chargebee/models/plan.rb +7 -7
- data/lib/chargebee/models/portal_session.rb +4 -4
- data/lib/chargebee/models/price_variant.rb +5 -5
- data/lib/chargebee/models/pricing_page_session.rb +2 -2
- data/lib/chargebee/models/promotional_credit.rb +5 -5
- data/lib/chargebee/models/promotional_grant.rb +1 -1
- data/lib/chargebee/models/purchase.rb +2 -2
- data/lib/chargebee/models/quote.rb +27 -27
- data/lib/chargebee/models/quote_line_group.rb +1 -1
- data/lib/chargebee/models/quoted_charge.rb +2 -2
- data/lib/chargebee/models/ramp.rb +6 -6
- data/lib/chargebee/models/recorded_purchase.rb +2 -2
- data/lib/chargebee/models/resource_migration.rb +1 -1
- data/lib/chargebee/models/rule.rb +1 -1
- data/lib/chargebee/models/site_migration_detail.rb +1 -1
- data/lib/chargebee/models/subscription.rb +37 -37
- data/lib/chargebee/models/subscription_entitlement.rb +2 -2
- data/lib/chargebee/models/time_machine.rb +3 -3
- data/lib/chargebee/models/transaction.rb +11 -11
- data/lib/chargebee/models/unbilled_charge.rb +6 -6
- data/lib/chargebee/models/usage.rb +5 -5
- data/lib/chargebee/models/usage_charge.rb +1 -1
- data/lib/chargebee/models/usage_event.rb +2 -2
- data/lib/chargebee/models/usage_file.rb +2 -2
- data/lib/chargebee/models/usage_summary.rb +1 -1
- data/lib/chargebee/models/virtual_bank_account.rb +6 -6
- data/lib/chargebee/models/webhook_endpoint.rb +5 -5
- data/lib/chargebee/request.rb +37 -8
- data/lib/chargebee/result.rb +41 -6
- data/lib/chargebee/telemetry/request_telemetry_context.rb +29 -0
- data/lib/chargebee/telemetry/request_telemetry_error.rb +20 -0
- data/lib/chargebee/telemetry/request_telemetry_result.rb +20 -0
- data/lib/chargebee/telemetry/telemetry_adapter.rb +32 -0
- data/lib/chargebee/telemetry/telemetry_attribute_keys.rb +33 -0
- data/lib/chargebee/telemetry/telemetry_support.rb +123 -0
- data/lib/chargebee/telemetry_executor.rb +95 -0
- data/lib/chargebee.rb +14 -1
- data/spec/chargebee/request_telemetry_spec.rb +75 -0
- data/spec/chargebee/telemetry_executor_spec.rb +147 -0
- data/spec/chargebee/telemetry_support_spec.rb +29 -0
- metadata +20 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0ada6fc55e78a48f1e967ca90df739cb05d754fa07ed8df370c5e5eed084259e
|
|
4
|
+
data.tar.gz: fe8b6c89e34bc33b773d8bda4a111f2cb7193f95a25c084aa537baabc2f93cca
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 884e6b4a7312a7882b82c3d43764702fc9e0b71b6ad2b493f9bc36e4d025b608045715da57975791f2b002cea74cf38063cd5798c968c6dffd97f46faf94192a
|
|
7
|
+
data.tar.gz: 2a64cfdbfe0d781f7485b93154a7af60fdef6cd332eddd59b49b1887a5a2dfde7b1c8c1e6915468dbb5a0e4fa1b1b827506a1f17f09317f73a74355e54e1cb83
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,101 @@
|
|
|
1
|
+
### v2.77.0 (2026-07-21)
|
|
2
|
+
* * *
|
|
3
|
+
### New Resources:
|
|
4
|
+
- [`AsyncResponse`](https://apidocs.chargebee.com/docs/api/async_responses) has been added.
|
|
5
|
+
- [`AsyncResponseList`](https://apidocs.chargebee.com/docs/api/async_response_lists) has been added.
|
|
6
|
+
- [`ColumnDefinition`](https://apidocs.chargebee.com/docs/api/column_definitions) has been added.
|
|
7
|
+
- [`Meter`](https://apidocs.chargebee.com/docs/api/meters) has been added.
|
|
8
|
+
- [`MeteredFeature`](https://apidocs.chargebee.com/docs/api/metered_features) has been added.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### New Attributes:
|
|
12
|
+
- [`currency_code`](https://apidocs.chargebee.com/docs/api/alerts/alert-object#currency_code) has been added to [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
|
|
13
|
+
- [`threshold`](https://apidocs.chargebee.com/docs/api/alerts/alert-object#threshold) has been added to [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
|
|
14
|
+
- [`filter_conditions`](https://apidocs.chargebee.com/docs/api/alerts/alert-object#filter_conditions) has been added to [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
|
|
15
|
+
- [`exchange_rates`](https://apidocs.chargebee.com/docs/api/credit_notes/credit-note-object#exchange_rates) has been added to [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
|
|
16
|
+
- [`metered`](https://apidocs.chargebee.com/docs/api/features/feature-object#metered) has been added to [`Feature`](https://apidocs.chargebee.com/docs/api/features).
|
|
17
|
+
- [`exchange_rates`](https://apidocs.chargebee.com/docs/api/invoices/invoice-object#exchange_rates) has been added to [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
18
|
+
- [`payment_intent_metadata`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#payment_intent_metadata) has been added to [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### New Parameters:
|
|
22
|
+
- [`metered`](https://apidocs.chargebee.com/docs/api/features/list-features#metered) has been added as query parameter to [`list_features`](https://apidocs.chargebee.com/docs/api/features/list-features) in [`Feature`](https://apidocs.chargebee.com/docs/api/features).
|
|
23
|
+
- [`decommissioned`](https://apidocs.chargebee.com/docs/api/subscriptions/list-subscriptions#decommissioned) has been added as query parameter to [`list_subscriptions`](https://apidocs.chargebee.com/docs/api/subscriptions/list-subscriptions) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions).
|
|
24
|
+
- [`currency_code`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert#currency_code) has been added as request body parameter to [`create_an_alert`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert) in [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
|
|
25
|
+
- [`line_items.proration_mode`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note#line_items_proration_mode) has been added as request body parameter to [`import_credit_note`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note) in [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
|
|
26
|
+
- [`item_prices.description`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate#item_prices_description) has been added as request body parameter to [`create_invoice_for_items_estimate`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates).
|
|
27
|
+
- [`item_prices.entity_description`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate#item_prices_entity_description) has been added as request body parameter to [`create_invoice_for_items_estimate`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates).
|
|
28
|
+
- [`charges.entity_description`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate#charges_entity_description) has been added as request body parameter to [`create_invoice_for_items_estimate`](https://apidocs.chargebee.com/docs/api/estimates/create-invoice-for-items-estimate) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates).
|
|
29
|
+
- [`subscription.decommissioned`](https://apidocs.chargebee.com/docs/api/exports/export-subscriptions#subscription_decommissioned) has been added as request body parameter to [`export_subscriptions`](https://apidocs.chargebee.com/docs/api/exports/export-subscriptions) in [`Export`](https://apidocs.chargebee.com/docs/api/exports).
|
|
30
|
+
- [`item_prices.description`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#item_prices_description) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
31
|
+
- [`item_prices.entity_description`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#item_prices_entity_description) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
32
|
+
- [`charges.entity_description`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#charges_entity_description) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
33
|
+
- [`create_pending_invoice`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges#create_pending_invoice) has been added as request body parameter to [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
34
|
+
- [`line_items.proration_mode`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice#line_items_proration_mode) has been added as request body parameter to [`import_invoice`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
35
|
+
- [`paid_at`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice#paid_at) has been added as request body parameter to [`import_invoice`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
36
|
+
- [`discounts_to_add.quantity`](https://apidocs.chargebee.com/docs/api/ramps/create-a-ramp#discounts_to_add_quantity) has been added as request body parameter to [`create_a_ramp`](https://apidocs.chargebee.com/docs/api/ramps/create-a-ramp) in [`Ramp`](https://apidocs.chargebee.com/docs/api/ramps).
|
|
37
|
+
- [`discounts_to_add.quantity`](https://apidocs.chargebee.com/docs/api/ramps/update-a-subscription-ramp#discounts_to_add_quantity) has been added as request body parameter to [`update_a_subscription_ramp`](https://apidocs.chargebee.com/docs/api/ramps/update-a-subscription-ramp) in [`Ramp`](https://apidocs.chargebee.com/docs/api/ramps).
|
|
38
|
+
- [`customer.email`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase#customer_email) has been added as request body parameter to [`record_a_purchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase) in [`RecordedPurchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases).
|
|
39
|
+
- [`customer.first_name`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase#customer_first_name) has been added as request body parameter to [`record_a_purchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase) in [`RecordedPurchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases).
|
|
40
|
+
- [`customer.last_name`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase#customer_last_name) has been added as request body parameter to [`record_a_purchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases/record-a-purchase) in [`RecordedPurchase`](https://apidocs.chargebee.com/docs/api/recorded_purchases).
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Parameter Updates:
|
|
44
|
+
- [`metered_feature_id`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert#metered_feature_id) has been changed from required to optional in [`create_an_alert`](https://apidocs.chargebee.com/docs/api/alerts/create-an-alert) of [`Alert`](https://apidocs.chargebee.com/docs/api/alerts).
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### New Events:
|
|
48
|
+
- [`payment_source_business_entity_changed`](https://apidocs.chargebee.com/docs/api/events/webhook/payment_source_business_entity_changed) has been added.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### Deleted Attributes:
|
|
52
|
+
- `start_balance` has been removed from [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
|
|
53
|
+
- `end_balance` has been removed from [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations).
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### New Enums:
|
|
57
|
+
- `real_time_payments` has been added as a new value enum `DunningType`.
|
|
58
|
+
- `payment_source_business_entity_changed` has been added as a new value enum `EventType`.
|
|
59
|
+
- `paynow`, `bizum`, and `promptpay` have been added as new values enum `PaymentMethod`.
|
|
60
|
+
- `paynow`, `bizum`, and `promptpay` have been added as new values enum `PaymentMethodType`.
|
|
61
|
+
- `active`, `archived`, and `deleted` have been added as new values enum `Status`.
|
|
62
|
+
- `zero_rated`, `region_non_taxable`, `product_exempt`, `high_value_physical_goods`, `zero_value_item`, and `tax_not_configured_external_provider` have been added as new values enum `TaxOverrideReason`.
|
|
63
|
+
- `paynow`, `bizum`, `promptpay`, `simple`, `compound`, and `spend_exceeded` have been added as new values enum `Type`.
|
|
64
|
+
- `success` and `failed` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/async_responses/async-response-object#status) in [`AsyncResponse`](https://apidocs.chargebee.com/docs/api/async_responses).
|
|
65
|
+
- `number` and `string` have been added as new values to enum attribute [`data_type`](https://apidocs.chargebee.com/docs/api/column_definitions/column-definition-object#data_type) in [`ColumnDefinition`](https://apidocs.chargebee.com/docs/api/column_definitions).
|
|
66
|
+
- `simple` and `compound` have been added as new values to enum attribute [`type`](https://apidocs.chargebee.com/docs/api/meters/meter-object#type) in [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
|
|
67
|
+
- `active`, `archived`, and `deleted` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/meters/meter-object#status) in [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
|
|
68
|
+
- `paynow`, `bizum`, and `promptpay` have been added as new values to enum attribute [`payment_method_type`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#payment_method_type) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
|
|
69
|
+
- `paynow`, `bizum`, and `promptpay` have been added as new values to enum attribute [`active_payment_attempt.payment_method_type`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#active_payment_attempt_payment_method_type) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
|
|
70
|
+
- `cb_js`, `components_fields`, `checkout_v3`, `paynow_v3`, `portal_v3`, `gift_v3`, `checkout_v4`, `payment_component`, `pc_inapp_v4`, and `pc_fpc_v4` have been added as new values to enum attribute [`payment_intent_metadata.source`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#payment_intent_metadata_source) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
|
|
71
|
+
- `adjusted_term`, `service_period_revision`, `delta`, and `reset` have been added as new values to enum request body parameter `line_items.proration_mode` in [`import_credit_note`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note) of [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
|
|
72
|
+
- `true` and `false` have been added as new values to enum query parameter `metered.is` in [`list_features`](https://apidocs.chargebee.com/docs/api/features/list-features) of [`Feature`](https://apidocs.chargebee.com/docs/api/features).
|
|
73
|
+
- `adjusted_term`, `service_period_revision`, `delta`, and `reset` have been added as new values to enum request body parameter `line_items.proration_mode` in [`import_invoice`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice) of [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
|
|
74
|
+
- `updated_at`, `name`, `created_at`, and `id` have been added as new values to enum query parameter `sort_by.asc` in [`list_all_available_meters`](https://apidocs.chargebee.com/docs/api/meters/list-all-available-meters) of [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
|
|
75
|
+
- `updated_at`, `name`, `created_at`, and `id` have been added as new values to enum query parameter `sort_by.desc` in [`list_all_available_meters`](https://apidocs.chargebee.com/docs/api/meters/list-all-available-meters) of [`Meter`](https://apidocs.chargebee.com/docs/api/meters).
|
|
76
|
+
- `number` and `string` have been added as new values to enum request body parameter `column_definitions.data_type` in [`create_a_metered_feature`](https://apidocs.chargebee.com/docs/api/metered_features/create-a-metered-feature) of [`MeteredFeature`](https://apidocs.chargebee.com/docs/api/metered_features).
|
|
77
|
+
- `paynow`, `bizum`, and `promptpay` have been added as new values to enum request body parameter `payment_method_type` in [`update_a_payment_intent`](https://apidocs.chargebee.com/docs/api/payment_intents/update-a-payment-intent) of [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
|
|
78
|
+
- `paynow`, `bizum`, and `promptpay` have been added as new values to enum request body parameter `payment_method_type` in [`create_a_payment_intent`](https://apidocs.chargebee.com/docs/api/payment_intents/create-a-payment-intent) of [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents).
|
|
79
|
+
- `true` and `false` have been added as new values to enum query parameter `decommissioned.is` in [`list_subscriptions`](https://apidocs.chargebee.com/docs/api/subscriptions/list-subscriptions) of [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions).
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
### v2.76.0 (2026-07-02)
|
|
84
|
+
* * *
|
|
85
|
+
|
|
86
|
+
### Bug Fixes:
|
|
87
|
+
- Fixed the packaged gem to include the telemetry sources (`ChargeBee::Telemetry` adapter, related types, and the telemetry executor) that were unintentionally omitted from the `2.75.0` release manifest. No API changes.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### v2.75.0 (2026-07-01)
|
|
91
|
+
* * *
|
|
92
|
+
|
|
93
|
+
### New Features
|
|
94
|
+
* Added an optional telemetry adapter hook for tracing Chargebee API calls via OpenTelemetry (or any APM). Configure it via `ChargeBee.configure(site: ..., api_key: ..., telemetry_adapter: adapter)`. When unconfigured, the SDK skips all telemetry work — no behavior change for existing integrations.
|
|
95
|
+
* Each API call emits one CLIENT span (`chargebee.{resource}.{operation}`) with OpenTelemetry HTTP semantic-convention attributes plus `chargebee.*` attributes. Adapters may inject W3C trace context (`traceparent`) into outbound request headers for distributed tracing.
|
|
96
|
+
* Exposed the `TelemetryAdapter`, `RequestTelemetryContext`, `RequestTelemetryResult`, `RequestTelemetryError` types, the `TelemetrySupport` helpers, and the `TelemetryAttributeKeys` constants under the `ChargeBee::Telemetry` module. OpenTelemetry is not bundled with the SDK; bring your own OTel (or APM) gems in the host application.
|
|
97
|
+
|
|
98
|
+
|
|
1
99
|
### v2.74.0 (2026-06-12)
|
|
2
100
|
* * *
|
|
3
101
|
### Bug Fixes:
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
chargebee (2.
|
|
4
|
+
chargebee (2.77.0)
|
|
5
5
|
cgi (>= 0.1.0, < 1.0.0)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
@@ -10,7 +10,7 @@ GEM
|
|
|
10
10
|
addressable (2.8.7)
|
|
11
11
|
public_suffix (>= 2.0.2, < 7.0)
|
|
12
12
|
bigdecimal (3.2.2)
|
|
13
|
-
cgi (0.5.
|
|
13
|
+
cgi (0.5.2)
|
|
14
14
|
crack (1.0.0)
|
|
15
15
|
bigdecimal
|
|
16
16
|
rexml
|
data/README.md
CHANGED
|
@@ -131,6 +131,59 @@ ChargeBee::default_env.retry_config = {
|
|
|
131
131
|
# ... your Chargebee API operations ...
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
### Telemetry (OpenTelemetry)
|
|
135
|
+
|
|
136
|
+
**Optional add-on.** Existing integrations do not need any changes — if you never set a telemetry adapter, API calls behave exactly as before.
|
|
137
|
+
|
|
138
|
+
Pass a `telemetry_adapter` when you want Chargebee API calls traced in your observability stack (Datadog, Splunk, Honeycomb, Jaeger, etc.). OpenTelemetry is **not** bundled with the `chargebee` gem — install and configure OTel (or your APM SDK) in your application, implement `ChargeBee::Telemetry::TelemetryAdapter`, and wire it on the environment.
|
|
139
|
+
|
|
140
|
+
The SDK builds standardized span attributes (`start_attributes`, `end_attributes`) following stable [OpenTelemetry HTTP semantic conventions](https://opentelemetry.io/docs/specs/semconv/http/http-spans/) (`url.full`, `http.request.method`, `http.response.status_code`, `server.address`, `error.type`) plus Chargebee-specific `chargebee.*` attributes (see constants in `ChargeBee::Telemetry::TelemetryAttributeKeys`).
|
|
141
|
+
|
|
142
|
+
Span names follow `chargebee.{resource}.{operation}` (for example, `chargebee.customer.create`). One span is created per SDK API call; retries reuse the same span. Adapter failures are logged and never affect the underlying API request.
|
|
143
|
+
|
|
144
|
+
Configure at startup — pass `telemetry_adapter` in the same `ChargeBee.configure` call. `configure` replaces the default environment, so calling it again without `telemetry_adapter` drops a previously configured adapter:
|
|
145
|
+
|
|
146
|
+
```ruby
|
|
147
|
+
require 'chargebee'
|
|
148
|
+
|
|
149
|
+
class MyTelemetryAdapter
|
|
150
|
+
include ChargeBee::Telemetry::TelemetryAdapter
|
|
151
|
+
|
|
152
|
+
def on_request_start(context, request_headers)
|
|
153
|
+
# Start a span using context.start_attributes and inject trace headers into request_headers
|
|
154
|
+
nil
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def on_request_end(handle, result)
|
|
158
|
+
# End the span using result.end_attributes
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
ChargeBee.configure(
|
|
163
|
+
api_key: 'your_api_key',
|
|
164
|
+
site: 'your_site',
|
|
165
|
+
telemetry_adapter: MyTelemetryAdapter.new,
|
|
166
|
+
)
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
If you pass a custom `ChargeBee::Environment` into resource methods as `env`, set `telemetry_adapter` on that instance — `ChargeBee.configure` only updates the default environment:
|
|
170
|
+
|
|
171
|
+
```ruby
|
|
172
|
+
env = ChargeBee::Environment.new(
|
|
173
|
+
api_key: 'your_api_key',
|
|
174
|
+
site: 'your_site',
|
|
175
|
+
telemetry_adapter: MyTelemetryAdapter.new,
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
ChargeBee::Customer.list({}, env)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
To pass custom `chargebee-*` headers (promoted to `http.request.header.chargebee-*` span attributes), include them in the `headers` argument on resource methods:
|
|
182
|
+
|
|
183
|
+
```ruby
|
|
184
|
+
ChargeBee::Customer.list({}, nil, { 'chargebee-business-entity-id' => 'entity-id' })
|
|
185
|
+
```
|
|
186
|
+
|
|
134
187
|
## License
|
|
135
188
|
|
|
136
189
|
See the LICENSE file.
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.77.0
|
data/chargebee.gemspec
CHANGED
|
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
|
5
5
|
s.required_ruby_version = '>= 1.9.3'
|
|
6
6
|
s.name = 'chargebee'
|
|
7
|
-
s.version = '2.
|
|
8
|
-
s.date = '2026-
|
|
7
|
+
s.version = '2.77.0'
|
|
8
|
+
s.date = '2026-07-21'
|
|
9
9
|
s.summary = "Ruby client for Chargebee API."
|
|
10
10
|
s.description = "Subscription Billing - Simple. Secure. Affordable. More details at www.chargebee.com."
|
|
11
11
|
s.metadata = {
|
|
@@ -47,6 +47,8 @@ Gem::Specification.new do |s|
|
|
|
47
47
|
lib/chargebee/models/advance_invoice_schedule.rb
|
|
48
48
|
lib/chargebee/models/alert.rb
|
|
49
49
|
lib/chargebee/models/alert_status.rb
|
|
50
|
+
lib/chargebee/models/async_response.rb
|
|
51
|
+
lib/chargebee/models/async_response_list.rb
|
|
50
52
|
lib/chargebee/models/attached_item.rb
|
|
51
53
|
lib/chargebee/models/attribute.rb
|
|
52
54
|
lib/chargebee/models/billing_configuration.rb
|
|
@@ -54,6 +56,7 @@ Gem::Specification.new do |s|
|
|
|
54
56
|
lib/chargebee/models/business_entity.rb
|
|
55
57
|
lib/chargebee/models/business_entity_transfer.rb
|
|
56
58
|
lib/chargebee/models/card.rb
|
|
59
|
+
lib/chargebee/models/column_definition.rb
|
|
57
60
|
lib/chargebee/models/comment.rb
|
|
58
61
|
lib/chargebee/models/configuration.rb
|
|
59
62
|
lib/chargebee/models/contact.rb
|
|
@@ -98,6 +101,8 @@ Gem::Specification.new do |s|
|
|
|
98
101
|
lib/chargebee/models/ledger_account_balance.rb
|
|
99
102
|
lib/chargebee/models/ledger_operation.rb
|
|
100
103
|
lib/chargebee/models/metadata.rb
|
|
104
|
+
lib/chargebee/models/meter.rb
|
|
105
|
+
lib/chargebee/models/metered_feature.rb
|
|
101
106
|
lib/chargebee/models/model.rb
|
|
102
107
|
lib/chargebee/models/non_subscription.rb
|
|
103
108
|
lib/chargebee/models/offer_event.rb
|
|
@@ -159,10 +164,20 @@ Gem::Specification.new do |s|
|
|
|
159
164
|
lib/chargebee/request.rb
|
|
160
165
|
lib/chargebee/rest.rb
|
|
161
166
|
lib/chargebee/result.rb
|
|
167
|
+
lib/chargebee/telemetry/request_telemetry_context.rb
|
|
168
|
+
lib/chargebee/telemetry/request_telemetry_error.rb
|
|
169
|
+
lib/chargebee/telemetry/request_telemetry_result.rb
|
|
170
|
+
lib/chargebee/telemetry/telemetry_adapter.rb
|
|
171
|
+
lib/chargebee/telemetry/telemetry_attribute_keys.rb
|
|
172
|
+
lib/chargebee/telemetry/telemetry_support.rb
|
|
173
|
+
lib/chargebee/telemetry_executor.rb
|
|
162
174
|
lib/chargebee/util.rb
|
|
163
175
|
lib/ssl/ca-certs.crt
|
|
164
176
|
spec/chargebee/list_result_spec.rb
|
|
165
177
|
spec/chargebee/native_request_spec.rb
|
|
178
|
+
spec/chargebee/request_telemetry_spec.rb
|
|
179
|
+
spec/chargebee/telemetry_executor_spec.rb
|
|
180
|
+
spec/chargebee/telemetry_support_spec.rb
|
|
166
181
|
spec/chargebee_spec.rb
|
|
167
182
|
spec/errors_spec.rb
|
|
168
183
|
spec/sample_response.rb
|
|
@@ -10,8 +10,8 @@ module ChargeBee
|
|
|
10
10
|
attr_accessor :api_key, :site, :time_machine_sleeptime, :export_sleeptime, :connect_timeout, :read_timeout
|
|
11
11
|
attr_reader :api_endpoint
|
|
12
12
|
|
|
13
|
-
# Add retry_config and
|
|
14
|
-
attr_accessor :retry_config, :enable_debug_logs
|
|
13
|
+
# Add retry_config, enable_debug_logs, and telemetry_adapter
|
|
14
|
+
attr_accessor :retry_config, :enable_debug_logs, :telemetry_adapter
|
|
15
15
|
|
|
16
16
|
def initialize(options)
|
|
17
17
|
options[:time_machine_sleeptime] ||= TIME_MACHINE_TIMEOUT
|
|
@@ -23,6 +23,7 @@ module ChargeBee
|
|
|
23
23
|
end
|
|
24
24
|
@retry_config = options[:retry_config]
|
|
25
25
|
@enable_debug_logs = options[:enable_debug_logs] || false
|
|
26
|
+
@telemetry_adapter = options[:telemetry_adapter]
|
|
26
27
|
if($CHARGEBEE_DOMAIN == nil)
|
|
27
28
|
@api_endpoint = "https://#{@site}.chargebee.com/api/#{API_VERSION}"
|
|
28
29
|
else
|
|
@@ -28,7 +28,7 @@ module ChargeBee
|
|
|
28
28
|
options = {
|
|
29
29
|
:isIdempotent => true
|
|
30
30
|
}
|
|
31
|
-
Request.send('post', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options)
|
|
31
|
+
Request.send('post', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options, "addon", "create")
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def self.update(id, params, env=nil, headers={})
|
|
@@ -38,21 +38,21 @@ module ChargeBee
|
|
|
38
38
|
options = {
|
|
39
39
|
:isIdempotent => true
|
|
40
40
|
}
|
|
41
|
-
Request.send('post', uri_path("addons",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
|
41
|
+
Request.send('post', uri_path("addons",id.to_s), params, env, headers,nil, false, jsonKeys, options, "addon", "update")
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def self.list(params={}, env=nil, headers={})
|
|
45
45
|
jsonKeys = {
|
|
46
46
|
}
|
|
47
47
|
options = {}
|
|
48
|
-
Request.send_list_request('get', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options)
|
|
48
|
+
Request.send_list_request('get', uri_path("addons"), params, env, headers,nil, false, jsonKeys, options, "addon", "list")
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def self.retrieve(id, env=nil, headers={})
|
|
52
52
|
jsonKeys = {
|
|
53
53
|
}
|
|
54
54
|
options = {}
|
|
55
|
-
Request.send('get', uri_path("addons",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
|
55
|
+
Request.send('get', uri_path("addons",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "addon", "retrieve")
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
def self.delete(id, env=nil, headers={})
|
|
@@ -61,7 +61,7 @@ module ChargeBee
|
|
|
61
61
|
options = {
|
|
62
62
|
:isIdempotent => true
|
|
63
63
|
}
|
|
64
|
-
Request.send('post', uri_path("addons",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
|
64
|
+
Request.send('post', uri_path("addons",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options, "addon", "delete")
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def self.copy(params, env=nil, headers={})
|
|
@@ -70,7 +70,7 @@ module ChargeBee
|
|
|
70
70
|
options = {
|
|
71
71
|
:isIdempotent => true
|
|
72
72
|
}
|
|
73
|
-
Request.send('post', uri_path("addons","copy"), params, env, headers,nil, false, jsonKeys, options)
|
|
73
|
+
Request.send('post', uri_path("addons","copy"), params, env, headers,nil, false, jsonKeys, options, "addon", "copy")
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
def self.unarchive(id, env=nil, headers={})
|
|
@@ -79,7 +79,7 @@ module ChargeBee
|
|
|
79
79
|
options = {
|
|
80
80
|
:isIdempotent => true
|
|
81
81
|
}
|
|
82
|
-
Request.send('post', uri_path("addons",id.to_s,"unarchive"), {}, env, headers,nil, false, jsonKeys, options)
|
|
82
|
+
Request.send('post', uri_path("addons",id.to_s,"unarchive"), {}, env, headers,nil, false, jsonKeys, options, "addon", "unarchive")
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
end # ~Addon
|
|
@@ -11,7 +11,7 @@ module ChargeBee
|
|
|
11
11
|
jsonKeys = {
|
|
12
12
|
}
|
|
13
13
|
options = {}
|
|
14
|
-
Request.send('get', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options)
|
|
14
|
+
Request.send('get', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options, "address", "retrieve")
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def self.update(params, env=nil, headers={})
|
|
@@ -20,7 +20,7 @@ module ChargeBee
|
|
|
20
20
|
options = {
|
|
21
21
|
:isIdempotent => true
|
|
22
22
|
}
|
|
23
|
-
Request.send('post', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options)
|
|
23
|
+
Request.send('post', uri_path("addresses"), params, env, headers,nil, false, jsonKeys, options, "address", "update")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
end # ~Address
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
module ChargeBee
|
|
2
2
|
class Alert < Model
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
class Threshold < Model
|
|
5
|
+
attr_accessor :mode, :value
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class FilterCondition < Model
|
|
9
|
+
attr_accessor :field, :operator, :value
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
attr_accessor :id, :type, :name, :description, :metered_feature_id, :currency_code, :subscription_id,
|
|
13
|
+
:status, :meta, :created_at, :updated_at, :threshold, :filter_conditions
|
|
6
14
|
|
|
7
15
|
# OPERATIONS
|
|
8
16
|
#-----------
|
|
@@ -13,21 +21,21 @@ module ChargeBee
|
|
|
13
21
|
options = {
|
|
14
22
|
:isIdempotent => true
|
|
15
23
|
}
|
|
16
|
-
Request.send('post', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options)
|
|
24
|
+
Request.send('post', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options, "alert", "create")
|
|
17
25
|
end
|
|
18
26
|
|
|
19
27
|
def self.retrieve(id, env=nil, headers={})
|
|
20
28
|
jsonKeys = {
|
|
21
29
|
}
|
|
22
30
|
options = {}
|
|
23
|
-
Request.send('get', uri_path("alerts",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
|
31
|
+
Request.send('get', uri_path("alerts",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "alert", "retrieve")
|
|
24
32
|
end
|
|
25
33
|
|
|
26
34
|
def self.list(params={}, env=nil, headers={})
|
|
27
35
|
jsonKeys = {
|
|
28
36
|
}
|
|
29
37
|
options = {}
|
|
30
|
-
Request.send_list_request('get', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options)
|
|
38
|
+
Request.send_list_request('get', uri_path("alerts"), params, env, headers,nil, false, jsonKeys, options, "alert", "list")
|
|
31
39
|
end
|
|
32
40
|
|
|
33
41
|
def self.update(id, params={}, env=nil, headers={})
|
|
@@ -36,7 +44,7 @@ module ChargeBee
|
|
|
36
44
|
options = {
|
|
37
45
|
:isIdempotent => true
|
|
38
46
|
}
|
|
39
|
-
Request.send('post', uri_path("alerts",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
|
47
|
+
Request.send('post', uri_path("alerts",id.to_s), params, env, headers,nil, false, jsonKeys, options, "alert", "update")
|
|
40
48
|
end
|
|
41
49
|
|
|
42
50
|
def self.delete(id, env=nil, headers={})
|
|
@@ -45,14 +53,14 @@ module ChargeBee
|
|
|
45
53
|
options = {
|
|
46
54
|
:isIdempotent => true
|
|
47
55
|
}
|
|
48
|
-
Request.send('post', uri_path("alerts",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
|
56
|
+
Request.send('post', uri_path("alerts",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options, "alert", "delete")
|
|
49
57
|
end
|
|
50
58
|
|
|
51
59
|
def self.application_alerts_for_subscription(id, params={}, env=nil, headers={})
|
|
52
60
|
jsonKeys = {
|
|
53
61
|
}
|
|
54
62
|
options = {}
|
|
55
|
-
Request.send('get', uri_path("subscriptions",id.to_s,"applicable_alerts"), params, env, headers,nil, false, jsonKeys, options)
|
|
63
|
+
Request.send('get', uri_path("subscriptions",id.to_s,"applicable_alerts"), params, env, headers,nil, false, jsonKeys, options, "alert", "applicationAlertsForSubscription")
|
|
56
64
|
end
|
|
57
65
|
|
|
58
66
|
end # ~Alert
|
|
@@ -10,14 +10,14 @@ module ChargeBee
|
|
|
10
10
|
jsonKeys = {
|
|
11
11
|
}
|
|
12
12
|
options = {}
|
|
13
|
-
Request.send('get', uri_path("subscriptions",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options)
|
|
13
|
+
Request.send('get', uri_path("subscriptions",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options, "alertStatus", "alertStatusesForSubscription")
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def self.alert_statuses_for_alert(id, params={}, env=nil, headers={})
|
|
17
17
|
jsonKeys = {
|
|
18
18
|
}
|
|
19
19
|
options = {}
|
|
20
|
-
Request.send('get', uri_path("alerts",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options)
|
|
20
|
+
Request.send('get', uri_path("alerts",id.to_s,"alert_statuses"), params, env, headers,nil, false, jsonKeys, options, "alertStatus", "alertStatusesForAlert")
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
end # ~AlertStatus
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module ChargeBee
|
|
2
|
+
class AsyncResponse < Model
|
|
3
|
+
|
|
4
|
+
class RequestAsyncApi < Model
|
|
5
|
+
attr_accessor :id, :resource, :operation_type, :method, :uri, :idempotency_key
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class Error < Model
|
|
9
|
+
attr_accessor :message, :type, :api_error_code, :error_code, :error_msg, :http_status_code
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
attr_accessor :api_version, :created_at, :completed_at, :status, :request, :error_detail, :result
|
|
13
|
+
|
|
14
|
+
# OPERATIONS
|
|
15
|
+
#-----------
|
|
16
|
+
|
|
17
|
+
end # ~AsyncResponse
|
|
18
|
+
end # ~ChargeBee
|
|
@@ -14,7 +14,7 @@ module ChargeBee
|
|
|
14
14
|
options = {
|
|
15
15
|
:isIdempotent => true
|
|
16
16
|
}
|
|
17
|
-
Request.send('post', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options)
|
|
17
|
+
Request.send('post', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "create")
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def self.update(id, params, env=nil, headers={})
|
|
@@ -23,14 +23,14 @@ module ChargeBee
|
|
|
23
23
|
options = {
|
|
24
24
|
:isIdempotent => true
|
|
25
25
|
}
|
|
26
|
-
Request.send('post', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
|
26
|
+
Request.send('post', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "update")
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
def self.retrieve(id, params, env=nil, headers={})
|
|
30
30
|
jsonKeys = {
|
|
31
31
|
}
|
|
32
32
|
options = {}
|
|
33
|
-
Request.send('get', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options)
|
|
33
|
+
Request.send('get', uri_path("attached_items",id.to_s), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "retrieve")
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def self.delete(id, params, env=nil, headers={})
|
|
@@ -39,14 +39,14 @@ module ChargeBee
|
|
|
39
39
|
options = {
|
|
40
40
|
:isIdempotent => true
|
|
41
41
|
}
|
|
42
|
-
Request.send('post', uri_path("attached_items",id.to_s,"delete"), params, env, headers,nil, false, jsonKeys, options)
|
|
42
|
+
Request.send('post', uri_path("attached_items",id.to_s,"delete"), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "delete")
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
def self.list(id, params={}, env=nil, headers={})
|
|
46
46
|
jsonKeys = {
|
|
47
47
|
}
|
|
48
48
|
options = {}
|
|
49
|
-
Request.send_list_request('get', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options)
|
|
49
|
+
Request.send_list_request('get', uri_path("items",id.to_s,"attached_items"), params, env, headers,nil, false, jsonKeys, options, "attachedItem", "list")
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
end # ~AttachedItem
|
|
@@ -12,14 +12,14 @@ module ChargeBee
|
|
|
12
12
|
options = {
|
|
13
13
|
:isIdempotent => true
|
|
14
14
|
}
|
|
15
|
-
Request.send('post', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options)
|
|
15
|
+
Request.send('post', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options, "businessEntity", "createTransfers")
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def self.get_transfers(params={}, env=nil, headers={})
|
|
19
19
|
jsonKeys = {
|
|
20
20
|
}
|
|
21
21
|
options = {}
|
|
22
|
-
Request.send('get', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options)
|
|
22
|
+
Request.send('get', uri_path("business_entities","transfers"), params, env, headers,nil, false, jsonKeys, options, "businessEntity", "getTransfers")
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
end # ~BusinessEntity
|
|
@@ -14,7 +14,7 @@ module ChargeBee
|
|
|
14
14
|
jsonKeys = {
|
|
15
15
|
}
|
|
16
16
|
options = {}
|
|
17
|
-
Request.send('get', uri_path("cards",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
|
17
|
+
Request.send('get', uri_path("cards",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "card", "retrieve")
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def self.update_card_for_customer(id, params, env=nil, headers={})
|
|
@@ -23,7 +23,7 @@ module ChargeBee
|
|
|
23
23
|
options = {
|
|
24
24
|
:isIdempotent => true
|
|
25
25
|
}
|
|
26
|
-
Request.send('post', uri_path("customers",id.to_s,"credit_card"), params, env, headers,nil, false, jsonKeys, options)
|
|
26
|
+
Request.send('post', uri_path("customers",id.to_s,"credit_card"), params, env, headers,nil, false, jsonKeys, options, "card", "updateCardForCustomer")
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
def self.switch_gateway_for_customer(id, params, env=nil, headers={})
|
|
@@ -32,7 +32,7 @@ module ChargeBee
|
|
|
32
32
|
options = {
|
|
33
33
|
:isIdempotent => true
|
|
34
34
|
}
|
|
35
|
-
Request.send('post', uri_path("customers",id.to_s,"switch_gateway"), params, env, headers,nil, false, jsonKeys, options)
|
|
35
|
+
Request.send('post', uri_path("customers",id.to_s,"switch_gateway"), params, env, headers,nil, false, jsonKeys, options, "card", "switchGatewayForCustomer")
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def self.copy_card_for_customer(id, params, env=nil, headers={})
|
|
@@ -41,7 +41,7 @@ module ChargeBee
|
|
|
41
41
|
options = {
|
|
42
42
|
:isIdempotent => true
|
|
43
43
|
}
|
|
44
|
-
Request.send('post', uri_path("customers",id.to_s,"copy_card"), params, env, headers,nil, false, jsonKeys, options)
|
|
44
|
+
Request.send('post', uri_path("customers",id.to_s,"copy_card"), params, env, headers,nil, false, jsonKeys, options, "card", "copyCardForCustomer")
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def self.delete_card_for_customer(id, env=nil, headers={})
|
|
@@ -50,7 +50,7 @@ module ChargeBee
|
|
|
50
50
|
options = {
|
|
51
51
|
:isIdempotent => true
|
|
52
52
|
}
|
|
53
|
-
Request.send('post', uri_path("customers",id.to_s,"delete_card"), {}, env, headers,nil, false, jsonKeys, options)
|
|
53
|
+
Request.send('post', uri_path("customers",id.to_s,"delete_card"), {}, env, headers,nil, false, jsonKeys, options, "card", "deleteCardForCustomer")
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
end # ~Card
|
|
@@ -12,21 +12,21 @@ module ChargeBee
|
|
|
12
12
|
options = {
|
|
13
13
|
:isIdempotent => true
|
|
14
14
|
}
|
|
15
|
-
Request.send('post', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options)
|
|
15
|
+
Request.send('post', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options, "comment", "create")
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def self.retrieve(id, env=nil, headers={})
|
|
19
19
|
jsonKeys = {
|
|
20
20
|
}
|
|
21
21
|
options = {}
|
|
22
|
-
Request.send('get', uri_path("comments",id.to_s), {}, env, headers,nil, false, jsonKeys, options)
|
|
22
|
+
Request.send('get', uri_path("comments",id.to_s), {}, env, headers,nil, false, jsonKeys, options, "comment", "retrieve")
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def self.list(params={}, env=nil, headers={})
|
|
26
26
|
jsonKeys = {
|
|
27
27
|
}
|
|
28
28
|
options = {}
|
|
29
|
-
Request.send_list_request('get', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options)
|
|
29
|
+
Request.send_list_request('get', uri_path("comments"), params, env, headers,nil, false, jsonKeys, options, "comment", "list")
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
def self.delete(id, env=nil, headers={})
|
|
@@ -35,7 +35,7 @@ module ChargeBee
|
|
|
35
35
|
options = {
|
|
36
36
|
:isIdempotent => true
|
|
37
37
|
}
|
|
38
|
-
Request.send('post', uri_path("comments",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options)
|
|
38
|
+
Request.send('post', uri_path("comments",id.to_s,"delete"), {}, env, headers,nil, false, jsonKeys, options, "comment", "delete")
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
end # ~Comment
|