From 9ebc48ab84d1e3fd8f3c5430b5baed399e9478b5 Mon Sep 17 00:00:00 2001 From: chargebee-ci Date: Thu, 24 Sep 2026 05:30:20 +0000 Subject: [PATCH] Releasing v3.29.0 --- CHANGELOG.md | 190 +++++++++++++ VERSION | 2 +- chargebee/main.py | 9 + chargebee/models/__init__.py | 18 ++ .../models/applied_business_rule/__init__.py | 2 + .../applied_business_rule/operations.py | 17 ++ .../models/applied_business_rule/responses.py | 16 ++ chargebee/models/applied_rule/__init__.py | 2 + chargebee/models/applied_rule/operations.py | 10 + chargebee/models/applied_rule/responses.py | 15 + chargebee/models/apply_rule/__init__.py | 2 + chargebee/models/apply_rule/operations.py | 19 ++ chargebee/models/apply_rule/responses.py | 27 ++ chargebee/models/business_rule/__init__.py | 2 + chargebee/models/business_rule/operations.py | 267 ++++++++++++++++++ chargebee/models/business_rule/responses.py | 94 ++++++ chargebee/models/business_ruleset/__init__.py | 2 + .../models/business_ruleset/operations.py | 256 +++++++++++++++++ .../models/business_ruleset/responses.py | 84 ++++++ .../models/business_ruleset_rule/__init__.py | 2 + .../business_ruleset_rule/operations.py | 10 + .../models/business_ruleset_rule/responses.py | 10 + chargebee/models/card/operations.py | 1 + chargebee/models/credit_note/operations.py | 22 ++ chargebee/models/credit_note/responses.py | 16 +- .../models/custom_data_schema/__init__.py | 2 + .../models/custom_data_schema/operations.py | 18 ++ .../models/custom_data_schema/responses.py | 16 ++ chargebee/models/customer/operations.py | 21 ++ chargebee/models/customer/responses.py | 8 + chargebee/models/dispute/__init__.py | 2 + chargebee/models/dispute/operations.py | 75 +++++ chargebee/models/dispute/responses.py | 39 +++ chargebee/models/einvoice/operations.py | 85 +++++- chargebee/models/einvoice/responses.py | 39 +++ chargebee/models/email_log/__init__.py | 2 + chargebee/models/email_log/operations.py | 36 +++ chargebee/models/email_log/responses.py | 32 +++ chargebee/models/enums.py | 87 +++++- chargebee/models/estimate/operations.py | 3 + chargebee/models/event/responses.py | 1 + chargebee/models/grant_block/operations.py | 27 +- chargebee/models/grant_block/responses.py | 27 +- chargebee/models/hosted_page/operations.py | 10 + chargebee/models/hosted_page/responses.py | 1 + chargebee/models/invoice/operations.py | 22 ++ chargebee/models/invoice/responses.py | 8 + chargebee/models/ledger_entry/operations.py | 10 +- chargebee/models/ledger_entry/responses.py | 2 +- .../models/ledger_operation/operations.py | 3 + .../models/ledger_operation/responses.py | 12 +- .../omnichannel_subscription/operations.py | 1 + .../operations.py | 1 + chargebee/models/payment_intent/operations.py | 14 + chargebee/models/payment_intent/responses.py | 1 + .../models/payment_schedule/operations.py | 36 ++- .../models/payment_schedule/responses.py | 26 ++ .../payment_schedule_estimate/operations.py | 1 + .../payment_schedule_estimate/responses.py | 1 + .../payment_schedule_scheme/operations.py | 25 ++ .../payment_schedule_scheme/responses.py | 11 + chargebee/models/payment_source/operations.py | 16 ++ chargebee/models/payment_source/responses.py | 8 + .../models/pricing_page_session/operations.py | 1 + .../models/promotional_grant/operations.py | 2 + .../models/quoted_subscription/operations.py | 1 + .../models/quoted_subscription/responses.py | 1 + chargebee/models/ramp/operations.py | 13 + chargebee/models/ramp/responses.py | 7 + chargebee/models/subscription/operations.py | 7 + chargebee/models/subscription/responses.py | 2 + .../third_party_payment_method/responses.py | 1 + chargebee/models/transaction/operations.py | 4 + chargebee/models/transaction/responses.py | 8 + chargebee/version.py | 2 +- 75 files changed, 1848 insertions(+), 25 deletions(-) create mode 100644 chargebee/models/applied_business_rule/__init__.py create mode 100644 chargebee/models/applied_business_rule/operations.py create mode 100644 chargebee/models/applied_business_rule/responses.py create mode 100644 chargebee/models/applied_rule/__init__.py create mode 100644 chargebee/models/applied_rule/operations.py create mode 100644 chargebee/models/applied_rule/responses.py create mode 100644 chargebee/models/apply_rule/__init__.py create mode 100644 chargebee/models/apply_rule/operations.py create mode 100644 chargebee/models/apply_rule/responses.py create mode 100644 chargebee/models/business_rule/__init__.py create mode 100644 chargebee/models/business_rule/operations.py create mode 100644 chargebee/models/business_rule/responses.py create mode 100644 chargebee/models/business_ruleset/__init__.py create mode 100644 chargebee/models/business_ruleset/operations.py create mode 100644 chargebee/models/business_ruleset/responses.py create mode 100644 chargebee/models/business_ruleset_rule/__init__.py create mode 100644 chargebee/models/business_ruleset_rule/operations.py create mode 100644 chargebee/models/business_ruleset_rule/responses.py create mode 100644 chargebee/models/custom_data_schema/__init__.py create mode 100644 chargebee/models/custom_data_schema/operations.py create mode 100644 chargebee/models/custom_data_schema/responses.py create mode 100644 chargebee/models/dispute/__init__.py create mode 100644 chargebee/models/dispute/operations.py create mode 100644 chargebee/models/dispute/responses.py create mode 100644 chargebee/models/email_log/__init__.py create mode 100644 chargebee/models/email_log/operations.py create mode 100644 chargebee/models/email_log/responses.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 25606885..52f32afa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,193 @@ +### v3.29.0 (2026-09-24) +* * * +### New Resources: +- [`AppliedBusinessRule`](https://apidocs.chargebee.com/docs/api/applied_business_rules) has been added. +- [`AppliedRule`](https://apidocs.chargebee.com/docs/api/applied_rules) has been added. +- [`ApplyRule`](https://apidocs.chargebee.com/docs/api/apply_rules) has been added. +- [`BusinessRule`](https://apidocs.chargebee.com/docs/api/business_rules) has been added. +- [`BusinessRuleset`](https://apidocs.chargebee.com/docs/api/business_rulesets) has been added. +- [`BusinessRulesetRule`](https://apidocs.chargebee.com/docs/api/business_ruleset_rules) has been added. +- [`CustomDataSchema`](https://apidocs.chargebee.com/docs/api/custom_data_schemas) has been added. +- [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes) has been added. +- [`EmailLog`](https://apidocs.chargebee.com/docs/api/email_logs) has been added. + + +### New Actions: +- [`send_credit_note_email`](https://apidocs.chargebee.com/docs/api/credit_notes/send-credit-note-email) has been added to [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes). +- [`send_payment_request_email`](https://apidocs.chargebee.com/docs/api/customers/send-payment-request-email) has been added to [`Customer`](https://apidocs.chargebee.com/docs/api/customers). +- [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`retrieve_an_e-invoice`](https://apidocs.chargebee.com/docs/api/einvoices/retrieve-an-e-invoice) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`send_invoice_email`](https://apidocs.chargebee.com/docs/api/invoices/send-invoice-email) has been added to [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices). +- [`list_payment_schedules`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules) has been added to [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`list_payment_schedule_schemes`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes) has been added to [`PaymentScheduleScheme`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes). + + +### New Attributes: +- [`brand_id`](https://apidocs.chargebee.com/docs/api/credit_notes/credit-note-object#brand_id) has been added to [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/customers/customer-object#brand_id) has been added to [`Customer`](https://apidocs.chargebee.com/docs/api/customers). +- [`entity_type`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#entity_type) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`entity_id`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#entity_id) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`created_at`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#created_at) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`resource_version`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#resource_version) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`updated_at`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#updated_at) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`deleted`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#deleted) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`business_entity_id`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#business_entity_id) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`artifacts`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#artifacts) has been added to [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`site_id`](https://apidocs.chargebee.com/docs/api/events/event-object#site_id) has been added to [`Event`](https://apidocs.chargebee.com/docs/api/events). +- [`provisioned_block_balance`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#provisioned_block_balance) has been added to [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`overdraft_block_balance`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#overdraft_block_balance) has been added to [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/hosted-page-object#brand_id) has been added to [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/invoices/invoice-object#brand_id) has been added to [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_intents/payment-intent-object#brand_id) has been added to [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents). +- [`reference_transactions`](https://apidocs.chargebee.com/docs/api/payment_schedules/payment-schedule-object#reference_transactions) has been added to [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/payment-source-object#brand_id) has been added to [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`network_transaction_reference`](https://apidocs.chargebee.com/docs/api/payment_sources/payment-source-object#network_transaction_reference) has been added to [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`billing_configuration`](https://apidocs.chargebee.com/docs/api/ramps/ramp-object#billing_configuration) has been added to [`Ramp`](https://apidocs.chargebee.com/docs/api/ramps). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/subscriptions/subscription-object#brand_id) has been added to [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- [`network_transaction_reference`](https://apidocs.chargebee.com/docs/api/third_party_payment_methods/third-party-payment-method-object#network_transaction_reference) has been added to [`ThirdPartyPaymentMethod`](https://apidocs.chargebee.com/docs/api/third_party_payment_methods). +- [`network_transaction_details`](https://apidocs.chargebee.com/docs/api/transactions/transaction-object#network_transaction_details) has been added to [`Transaction`](https://apidocs.chargebee.com/docs/api/transactions). + + +### New Parameters: +- [`limit`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#limit) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`offset`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#offset) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`id`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#id) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`reference_id`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#reference_id) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`updated_at`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#updated_at) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`sort_by`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#sort_by) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`invoice_id`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#invoice_id) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`credit_note_id`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices#credit_note_id) has been added as query parameter to [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- [`limit`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules#limit) has been added as query parameter to [`list_payment_schedules`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules) in [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`offset`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules#offset) has been added as query parameter to [`list_payment_schedules`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules) in [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`invoice_id`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules#invoice_id) has been added as query parameter to [`list_payment_schedules`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules) in [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`id`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules#id) has been added as query parameter to [`list_payment_schedules`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules) in [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`updated_at`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules#updated_at) has been added as query parameter to [`list_payment_schedules`](https://apidocs.chargebee.com/docs/api/payment_schedules/list-payment-schedules) in [`PaymentSchedule`](https://apidocs.chargebee.com/docs/api/payment_schedules). +- [`limit`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes#limit) has been added as query parameter to [`list_payment_schedule_schemes`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes) in [`PaymentScheduleScheme`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes). +- [`offset`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes#offset) has been added as query parameter to [`list_payment_schedule_schemes`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes) in [`PaymentScheduleScheme`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes). +- [`id`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes#id) has been added as query parameter to [`list_payment_schedule_schemes`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes) in [`PaymentScheduleScheme`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes). +- [`updated_at`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes#updated_at) has been added as query parameter to [`list_payment_schedule_schemes`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes/list-payment-schedule-schemes) in [`PaymentScheduleScheme`](https://apidocs.chargebee.com/docs/api/payment_schedule_schemes). +- [`line_items.is_partial_tax_applied`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note#line_items_is_partial_tax_applied) 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). +- [`line_items.taxable_amount`](https://apidocs.chargebee.com/docs/api/credit_notes/import-credit-note#line_items_taxable_amount) 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). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/customers/create-a-customer#brand_id) has been added as request body parameter to [`create_a_customer`](https://apidocs.chargebee.com/docs/api/customers/create-a-customer) in [`Customer`](https://apidocs.chargebee.com/docs/api/customers). +- [`subscription_items.description`](https://apidocs.chargebee.com/docs/api/estimates/estimate-for-creating-a-customer-and-subscription#subscription_items_description) has been added as request body parameter to [`estimate_for_creating_a_customer_and_subscription`](https://apidocs.chargebee.com/docs/api/estimates/estimate-for-creating-a-customer-and-subscription) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates). +- [`subscription_items.description`](https://apidocs.chargebee.com/docs/api/estimates/estimate-for-updating-a-subscription#subscription_items_description) has been added as request body parameter to [`estimate_for_updating_a_subscription`](https://apidocs.chargebee.com/docs/api/estimates/estimate-for-updating-a-subscription) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates). +- [`subscription_items.description`](https://apidocs.chargebee.com/docs/api/estimates/estimate-for-creating-a-subscription#subscription_items_description) has been added as request body parameter to [`estimate_for_creating_a_subscription`](https://apidocs.chargebee.com/docs/api/estimates/estimate-for-creating-a-subscription) in [`Estimate`](https://apidocs.chargebee.com/docs/api/estimates). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/checkout-charge-items-and-one-time-charges#brand_id) has been added as request body parameter to [`checkout_charge-items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/hosted_pages/checkout-charge-items-and-one-time-charges) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/extend-subscription#brand_id) has been added as request body parameter to [`extend_subscription`](https://apidocs.chargebee.com/docs/api/hosted_pages/extend-subscription) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/checkout-gift-subscription-for-items#brand_id) has been added as request body parameter to [`checkout_gift_subscription_for_items`](https://apidocs.chargebee.com/docs/api/hosted_pages/checkout-gift-subscription-for-items) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/collect-now#brand_id) has been added as request body parameter to [`collect_now`](https://apidocs.chargebee.com/docs/api/hosted_pages/collect-now) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/accept-a-quote#brand_id) has been added as request body parameter to [`accept_a_quote`](https://apidocs.chargebee.com/docs/api/hosted_pages/accept-a-quote) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/create-checkout-for-a-new-subscription#brand_id) has been added as request body parameter to [`create_checkout_for_a_new_subscription`](https://apidocs.chargebee.com/docs/api/hosted_pages/create-checkout-for-a-new-subscription) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/claim-a-gift-subscription#brand_id) has been added as request body parameter to [`claim_a_gift_subscription`](https://apidocs.chargebee.com/docs/api/hosted_pages/claim-a-gift-subscription) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/create-checkout-to-update-a-subscription#brand_id) has been added as request body parameter to [`create_checkout_to_update_a_subscription`](https://apidocs.chargebee.com/docs/api/hosted_pages/create-checkout-to-update-a-subscription) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/create-a-pre-cancel-hosted-page#brand_id) has been added as request body parameter to [`create_a_pre-cancel_hosted_page`](https://apidocs.chargebee.com/docs/api/hosted_pages/create-a-pre-cancel-hosted-page) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/hosted_pages/manage-payment-sources#brand_id) has been added as request body parameter to [`manage_payment_sources`](https://apidocs.chargebee.com/docs/api/hosted_pages/manage-payment-sources) in [`HostedPage`](https://apidocs.chargebee.com/docs/api/hosted_pages). +- [`line_items.is_partial_tax_applied`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice#line_items_is_partial_tax_applied) 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). +- [`line_items.taxable_amount`](https://apidocs.chargebee.com/docs/api/invoices/import-invoice#line_items_taxable_amount) 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). +- [`id`](https://apidocs.chargebee.com/docs/api/ledger_operations/allocate#id) has been added as request body parameter to [`allocate`](https://apidocs.chargebee.com/docs/api/ledger_operations/allocate) in [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations). +- [`effective_from`](https://apidocs.chargebee.com/docs/api/ledger_operations/allocate#effective_from) has been added as request body parameter to [`allocate`](https://apidocs.chargebee.com/docs/api/ledger_operations/allocate) in [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_intents/create-a-payment-intent#brand_id) has been added as request body parameter to [`create_a_payment_intent`](https://apidocs.chargebee.com/docs/api/payment_intents/create-a-payment-intent) in [`PaymentIntent`](https://apidocs.chargebee.com/docs/api/payment_intents). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-permanent-token#brand_id) has been added as request body parameter to [`create_using_permanent_token`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-permanent-token) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-card-payment-source#brand_id) has been added as request body parameter to [`create_a_card_payment_source`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-card-payment-source) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-payment-intent#brand_id) has been added as request body parameter to [`create_using_payment_intent`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-payment-intent) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-voucher-payment-method#brand_id) has been added as request body parameter to [`create_a_voucher_payment_method`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-voucher-payment-method) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-gateway-temporary-token#brand_id) has been added as request body parameter to [`create_using_gateway_temporary_token`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-gateway-temporary-token) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`network_transaction_reference`](https://apidocs.chargebee.com/docs/api/payment_sources/update-a-card-payment-source#network_transaction_reference) has been added as request body parameter to [`update_a_card_payment_source`](https://apidocs.chargebee.com/docs/api/payment_sources/update-a-card-payment-source) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-chargebee-token#brand_id) has been added as request body parameter to [`create_using_chargebee_token`](https://apidocs.chargebee.com/docs/api/payment_sources/create-using-chargebee-token) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-bank-account-payment-source#brand_id) has been added as request body parameter to [`create_a_bank_account_payment_source`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-bank-account-payment-source) in [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-new-subscription#brand_id) has been added as request body parameter to [`create_pricing_page_for_new_subscription`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-new-subscription) in [`PricingPageSession`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions). +- [`id`](https://apidocs.chargebee.com/docs/api/promotional_grants/create-promotional-grant#id) has been added as request body parameter to [`create_promotional_grant`](https://apidocs.chargebee.com/docs/api/promotional_grants/create-promotional-grant) in [`PromotionalGrant`](https://apidocs.chargebee.com/docs/api/promotional_grants). +- [`effective_from`](https://apidocs.chargebee.com/docs/api/promotional_grants/create-promotional-grant#effective_from) has been added as request body parameter to [`create_promotional_grant`](https://apidocs.chargebee.com/docs/api/promotional_grants/create-promotional-grant) in [`PromotionalGrant`](https://apidocs.chargebee.com/docs/api/promotional_grants). +- [`billing_configuration`](https://apidocs.chargebee.com/docs/api/ramps/create-a-ramp#billing_configuration) 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). +- [`billing_configuration`](https://apidocs.chargebee.com/docs/api/ramps/update-a-subscription-ramp#billing_configuration) 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). +- [`subscription_items.description`](https://apidocs.chargebee.com/docs/api/subscriptions/update-subscription-for-items#subscription_items_description) has been added as request body parameter to [`update_subscription_for_items`](https://apidocs.chargebee.com/docs/api/subscriptions/update-subscription-for-items) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/subscriptions/create-a-subscription#brand_id) has been added as request body parameter to [`create_a_subscription`](https://apidocs.chargebee.com/docs/api/subscriptions/create-a-subscription) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/subscriptions/create-subscription-for-customer#brand_id) has been added as request body parameter to [`create_subscription_for_customer`](https://apidocs.chargebee.com/docs/api/subscriptions/create-subscription-for-customer) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- [`subscription_items.description`](https://apidocs.chargebee.com/docs/api/subscriptions/import-subscription-for-items#subscription_items_description) has been added as request body parameter to [`import_subscription_for_items`](https://apidocs.chargebee.com/docs/api/subscriptions/import-subscription-for-items) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- [`subscription_items.description`](https://apidocs.chargebee.com/docs/api/subscriptions/create-subscription-for-items#subscription_items_description) has been added as request body parameter to [`create_subscription_for_items`](https://apidocs.chargebee.com/docs/api/subscriptions/create-subscription-for-items) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- [`brand_id`](https://apidocs.chargebee.com/docs/api/subscriptions/create-subscription-for-items#brand_id) has been added as request body parameter to [`create_subscription_for_items`](https://apidocs.chargebee.com/docs/api/subscriptions/create-subscription-for-items) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). + + +### New Events: +- [`business_rule_deleted`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rule_deleted) has been added. +- [`business_rules_applied`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rules_applied) has been added. +- [`business_ruleset_updated`](https://apidocs.chargebee.com/docs/api/events/webhook/business_ruleset_updated) has been added. +- [`business_rule_created`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rule_created) has been added. +- [`einvoice_created`](https://apidocs.chargebee.com/docs/api/events/webhook/einvoice_created) has been added. +- [`business_ruleset_deactivated`](https://apidocs.chargebee.com/docs/api/events/webhook/business_ruleset_deactivated) has been added. +- [`business_ruleset_deleted`](https://apidocs.chargebee.com/docs/api/events/webhook/business_ruleset_deleted) has been added. +- [`business_ruleset_created`](https://apidocs.chargebee.com/docs/api/events/webhook/business_ruleset_created) has been added. +- [`business_ruleset_activated`](https://apidocs.chargebee.com/docs/api/events/webhook/business_ruleset_activated) has been added. +- [`business_rule_deactivated`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rule_deactivated) has been added. +- [`einvoice_updated`](https://apidocs.chargebee.com/docs/api/events/webhook/einvoice_updated) has been added. +- [`business_rule_released`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rule_released) has been added. +- [`business_rule_activated`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rule_activated) has been added. +- [`business_rule_updated`](https://apidocs.chargebee.com/docs/api/events/webhook/business_rule_updated) has been added. + + +### New Enums: +- `business_ruleset` and `price_ramp` have been added as new values enum `EntityType`. +- `einvoice_created`, `einvoice_updated`, `business_rule_created`, `business_rule_updated`, `business_rule_activated`, `business_rule_deactivated`, `business_rule_deleted`, `business_rule_released`, `business_rules_applied`, `business_ruleset_created`, `business_ruleset_updated`, `business_ruleset_activated`, `business_ruleset_deactivated`, and `business_ruleset_deleted` have been added as new values enum `EventType`. +- `payu` has been added as a new value enum `Gateway`. +- `payu` has been added as a new value enum `GatewayName`. +- `blik`, `fpx`, `wero`, `p24`, `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `affirm_pay`, and `rakuten_pay` have been added as new values enum `PaymentMethod`. +- `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `blik`, `fpx`, `wero`, `p24`, `affirm_pay`, and `rakuten_pay` have been added as new values enum `PaymentMethodType`. +- `rescheduled`, `succeeded`, `failed`, `deferred`, `delivered`, `opened`, `bounced`, and `dropped` have been added as new values enum `Status`. +- `zero_rated` has been added as a new value enum `Taxability`. +- `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `blik`, `fpx`, `wero`, `p24`, `affirm_pay`, and `rakuten_pay` have been added as new values enum `Type`. +- `cpq_quote` has been added as a new value to enum attribute [`entity_type`](https://apidocs.chargebee.com/docs/api/applied_business_rules/applied-business-rule-object#entity_type) in [`AppliedBusinessRule`](https://apidocs.chargebee.com/docs/api/applied_business_rules). +- `stop_on_first_true`, `stop_on_first_false`, `execute_all`, and `execute_all_true` have been added as new values to enum attribute [`execute_mode`](https://apidocs.chargebee.com/docs/api/business_rulesets/business-ruleset-object#execute_mode) in [`BusinessRuleset`](https://apidocs.chargebee.com/docs/api/business_rulesets). +- `active` and `archived` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/custom_data_schemas/custom-data-schema-object#status) in [`CustomDataSchema`](https://apidocs.chargebee.com/docs/api/custom_data_schemas). +- `initiated`, `funds_withdrawn`, `in_review`, `cancelled`, `lost`, and `won` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/disputes/dispute-object#status) in [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `chargeback` and `inquiry` have been added as new values to enum attribute [`type`](https://apidocs.chargebee.com/docs/api/disputes/dispute-object#type) in [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `invoice` and `credit_note` have been added as new values to enum attribute [`entity_type`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#entity_type) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- `overdraft_settlement` has been added as a new value to enum attribute [`type`](https://apidocs.chargebee.com/docs/api/ledger_operations/ledger-operation-object#type) in [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations). +- `subscription_not_found_in_source` has been added as a new value to enum attribute [`expiration_reason`](https://apidocs.chargebee.com/docs/api/omnichannel_subscription_items/omnichannel-subscription-item-object#expiration_reason) in [`OmnichannelSubscriptionItem`](https://apidocs.chargebee.com/docs/api/omnichannel_subscription_items). +- `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `blik`, `fpx`, `wero`, `p24`, `affirm_pay`, and `rakuten_pay` 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). +- `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `blik`, `fpx`, `wero`, `p24`, `affirm_pay`, and `rakuten_pay` 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). +- `true` and `false` have been added as new values to enum query parameter `draft.is` in [`list_business_rules`](https://apidocs.chargebee.com/docs/api/business_rules/list-business-rules) of [`BusinessRule`](https://apidocs.chargebee.com/docs/api/business_rules). +- `true` and `false` have been added as new values to enum query parameter `active.is` in [`list_business_rules`](https://apidocs.chargebee.com/docs/api/business_rules/list-business-rules) of [`BusinessRule`](https://apidocs.chargebee.com/docs/api/business_rules). +- `stop_on_first_true`, `stop_on_first_false`, `execute_all`, and `execute_all_true` have been added as new values to enum request body parameter `execute_mode` in [`update_a_business_ruleset`](https://apidocs.chargebee.com/docs/api/business_rulesets/update-a-business-ruleset) of [`BusinessRuleset`](https://apidocs.chargebee.com/docs/api/business_rulesets). +- `true` and `false` have been added as new values to enum query parameter `active.is` in [`list_rules_in_a_business_ruleset`](https://apidocs.chargebee.com/docs/api/business_rulesets/list-rules-in-a-business-ruleset) of [`BusinessRuleset`](https://apidocs.chargebee.com/docs/api/business_rulesets). +- `true` and `false` have been added as new values to enum query parameter `active.is` in [`list_business_rulesets`](https://apidocs.chargebee.com/docs/api/business_rulesets/list-business-rulesets) of [`BusinessRuleset`](https://apidocs.chargebee.com/docs/api/business_rulesets). +- `stop_on_first_true`, `stop_on_first_false`, `execute_all`, and `execute_all_true` have been added as new values to enum request body parameter `execute_mode` in [`create_a_business_ruleset`](https://apidocs.chargebee.com/docs/api/business_rulesets/create-a-business-ruleset) of [`BusinessRuleset`](https://apidocs.chargebee.com/docs/api/business_rulesets). +- `dankort` has been added as a new value to enum request body parameter `preferred_scheme` in [`update_card_for_a_customer`](https://apidocs.chargebee.com/docs/api/cards/update-card-for-a-customer) of [`Card`](https://apidocs.chargebee.com/docs/api/cards). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`create_a_customer`](https://apidocs.chargebee.com/docs/api/customers/create-a-customer) of [`Customer`](https://apidocs.chargebee.com/docs/api/customers). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`collect_payment_for_customer`](https://apidocs.chargebee.com/docs/api/customers/collect-payment-for-customer) of [`Customer`](https://apidocs.chargebee.com/docs/api/customers). +- `initiated`, `in_review`, `lost`, `funds_withdrawn`, `won`, and `cancelled` have been added as new values to enum query parameter `status.is` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `initiated`, `in_review`, `lost`, `funds_withdrawn`, `won`, and `cancelled` have been added as new values to enum query parameter `status.is_not` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `initiated`, `in_review`, `lost`, `funds_withdrawn`, `won`, and `cancelled` have been added as new values to enum query parameter `status.in` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `initiated`, `in_review`, `lost`, `funds_withdrawn`, `won`, and `cancelled` have been added as new values to enum query parameter `status.not_in` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `inquiry` and `chargeback` have been added as new values to enum query parameter `type.is` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `inquiry` and `chargeback` have been added as new values to enum query parameter `type.is_not` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `inquiry` and `chargeback` have been added as new values to enum query parameter `type.in` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `inquiry` and `chargeback` have been added as new values to enum query parameter `type.not_in` in [`list_disputes`](https://apidocs.chargebee.com/docs/api/disputes/list-disputes) of [`Dispute`](https://apidocs.chargebee.com/docs/api/disputes). +- `updated_at` has been added as a new value to enum query parameter `sort_by.asc` in [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) of [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- `updated_at` has been added as a new value to enum query parameter `sort_by.desc` in [`list_e-invoices`](https://apidocs.chargebee.com/docs/api/einvoices/list-e-invoices) of [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`create_an_invoice`](https://apidocs.chargebee.com/docs/api/invoices/create-an-invoice) of [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`create_invoice_for_items_and_one-time_charges`](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) of [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices). +- `overdraft_settlement` has been added as a new value to enum query parameter `type.is` in [`list_ledger_operations`](https://apidocs.chargebee.com/docs/api/ledger_operations/list-ledger-operations) of [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations). +- `overdraft_settlement` has been added as a new value to enum query parameter `type.in` in [`list_ledger_operations`](https://apidocs.chargebee.com/docs/api/ledger_operations/list-ledger-operations) of [`LedgerOperation`](https://apidocs.chargebee.com/docs/api/ledger_operations). +- `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `blik`, `fpx`, `wero`, `p24`, `affirm_pay`, and `rakuten_pay` 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). +- `ovo`, `momo`, `mercado_pago`, `nequi`, `nupay`, `picpay`, `thai_qr`, `blik`, `fpx`, `wero`, `p24`, `affirm_pay`, and `rakuten_pay` 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). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`create_a_card_payment_source`](https://apidocs.chargebee.com/docs/api/payment_sources/create-a-card-payment-source) of [`PaymentSource`](https://apidocs.chargebee.com/docs/api/payment_sources). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`update_subscription_for_items`](https://apidocs.chargebee.com/docs/api/subscriptions/update-subscription-for-items) of [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`create_a_subscription`](https://apidocs.chargebee.com/docs/api/subscriptions/create-a-subscription) of [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`update_a_subscription`](https://apidocs.chargebee.com/docs/api/subscriptions/update-a-subscription) of [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). +- `dankort` has been added as a new value to enum request body parameter `card.preferred_scheme` in [`import_a_subscription`](https://apidocs.chargebee.com/docs/api/subscriptions/import-a-subscription) of [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions). + + +### Deprecated Attributes: +- [`granted_amount`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#granted_amount) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`balance`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#balance) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`hold_amount`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#hold_amount) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`used_amount`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#used_amount) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`expired_amount`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#expired_amount) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`rolled_over_amount`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#rolled_over_amount) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). +- [`voided_amount`](https://apidocs.chargebee.com/docs/api/grant_blocks/grant-block-object#voided_amount) has been deprecated in [`GrantBlock`](https://apidocs.chargebee.com/docs/api/grant_blocks). + + + ### v3.28.0 (2026-08-19) * * * ### New Resources: diff --git a/VERSION b/VERSION index a72fd67b..c7c97732 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.28.0 +3.29.0 diff --git a/chargebee/main.py b/chargebee/main.py index ac964d62..e1a941c3 100644 --- a/chargebee/main.py +++ b/chargebee/main.py @@ -44,6 +44,9 @@ def __init__( self.AdvanceInvoiceSchedule = chargebee.AdvanceInvoiceSchedule(self.env) self.Alert = chargebee.Alert(self.env) self.AlertStatus = chargebee.AlertStatus(self.env) + self.AppliedBusinessRule = chargebee.AppliedBusinessRule(self.env) + self.AppliedRule = chargebee.AppliedRule(self.env) + self.ApplyRule = chargebee.ApplyRule(self.env) self.AsyncResponse = chargebee.AsyncResponse(self.env) self.AsyncResponseList = chargebee.AsyncResponseList(self.env) self.AttachedItem = chargebee.AttachedItem(self.env) @@ -52,6 +55,9 @@ def __init__( self.Brand = chargebee.Brand(self.env) self.BusinessEntity = chargebee.BusinessEntity(self.env) self.BusinessEntityTransfer = chargebee.BusinessEntityTransfer(self.env) + self.BusinessRule = chargebee.BusinessRule(self.env) + self.BusinessRuleset = chargebee.BusinessRuleset(self.env) + self.BusinessRulesetRule = chargebee.BusinessRulesetRule(self.env) self.Card = chargebee.Card(self.env) self.ColumnDefinition = chargebee.ColumnDefinition(self.env) self.Comment = chargebee.Comment(self.env) @@ -66,12 +72,15 @@ def __init__( self.CreditNoteEstimate = chargebee.CreditNoteEstimate(self.env) self.CreditUnit = chargebee.CreditUnit(self.env) self.Currency = chargebee.Currency(self.env) + self.CustomDataSchema = chargebee.CustomDataSchema(self.env) self.Customer = chargebee.Customer(self.env) self.CustomerEntitlement = chargebee.CustomerEntitlement(self.env) self.DifferentialPrice = chargebee.DifferentialPrice(self.env) self.Discount = chargebee.Discount(self.env) + self.Dispute = chargebee.Dispute(self.env) self.Download = chargebee.Download(self.env) self.Einvoice = chargebee.Einvoice(self.env) + self.EmailLog = chargebee.EmailLog(self.env) self.Entitlement = chargebee.Entitlement(self.env) self.EntitlementOverride = chargebee.EntitlementOverride(self.env) self.Estimate = chargebee.Estimate(self.env) diff --git a/chargebee/models/__init__.py b/chargebee/models/__init__.py index a3becac0..fe5f2d63 100644 --- a/chargebee/models/__init__.py +++ b/chargebee/models/__init__.py @@ -106,6 +106,12 @@ from chargebee.models.alert_status.operations import AlertStatus +from chargebee.models.applied_business_rule.operations import AppliedBusinessRule + +from chargebee.models.applied_rule.operations import AppliedRule + +from chargebee.models.apply_rule.operations import ApplyRule + from chargebee.models.async_response.operations import AsyncResponse from chargebee.models.async_response_list.operations import AsyncResponseList @@ -122,6 +128,12 @@ from chargebee.models.business_entity_transfer.operations import BusinessEntityTransfer +from chargebee.models.business_rule.operations import BusinessRule + +from chargebee.models.business_ruleset.operations import BusinessRuleset + +from chargebee.models.business_ruleset_rule.operations import BusinessRulesetRule + from chargebee.models.card.operations import Card from chargebee.models.column_definition.operations import ColumnDefinition @@ -150,6 +162,8 @@ from chargebee.models.currency.operations import Currency +from chargebee.models.custom_data_schema.operations import CustomDataSchema + from chargebee.models.customer.operations import Customer from chargebee.models.customer_entitlement.operations import CustomerEntitlement @@ -158,10 +172,14 @@ from chargebee.models.discount.operations import Discount +from chargebee.models.dispute.operations import Dispute + from chargebee.models.download.operations import Download from chargebee.models.einvoice.operations import Einvoice +from chargebee.models.email_log.operations import EmailLog + from chargebee.models.entitlement.operations import Entitlement from chargebee.models.entitlement_override.operations import EntitlementOverride diff --git a/chargebee/models/applied_business_rule/__init__.py b/chargebee/models/applied_business_rule/__init__.py new file mode 100644 index 00000000..40548bfc --- /dev/null +++ b/chargebee/models/applied_business_rule/__init__.py @@ -0,0 +1,2 @@ +from .operations import AppliedBusinessRule +from .responses import AppliedBusinessRuleResponse diff --git a/chargebee/models/applied_business_rule/operations.py b/chargebee/models/applied_business_rule/operations.py new file mode 100644 index 00000000..297ebde1 --- /dev/null +++ b/chargebee/models/applied_business_rule/operations.py @@ -0,0 +1,17 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast +from enum import Enum + + +@dataclass +class AppliedBusinessRule: + env: environment.Environment + + class EntityType(Enum): + CPQ_QUOTE = "cpq_quote" + + def __str__(self): + return self.value + + pass diff --git a/chargebee/models/applied_business_rule/responses.py b/chargebee/models/applied_business_rule/responses.py new file mode 100644 index 00000000..922c616e --- /dev/null +++ b/chargebee/models/applied_business_rule/responses.py @@ -0,0 +1,16 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any + + +@dataclass +class AppliedBusinessRuleResponse(Model): + raw_data: Dict[Any, Any] = None + handle: str = None + entity_type: str = None + entity_id: int = None + entity_version: int = None + rule_id: str = None + version: int = None + created_at: int = None + modified_at: int = None diff --git a/chargebee/models/applied_rule/__init__.py b/chargebee/models/applied_rule/__init__.py new file mode 100644 index 00000000..34c326c6 --- /dev/null +++ b/chargebee/models/applied_rule/__init__.py @@ -0,0 +1,2 @@ +from .operations import AppliedRule +from .responses import AppliedRuleResponse diff --git a/chargebee/models/applied_rule/operations.py b/chargebee/models/applied_rule/operations.py new file mode 100644 index 00000000..026e4385 --- /dev/null +++ b/chargebee/models/applied_rule/operations.py @@ -0,0 +1,10 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast + + +@dataclass +class AppliedRule: + env: environment.Environment + + pass diff --git a/chargebee/models/applied_rule/responses.py b/chargebee/models/applied_rule/responses.py new file mode 100644 index 00000000..5690c5e5 --- /dev/null +++ b/chargebee/models/applied_rule/responses.py @@ -0,0 +1,15 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any + + +@dataclass +class AppliedRuleResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + version: int = None + name: str = None + description: str = None + evaluation_result: bool = None + error_message: str = None + actions: List[Dict[Any, Any]] = None diff --git a/chargebee/models/apply_rule/__init__.py b/chargebee/models/apply_rule/__init__.py new file mode 100644 index 00000000..b89c6bfd --- /dev/null +++ b/chargebee/models/apply_rule/__init__.py @@ -0,0 +1,2 @@ +from .operations import ApplyRule +from .responses import ApplyRuleResponse diff --git a/chargebee/models/apply_rule/operations.py b/chargebee/models/apply_rule/operations.py new file mode 100644 index 00000000..ebe78024 --- /dev/null +++ b/chargebee/models/apply_rule/operations.py @@ -0,0 +1,19 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast + + +@dataclass +class ApplyRule: + env: environment.Environment + + class Rule(TypedDict): + id: Required[str] + version: NotRequired[int] + name: NotRequired[str] + description: NotRequired[str] + evaluation_result: NotRequired[bool] + error_message: NotRequired[str] + actions: NotRequired[List[Dict[Any, Any]]] + + pass diff --git a/chargebee/models/apply_rule/responses.py b/chargebee/models/apply_rule/responses.py new file mode 100644 index 00000000..283a96f7 --- /dev/null +++ b/chargebee/models/apply_rule/responses.py @@ -0,0 +1,27 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any + + +@dataclass +class RuleResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + version: int = None + name: str = None + description: str = None + evaluation_result: bool = None + error_message: str = None + actions: List[Dict[Any, Any]] = None + + +@dataclass +class ApplyRuleResponse(Model): + raw_data: Dict[Any, Any] = None + evaluate: bool = None + rule_id: str = None + ruleset_id: str = None + skip_failed_rules: bool = None + structured_expression: Dict[Any, Any] = None + context: Dict[Any, Any] = None + rules: List[RuleResponse] = None diff --git a/chargebee/models/business_rule/__init__.py b/chargebee/models/business_rule/__init__.py new file mode 100644 index 00000000..132b41a3 --- /dev/null +++ b/chargebee/models/business_rule/__init__.py @@ -0,0 +1,2 @@ +from .operations import BusinessRule +from .responses import BusinessRuleResponse diff --git a/chargebee/models/business_rule/operations.py b/chargebee/models/business_rule/operations.py new file mode 100644 index 00000000..ce4927c6 --- /dev/null +++ b/chargebee/models/business_rule/operations.py @@ -0,0 +1,267 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast +from chargebee.filters import Filters + + +@dataclass +class BusinessRule: + env: environment.Environment + + class CreateParams(TypedDict): + id: NotRequired[str] + name: Required[str] + description: NotRequired[str] + tags: NotRequired[List[Dict[Any, Any]]] + structured_expression: Required[Dict[Any, Any]] + actions_on_success: NotRequired[List[Dict[Any, Any]]] + + class UpdateDraftParams(TypedDict): + name: Required[str] + description: NotRequired[str] + tags: NotRequired[List[Dict[Any, Any]]] + structured_expression: Required[Dict[Any, Any]] + actions_on_success: NotRequired[List[Dict[Any, Any]]] + + class ListParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + draft: NotRequired[Filters.BooleanFilter] + active: NotRequired[Filters.BooleanFilter] + + class ApplyRulesParams(TypedDict): + evaluate: NotRequired[bool] + rule_id: NotRequired[str] + ruleset_id: NotRequired[str] + skip_failed_rules: NotRequired[bool] + structured_expression: NotRequired[Dict[Any, Any]] + context: NotRequired[Dict[Any, Any]] + + def create(self, params: CreateParams, headers=None) -> CreateResponse: + jsonKeys = { + "tags": 0, + "structured_expression": 0, + "actions_on_success": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules"), + self.env, + cast(Dict[Any, Any], params), + headers, + CreateResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="create", + ) + + def delete(self, id, headers=None) -> DeleteResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", id, "delete"), + self.env, + None, + headers, + DeleteResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="delete", + ) + + def update_draft( + self, id, params: UpdateDraftParams, headers=None + ) -> UpdateDraftResponse: + jsonKeys = { + "tags": 0, + "structured_expression": 0, + "actions_on_success": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", id, "draft"), + self.env, + cast(Dict[Any, Any], params), + headers, + UpdateDraftResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="updateDraft", + ) + + def list(self, params: ListParams = None, headers=None) -> ListResponse: + jsonKeys = {} + options = {} + return request.send_list_request( + "get", + request.uri_path("business_rules"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="list", + ) + + def retrieve(self, id, headers=None) -> RetrieveResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("business_rules", id), + self.env, + None, + headers, + RetrieveResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="retrieve", + ) + + def retrieve_draft(self, id, headers=None) -> RetrieveDraftResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("business_rules", id, "draft"), + self.env, + None, + headers, + RetrieveDraftResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="retrieveDraft", + ) + + def delete_draft(self, id, headers=None) -> DeleteDraftResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", id, "delete_draft"), + self.env, + None, + headers, + DeleteDraftResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="deleteDraft", + ) + + def activate_rule(self, id, headers=None) -> ActivateRuleResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", id, "activate"), + self.env, + None, + headers, + ActivateRuleResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="activateRule", + ) + + def deactivate_rule(self, id, headers=None) -> DeactivateRuleResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", id, "deactivate"), + self.env, + None, + headers, + DeactivateRuleResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="deactivateRule", + ) + + def release_rule(self, id, headers=None) -> ReleaseRuleResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", id, "release"), + self.env, + None, + headers, + ReleaseRuleResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="releaseRule", + ) + + def apply_rules( + self, params: ApplyRulesParams = None, headers=None + ) -> ApplyRulesResponse: + jsonKeys = { + "structured_expression": 0, + "context": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rules", "apply_rules"), + self.env, + cast(Dict[Any, Any], params), + headers, + ApplyRulesResponse, + None, + False, + jsonKeys, + options, + resource="businessRule", + operation="applyRules", + ) diff --git a/chargebee/models/business_rule/responses.py b/chargebee/models/business_rule/responses.py new file mode 100644 index 00000000..aee713fe --- /dev/null +++ b/chargebee/models/business_rule/responses.py @@ -0,0 +1,94 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any +from chargebee.response import Response +from chargebee.models import apply_rule + + +@dataclass +class BusinessRuleResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + name: str = None + description: str = None + latest_version: int = None + active: bool = None + released_at: int = None + released_by: str = None + updated_at: int = None + updated_by: str = None + created_by: str = None + created_at: int = None + tags: List[Dict[Any, Any]] = None + structured_expression: Dict[Any, Any] = None + actions_on_success: List[Dict[Any, Any]] = None + resource_version: int = None + + +@dataclass +class CreateResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class DeleteResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class UpdateDraftResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class ListBusinessRuleResponse: + business_rule: BusinessRuleResponse + + +@dataclass +class ListResponse(Response): + list: List[ListBusinessRuleResponse] + next_offset: str = None + + +@dataclass +class RetrieveResponse(Response): + business_rule: BusinessRuleResponse + + +@dataclass +class RetrieveDraftResponse(Response): + business_rule: BusinessRuleResponse + + +@dataclass +class DeleteDraftResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class ActivateRuleResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class DeactivateRuleResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class ReleaseRuleResponse(Response): + is_idempotency_replayed: bool + business_rule: BusinessRuleResponse + + +@dataclass +class ApplyRulesResponse(Response): + is_idempotency_replayed: bool + apply_rule: "apply_rule.ApplyRuleResponse" diff --git a/chargebee/models/business_ruleset/__init__.py b/chargebee/models/business_ruleset/__init__.py new file mode 100644 index 00000000..df17433d --- /dev/null +++ b/chargebee/models/business_ruleset/__init__.py @@ -0,0 +1,2 @@ +from .operations import BusinessRuleset +from .responses import BusinessRulesetResponse diff --git a/chargebee/models/business_ruleset/operations.py b/chargebee/models/business_ruleset/operations.py new file mode 100644 index 00000000..a7efda77 --- /dev/null +++ b/chargebee/models/business_ruleset/operations.py @@ -0,0 +1,256 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast +from enum import Enum +from chargebee.filters import Filters + + +@dataclass +class BusinessRuleset: + env: environment.Environment + + class ExecuteMode(Enum): + STOP_ON_FIRST_TRUE = "stop_on_first_true" + STOP_ON_FIRST_FALSE = "stop_on_first_false" + EXECUTE_ALL = "execute_all" + EXECUTE_ALL_TRUE = "execute_all_true" + + def __str__(self): + return self.value + + class CreateParams(TypedDict): + id: NotRequired[str] + name: Required[str] + description: NotRequired[str] + execute_mode: NotRequired["BusinessRuleset.ExecuteMode"] + rules: NotRequired[List[Dict[Any, Any]]] + + class UpdateParams(TypedDict): + name: Required[str] + description: NotRequired[str] + execute_mode: NotRequired["BusinessRuleset.ExecuteMode"] + rules: NotRequired[List[Dict[Any, Any]]] + + class AddRulesParams(TypedDict): + rules: NotRequired[List[Dict[Any, Any]]] + + class RemoveRulesParams(TypedDict): + rules: NotRequired[List[Dict[Any, Any]]] + + class ListRulesParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + active: NotRequired[Filters.BooleanFilter] + + class ListParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + active: NotRequired[Filters.BooleanFilter] + + def create(self, params: CreateParams, headers=None) -> CreateResponse: + jsonKeys = { + "rules": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets"), + self.env, + cast(Dict[Any, Any], params), + headers, + CreateResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="create", + ) + + def update(self, id, params: UpdateParams, headers=None) -> UpdateResponse: + jsonKeys = { + "rules": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets", id), + self.env, + cast(Dict[Any, Any], params), + headers, + UpdateResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="update", + ) + + def delete(self, id, headers=None) -> DeleteResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets", id, "delete"), + self.env, + None, + headers, + DeleteResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="delete", + ) + + def activate(self, id, headers=None) -> ActivateResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets", id, "activate"), + self.env, + None, + headers, + ActivateResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="activate", + ) + + def deactivate(self, id, headers=None) -> DeactivateResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets", id, "deactivate"), + self.env, + None, + headers, + DeactivateResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="deactivate", + ) + + def add_rules( + self, id, params: AddRulesParams = None, headers=None + ) -> AddRulesResponse: + jsonKeys = { + "rules": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets", id, "add_rules"), + self.env, + cast(Dict[Any, Any], params), + headers, + AddRulesResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="addRules", + ) + + def remove_rules( + self, id, params: RemoveRulesParams = None, headers=None + ) -> RemoveRulesResponse: + jsonKeys = { + "rules": 0, + } + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("business_rulesets", id, "remove_rules"), + self.env, + cast(Dict[Any, Any], params), + headers, + RemoveRulesResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="removeRules", + ) + + def list_rules( + self, id, params: ListRulesParams = None, headers=None + ) -> ListRulesResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("business_rulesets", id, "rules"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListRulesResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="listRules", + ) + + def list(self, params: ListParams = None, headers=None) -> ListResponse: + jsonKeys = {} + options = {} + return request.send_list_request( + "get", + request.uri_path("business_rulesets"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="list", + ) + + def retrieve(self, id, headers=None) -> RetrieveResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("business_rulesets", id), + self.env, + None, + headers, + RetrieveResponse, + None, + False, + jsonKeys, + options, + resource="businessRuleset", + operation="retrieve", + ) diff --git a/chargebee/models/business_ruleset/responses.py b/chargebee/models/business_ruleset/responses.py new file mode 100644 index 00000000..b35dcfae --- /dev/null +++ b/chargebee/models/business_ruleset/responses.py @@ -0,0 +1,84 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any +from chargebee.response import Response +from chargebee.models import business_ruleset_rule + + +@dataclass +class BusinessRulesetResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + name: str = None + description: str = None + active: bool = None + execute_mode: str = None + updated_at: int = None + updated_by: str = None + created_by: str = None + created_at: int = None + rules: List[Dict[Any, Any]] = None + resource_version: int = None + + +@dataclass +class CreateResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class UpdateResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class DeleteResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class ActivateResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class DeactivateResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class AddRulesResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class RemoveRulesResponse(Response): + is_idempotency_replayed: bool + business_ruleset: BusinessRulesetResponse + + +@dataclass +class ListRulesResponse(Response): + business_ruleset_rule: "business_ruleset_rule.BusinessRulesetRuleResponse" + + +@dataclass +class ListBusinessRulesetResponse: + business_ruleset: BusinessRulesetResponse + + +@dataclass +class ListResponse(Response): + list: List[ListBusinessRulesetResponse] + next_offset: str = None + + +@dataclass +class RetrieveResponse(Response): + business_ruleset: BusinessRulesetResponse diff --git a/chargebee/models/business_ruleset_rule/__init__.py b/chargebee/models/business_ruleset_rule/__init__.py new file mode 100644 index 00000000..9c06f050 --- /dev/null +++ b/chargebee/models/business_ruleset_rule/__init__.py @@ -0,0 +1,2 @@ +from .operations import BusinessRulesetRule +from .responses import BusinessRulesetRuleResponse diff --git a/chargebee/models/business_ruleset_rule/operations.py b/chargebee/models/business_ruleset_rule/operations.py new file mode 100644 index 00000000..7f608aa5 --- /dev/null +++ b/chargebee/models/business_ruleset_rule/operations.py @@ -0,0 +1,10 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast + + +@dataclass +class BusinessRulesetRule: + env: environment.Environment + + pass diff --git a/chargebee/models/business_ruleset_rule/responses.py b/chargebee/models/business_ruleset_rule/responses.py new file mode 100644 index 00000000..6d51d9ab --- /dev/null +++ b/chargebee/models/business_ruleset_rule/responses.py @@ -0,0 +1,10 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any + + +@dataclass +class BusinessRulesetRuleResponse(Model): + raw_data: Dict[Any, Any] = None + rule_id: str = None + priority: int = None diff --git a/chargebee/models/card/operations.py b/chargebee/models/card/operations.py index 4494378c..aad36540 100644 --- a/chargebee/models/card/operations.py +++ b/chargebee/models/card/operations.py @@ -13,6 +13,7 @@ class PreferredScheme(Enum): CARTES_BANCAIRES = "cartes_bancaires" MASTERCARD = "mastercard" VISA = "visa" + DANKORT = "dankort" def __str__(self): return self.value diff --git a/chargebee/models/credit_note/operations.py b/chargebee/models/credit_note/operations.py index 05f76d88..a9ade4c0 100644 --- a/chargebee/models/credit_note/operations.py +++ b/chargebee/models/credit_note/operations.py @@ -354,6 +354,8 @@ class ImportCreditNoteLineItemParams(TypedDict): tax9_amount: NotRequired[int] tax10_name: NotRequired[str] tax10_amount: NotRequired[int] + is_partial_tax_applied: NotRequired[bool] + taxable_amount: NotRequired[int] proration_mode: NotRequired["CreditNote.LineItemProrationMode"] class ImportCreditNoteLineItemTierParams(TypedDict): @@ -636,6 +638,26 @@ def void_credit_note( operation="voidCreditNote", ) + def send_email(self, id, headers=None) -> SendEmailResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("credit_notes", id, "send_email"), + self.env, + None, + headers, + SendEmailResponse, + None, + False, + jsonKeys, + options, + resource="creditNote", + operation="sendEmail", + ) + def list(self, params: ListParams = None, headers=None) -> ListResponse: jsonKeys = {} options = {} diff --git a/chargebee/models/credit_note/responses.py b/chargebee/models/credit_note/responses.py index a010fd7e..cfdebb60 100644 --- a/chargebee/models/credit_note/responses.py +++ b/chargebee/models/credit_note/responses.py @@ -2,7 +2,14 @@ from chargebee.model import Model from typing import Dict, List, Any from chargebee.response import Response -from chargebee.models import invoice, transaction, transaction, download, invoice +from chargebee.models import ( + invoice, + transaction, + transaction, + download, + invoice, + email_log, +) @dataclass @@ -264,6 +271,7 @@ class CreditNoteResponse(Model): create_reason_code: str = None vat_number_prefix: str = None business_entity_id: str = None + brand_id: str = None shipping_address: ShippingAddressResponse = None billing_address: BillingAddressResponse = None einvoice: EinvoiceResponse = None @@ -313,6 +321,12 @@ class VoidCreditNoteResponse(Response): credit_note: CreditNoteResponse +@dataclass +class SendEmailResponse(Response): + is_idempotency_replayed: bool + email_logs: List["email_log.EmailLogResponse"] + + @dataclass class ListCreditNoteResponse: credit_note: CreditNoteResponse diff --git a/chargebee/models/custom_data_schema/__init__.py b/chargebee/models/custom_data_schema/__init__.py new file mode 100644 index 00000000..6af78710 --- /dev/null +++ b/chargebee/models/custom_data_schema/__init__.py @@ -0,0 +1,2 @@ +from .operations import CustomDataSchema +from .responses import CustomDataSchemaResponse diff --git a/chargebee/models/custom_data_schema/operations.py b/chargebee/models/custom_data_schema/operations.py new file mode 100644 index 00000000..8598222c --- /dev/null +++ b/chargebee/models/custom_data_schema/operations.py @@ -0,0 +1,18 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast +from enum import Enum + + +@dataclass +class CustomDataSchema: + env: environment.Environment + + class Status(Enum): + ACTIVE = "active" + ARCHIVED = "archived" + + def __str__(self): + return self.value + + pass diff --git a/chargebee/models/custom_data_schema/responses.py b/chargebee/models/custom_data_schema/responses.py new file mode 100644 index 00000000..5a910587 --- /dev/null +++ b/chargebee/models/custom_data_schema/responses.py @@ -0,0 +1,16 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any + + +@dataclass +class CustomDataSchemaResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + display_name: str = None + entity_type: str = None + schema_definition: str = None + status: str = None + created_at: int = None + modified_at: int = None + updated_at: int = None diff --git a/chargebee/models/customer/operations.py b/chargebee/models/customer/operations.py index c8bec38a..3808da0f 100644 --- a/chargebee/models/customer/operations.py +++ b/chargebee/models/customer/operations.py @@ -481,6 +481,7 @@ class CreateParams(TypedDict): billing_address: NotRequired["Customer.CreateBillingAddressParams"] entity_identifiers: NotRequired[List["Customer.CreateEntityIdentifierParams"]] business_entity_id: NotRequired[str] + brand_id: NotRequired[str] tax_providers_fields: NotRequired[ List["Customer.CreateTaxProvidersFieldParams"] ] @@ -1009,6 +1010,26 @@ def collect_payment( operation="collectPayment", ) + def send_payment_request(self, id, headers=None) -> SendPaymentRequestResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("customers", id, "send_payment_request"), + self.env, + None, + headers, + SendPaymentRequestResponse, + None, + False, + jsonKeys, + options, + resource="customer", + operation="sendPaymentRequest", + ) + def delete(self, id, params: DeleteParams = None, headers=None) -> DeleteResponse: jsonKeys = {} options = { diff --git a/chargebee/models/customer/responses.py b/chargebee/models/customer/responses.py index 800e075a..e0ee4cdb 100644 --- a/chargebee/models/customer/responses.py +++ b/chargebee/models/customer/responses.py @@ -11,6 +11,7 @@ hierarchy, contact, transaction, + email_log, ) @@ -196,6 +197,7 @@ class CustomerResponse(Model): vat_number_prefix: str = None entity_identifier_scheme: str = None entity_identifier_standard: str = None + brand_id: str = None @dataclass @@ -315,6 +317,12 @@ class CollectPaymentResponse(Response): transaction: "transaction.TransactionResponse" +@dataclass +class SendPaymentRequestResponse(Response): + is_idempotency_replayed: bool + email_logs: List["email_log.EmailLogResponse"] + + @dataclass class DeleteResponse(Response): is_idempotency_replayed: bool diff --git a/chargebee/models/dispute/__init__.py b/chargebee/models/dispute/__init__.py new file mode 100644 index 00000000..d13a7e65 --- /dev/null +++ b/chargebee/models/dispute/__init__.py @@ -0,0 +1,2 @@ +from .operations import Dispute +from .responses import DisputeResponse diff --git a/chargebee/models/dispute/operations.py b/chargebee/models/dispute/operations.py new file mode 100644 index 00000000..a96489e3 --- /dev/null +++ b/chargebee/models/dispute/operations.py @@ -0,0 +1,75 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast +from enum import Enum +from chargebee.filters import Filters + + +@dataclass +class Dispute: + env: environment.Environment + + class Status(Enum): + INITIATED = "initiated" + FUNDS_WITHDRAWN = "funds_withdrawn" + IN_REVIEW = "in_review" + CANCELLED = "cancelled" + LOST = "lost" + WON = "won" + + def __str__(self): + return self.value + + class Type(Enum): + CHARGEBACK = "chargeback" + INQUIRY = "inquiry" + + def __str__(self): + return self.value + + class ListParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + id: NotRequired[Filters.StringFilter] + status: NotRequired[Filters.EnumFilter] + type: NotRequired[Filters.EnumFilter] + customer_id: NotRequired[Filters.StringFilter] + transaction_id: NotRequired[Filters.StringFilter] + amount: NotRequired[Filters.NumberFilter] + created_at: NotRequired[Filters.TimestampFilter] + + def retrieve(self, id, headers=None) -> RetrieveResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("disputes", id), + self.env, + None, + headers, + RetrieveResponse, + None, + False, + jsonKeys, + options, + resource="dispute", + operation="retrieve", + ) + + def list(self, params: ListParams = None, headers=None) -> ListResponse: + jsonKeys = {} + options = {} + return request.send_list_request( + "get", + request.uri_path("disputes"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListResponse, + None, + False, + jsonKeys, + options, + resource="dispute", + operation="list", + ) diff --git a/chargebee/models/dispute/responses.py b/chargebee/models/dispute/responses.py new file mode 100644 index 00000000..f129e19a --- /dev/null +++ b/chargebee/models/dispute/responses.py @@ -0,0 +1,39 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any +from chargebee.response import Response + + +@dataclass +class DisputeResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + customer_id: str = None + transaction_id: str = None + gateway_account_id: str = None + id_at_gateway: str = None + currency_code: str = None + amount: int = None + reason: str = None + status: str = None + type: str = None + is_partial_dispute: bool = None + created_at: int = None + resource_version: int = None + updated_at: int = None + + +@dataclass +class RetrieveResponse(Response): + dispute: DisputeResponse + + +@dataclass +class ListDisputeResponse: + dispute: DisputeResponse + + +@dataclass +class ListResponse(Response): + list: List[ListDisputeResponse] + next_offset: str = None diff --git a/chargebee/models/einvoice/operations.py b/chargebee/models/einvoice/operations.py index 758101f0..1ce40bc6 100644 --- a/chargebee/models/einvoice/operations.py +++ b/chargebee/models/einvoice/operations.py @@ -2,12 +2,20 @@ from chargebee import request, environment from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast from enum import Enum +from chargebee.filters import Filters @dataclass class Einvoice: env: environment.Environment + class EntityType(Enum): + INVOICE = "invoice" + CREDIT_NOTE = "credit_note" + + def __str__(self): + return self.value + class Status(Enum): SCHEDULED = "scheduled" SKIPPED = "skipped" @@ -26,4 +34,79 @@ class Status(Enum): def __str__(self): return self.value - pass + class EinvoiceArtifactDirection(Enum): + OUTBOUND = "outbound" + INBOUND = "inbound" + + def __str__(self): + return self.value + + class EinvoiceArtifactStatus(Enum): + SCHEDULED = "scheduled" + SKIPPED = "skipped" + IN_PROGRESS = "in_progress" + SUCCESS = "success" + FAILED = "failed" + REGISTERED = "registered" + + def __str__(self): + return self.value + + class Artifact(TypedDict): + artifact_type: Required[str] + direction: Required["Einvoice.EinvoiceArtifactDirection"] + status: Required["Einvoice.EinvoiceArtifactStatus"] + code: NotRequired[str] + external_artifact_id: NotRequired[str] + created_at: Required[int] + resource_version: NotRequired[int] + updated_at: NotRequired[int] + deleted: Required[bool] + + class ListEinvoicesParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + id: NotRequired[Filters.StringFilter] + reference_id: NotRequired[Filters.StringFilter] + updated_at: NotRequired[Filters.TimestampFilter] + sort_by: NotRequired[Filters.SortFilter] + invoice_id: NotRequired[str] + credit_note_id: NotRequired[str] + + def retrieve(self, id, headers=None) -> RetrieveResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("einvoices", id), + self.env, + None, + headers, + RetrieveResponse, + None, + False, + jsonKeys, + options, + resource="einvoice", + operation="retrieve", + ) + + def list_einvoices( + self, params: ListEinvoicesParams = None, headers=None + ) -> ListEinvoicesResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("einvoices"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListEinvoicesResponse, + None, + False, + jsonKeys, + options, + resource="einvoice", + operation="listEinvoices", + ) diff --git a/chargebee/models/einvoice/responses.py b/chargebee/models/einvoice/responses.py index 0267f54b..988ef2a5 100644 --- a/chargebee/models/einvoice/responses.py +++ b/chargebee/models/einvoice/responses.py @@ -1,14 +1,53 @@ from dataclasses import dataclass from chargebee.model import Model from typing import Dict, List, Any +from chargebee.response import Response + + +@dataclass +class ArtifactResponse(Model): + raw_data: Dict[Any, Any] = None + artifact_type: str = None + direction: str = None + status: str = None + code: str = None + external_artifact_id: str = None + created_at: int = None + resource_version: int = None + updated_at: int = None + deleted: bool = None @dataclass class EinvoiceResponse(Model): raw_data: Dict[Any, Any] = None id: str = None + entity_type: str = None + entity_id: str = None reference_id: str = None reference_number: str = None status: str = None message: str = None + created_at: int = None + resource_version: int = None + updated_at: int = None + deleted: bool = None provider_references: List[Dict[Any, Any]] = None + business_entity_id: str = None + artifacts: List[ArtifactResponse] = None + + +@dataclass +class RetrieveResponse(Response): + einvoice: EinvoiceResponse + + +@dataclass +class ListEinvoicesEinvoiceResponse: + einvoice: EinvoiceResponse + + +@dataclass +class ListEinvoicesResponse(Response): + list: List[ListEinvoicesEinvoiceResponse] + next_offset: str = None diff --git a/chargebee/models/email_log/__init__.py b/chargebee/models/email_log/__init__.py new file mode 100644 index 00000000..d9223a27 --- /dev/null +++ b/chargebee/models/email_log/__init__.py @@ -0,0 +1,2 @@ +from .operations import EmailLog +from .responses import EmailLogResponse diff --git a/chargebee/models/email_log/operations.py b/chargebee/models/email_log/operations.py new file mode 100644 index 00000000..c939f9c6 --- /dev/null +++ b/chargebee/models/email_log/operations.py @@ -0,0 +1,36 @@ +from .responses import * +from chargebee import request, environment +from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast +from chargebee.filters import Filters + + +@dataclass +class EmailLog: + env: environment.Environment + + class EmailLogsForCustomerParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + sent_on: NotRequired[Filters.TimestampFilter] + business_entity_id: NotRequired[Filters.StringFilter] + brand_id: NotRequired[Filters.StringFilter] + + def email_logs_for_customer( + self, id, params: EmailLogsForCustomerParams = None, headers=None + ) -> EmailLogsForCustomerResponse: + jsonKeys = {} + options = {} + return request.send( + "get", + request.uri_path("customers", id, "email_logs"), + self.env, + cast(Dict[Any, Any], params), + headers, + EmailLogsForCustomerResponse, + None, + False, + jsonKeys, + options, + resource="emailLog", + operation="emailLogsForCustomer", + ) diff --git a/chargebee/models/email_log/responses.py b/chargebee/models/email_log/responses.py new file mode 100644 index 00000000..59395e47 --- /dev/null +++ b/chargebee/models/email_log/responses.py @@ -0,0 +1,32 @@ +from dataclasses import dataclass +from chargebee.model import Model +from typing import Dict, List, Any +from chargebee.response import Response + + +@dataclass +class EmailLogResponse(Model): + raw_data: Dict[Any, Any] = None + id: str = None + template_name: str = None + from_address: str = None + to_address: str = None + subject: str = None + status: str = None + sent_on: int = None + customer_id: str = None + site_id: str = None + business_entity_id: str = None + brand_id: str = None + error_message: str = None + + +@dataclass +class EmailLogsForCustomerEmailLogResponse: + email_log: EmailLogResponse + + +@dataclass +class EmailLogsForCustomerResponse(Response): + list: List[EmailLogsForCustomerEmailLogResponse] + next_offset: str = None diff --git a/chargebee/models/enums.py b/chargebee/models/enums.py index 13f5571e..3679ac46 100644 --- a/chargebee/models/enums.py +++ b/chargebee/models/enums.py @@ -396,6 +396,8 @@ class EnabledEvents(Enum): CREDIT_NOTE_CREATED_WITH_BACKDATING = "credit_note_created_with_backdating" CREDIT_NOTE_UPDATED = "credit_note_updated" CREDIT_NOTE_DELETED = "credit_note_deleted" + EINVOICE_CREATED = "einvoice_created" + EINVOICE_UPDATED = "einvoice_updated" PAYMENT_SCHEDULES_CREATED = "payment_schedules_created" PAYMENT_SCHEDULES_UPDATED = "payment_schedules_updated" PAYMENT_SCHEDULE_SCHEME_CREATED = "payment_schedule_scheme_created" @@ -598,9 +600,21 @@ class EnabledEvents(Enum): GRANT_BLOCKS_CREATED = "grant_blocks_created" GRANT_BLOCKS_UPDATED = "grant_blocks_updated" LEDGER_UPDATED = "ledger_updated" + BUSINESS_RULE_CREATED = "business_rule_created" + BUSINESS_RULE_UPDATED = "business_rule_updated" + BUSINESS_RULE_ACTIVATED = "business_rule_activated" + BUSINESS_RULE_DEACTIVATED = "business_rule_deactivated" + BUSINESS_RULE_DELETED = "business_rule_deleted" + BUSINESS_RULE_RELEASED = "business_rule_released" VAULT_TOKEN_CREATED = "vault_token_created" VAULT_TOKEN_UPDATED = "vault_token_updated" VAULT_TOKEN_DELETED = "vault_token_deleted" + BUSINESS_RULES_APPLIED = "business_rules_applied" + BUSINESS_RULESET_CREATED = "business_ruleset_created" + BUSINESS_RULESET_UPDATED = "business_ruleset_updated" + BUSINESS_RULESET_ACTIVATED = "business_ruleset_activated" + BUSINESS_RULESET_DEACTIVATED = "business_ruleset_deactivated" + BUSINESS_RULESET_DELETED = "business_ruleset_deleted" PLAN_CREATED = "plan_created" PLAN_UPDATED = "plan_updated" PLAN_DELETED = "plan_deleted" @@ -688,9 +702,10 @@ class EntityType(Enum): OMNICHANNEL_ONE_TIME_ORDER_ITEM = "omnichannel_one_time_order_item" USAGE_FILE = "usage_file" BUSINESS_RULE = "business_rule" - RULESET = "ruleset" + BUSINESS_RULESET = "business_ruleset" ALERT_STATUS = "alert_status" OMNICHANNEL_SUBSCRIPTION_ITEM_METRIC = "omnichannel_subscription_item_metric" + PRICE_RAMP = "price_ramp" def __str__(self): return self.value @@ -774,6 +789,8 @@ class EventType(Enum): CREDIT_NOTE_CREATED_WITH_BACKDATING = "credit_note_created_with_backdating" CREDIT_NOTE_UPDATED = "credit_note_updated" CREDIT_NOTE_DELETED = "credit_note_deleted" + EINVOICE_CREATED = "einvoice_created" + EINVOICE_UPDATED = "einvoice_updated" PAYMENT_SCHEDULES_CREATED = "payment_schedules_created" PAYMENT_SCHEDULES_UPDATED = "payment_schedules_updated" PAYMENT_SCHEDULE_SCHEME_CREATED = "payment_schedule_scheme_created" @@ -963,9 +980,21 @@ class EventType(Enum): GRANT_BLOCKS_CREATED = "grant_blocks_created" GRANT_BLOCKS_UPDATED = "grant_blocks_updated" LEDGER_UPDATED = "ledger_updated" + BUSINESS_RULE_CREATED = "business_rule_created" + BUSINESS_RULE_UPDATED = "business_rule_updated" + BUSINESS_RULE_ACTIVATED = "business_rule_activated" + BUSINESS_RULE_DEACTIVATED = "business_rule_deactivated" + BUSINESS_RULE_DELETED = "business_rule_deleted" + BUSINESS_RULE_RELEASED = "business_rule_released" VAULT_TOKEN_CREATED = "vault_token_created" VAULT_TOKEN_UPDATED = "vault_token_updated" VAULT_TOKEN_DELETED = "vault_token_deleted" + BUSINESS_RULES_APPLIED = "business_rules_applied" + BUSINESS_RULESET_CREATED = "business_ruleset_created" + BUSINESS_RULESET_UPDATED = "business_ruleset_updated" + BUSINESS_RULESET_ACTIVATED = "business_ruleset_activated" + BUSINESS_RULESET_DEACTIVATED = "business_ruleset_deactivated" + BUSINESS_RULESET_DELETED = "business_ruleset_deleted" PLAN_CREATED = "plan_created" PLAN_UPDATED = "plan_updated" PLAN_DELETED = "plan_deleted" @@ -1072,6 +1101,7 @@ class Gateway(Enum): TEMPUS = "tempus" MOYASAR = "moyasar" PAYWAY = "payway" + PAYU = "payu" GOCARDLESS = "gocardless" NOT_APPLICABLE = "not_applicable" @@ -1140,6 +1170,7 @@ class GatewayName(Enum): TEMPUS = "tempus" MOYASAR = "moyasar" PAYWAY = "payway" + PAYU = "payu" NOT_APPLICABLE = "not_applicable" def __str__(self): @@ -1276,10 +1307,12 @@ class PaymentMethod(Enum): BANK_TRANSFER = "bank_transfer" OTHER = "other" CUSTOM = "custom" - DANA = "dana" - TOUCH_N_GO = "touch_n_go" TAMARA = "tamara" QPAY = "qpay" + BLIK = "blik" + FPX = "fpx" + WERO = "wero" + P24 = "p24" CHARGEBACK = "chargeback" CARD = "card" AMAZON_PAYMENTS = "amazon_payments" @@ -1333,6 +1366,17 @@ class PaymentMethod(Enum): PAYNOW = "paynow" BIZUM = "bizum" PROMPTPAY = "promptpay" + DANA = "dana" + TOUCH_N_GO = "touch_n_go" + OVO = "ovo" + MOMO = "momo" + MERCADO_PAGO = "mercado_pago" + NEQUI = "nequi" + NUPAY = "nupay" + PICPAY = "picpay" + THAI_QR = "thai_qr" + AFFIRM_PAY = "affirm_pay" + RAKUTEN_PAY = "rakuten_pay" def __str__(self): return self.value @@ -1402,6 +1446,19 @@ class PaymentMethodType(Enum): TOUCH_N_GO = "touch_n_go" TAMARA = "tamara" QPAY = "qpay" + OVO = "ovo" + MOMO = "momo" + MERCADO_PAGO = "mercado_pago" + NEQUI = "nequi" + NUPAY = "nupay" + PICPAY = "picpay" + THAI_QR = "thai_qr" + BLIK = "blik" + FPX = "fpx" + WERO = "wero" + P24 = "p24" + AFFIRM_PAY = "affirm_pay" + RAKUTEN_PAY = "rakuten_pay" def __str__(self): return self.value @@ -1559,12 +1616,20 @@ def __str__(self): class Status(Enum): + SCHEDULED = "scheduled" + RESCHEDULED = "rescheduled" + SUCCEEDED = "succeeded" + FAILED = "failed" + DEFERRED = "deferred" + DELIVERED = "delivered" + OPENED = "opened" + BOUNCED = "bounced" + DROPPED = "dropped" ACTIVE = "active" ARCHIVED = "archived" DELETED = "deleted" AVAILABLE = "available" EXHAUSTED = "exhausted" - SCHEDULED = "scheduled" IN_GRACE_PERIOD = "in_grace_period" def __str__(self): @@ -1619,6 +1684,7 @@ def __str__(self): class Taxability(Enum): TAXABLE = "taxable" EXEMPT = "exempt" + ZERO_RATED = "zero_rated" def __str__(self): return self.value @@ -1698,6 +1764,19 @@ class Type(Enum): TOUCH_N_GO = "touch_n_go" TAMARA = "tamara" QPAY = "qpay" + OVO = "ovo" + MOMO = "momo" + MERCADO_PAGO = "mercado_pago" + NEQUI = "nequi" + NUPAY = "nupay" + PICPAY = "picpay" + THAI_QR = "thai_qr" + BLIK = "blik" + FPX = "fpx" + WERO = "wero" + P24 = "p24" + AFFIRM_PAY = "affirm_pay" + RAKUTEN_PAY = "rakuten_pay" FREE_TRIAL = "free_trial" PAY_UP_FRONT = "pay_up_front" PAY_AS_YOU_GO = "pay_as_you_go" diff --git a/chargebee/models/estimate/operations.py b/chargebee/models/estimate/operations.py index 897b4275..065f52b7 100644 --- a/chargebee/models/estimate/operations.py +++ b/chargebee/models/estimate/operations.py @@ -136,6 +136,7 @@ class CreateSubItemEstimateSubscriptionItemParams(TypedDict): charge_on_event: NotRequired[enums.ChargeOnEvent] charge_once: NotRequired[bool] item_type: NotRequired[enums.ItemType] + description: NotRequired[str] charge_on_option: NotRequired[enums.ChargeOnOption] class CreateSubItemEstimateDiscountParams(TypedDict): @@ -273,6 +274,7 @@ class CreateSubItemForCustomerEstimateSubscriptionItemParams(TypedDict): charge_on_event: NotRequired[enums.ChargeOnEvent] charge_once: NotRequired[bool] item_type: NotRequired[enums.ItemType] + description: NotRequired[str] charge_on_option: NotRequired[enums.ChargeOnOption] class CreateSubItemForCustomerEstimateDiscountParams(TypedDict): @@ -415,6 +417,7 @@ class UpdateSubscriptionForItemsSubscriptionItemParams(TypedDict): charge_once: NotRequired[bool] charge_on_option: NotRequired[enums.ChargeOnOption] item_type: NotRequired[enums.ItemType] + description: NotRequired[str] proration_type: NotRequired[enums.ProrationType] class UpdateSubscriptionForItemsDiscountParams(TypedDict): diff --git a/chargebee/models/event/responses.py b/chargebee/models/event/responses.py index 704c1177..48eaa69f 100644 --- a/chargebee/models/event/responses.py +++ b/chargebee/models/event/responses.py @@ -22,6 +22,7 @@ class EventResponse(Model): webhook_failure_reason: str = None webhooks: List[WebhookResponse] = None event_type: str = None + site_id: str = None api_version: str = None content: Dict[Any, Any] = None origin_user: str = None diff --git a/chargebee/models/grant_block/operations.py b/chargebee/models/grant_block/operations.py index 56794760..3a44da7a 100644 --- a/chargebee/models/grant_block/operations.py +++ b/chargebee/models/grant_block/operations.py @@ -9,15 +9,15 @@ class GrantBlock: env: environment.Environment - class AccountType(Enum): - PROVISIONED = "provisioned" - OVERDRAFT = "overdraft" + class UnitType(Enum): + CREDIT_UNIT = "credit_unit" def __str__(self): return self.value - class UnitType(Enum): - CREDIT_UNIT = "credit_unit" + class AccountType(Enum): + PROVISIONED = "provisioned" + OVERDRAFT = "overdraft" def __str__(self): return self.value @@ -34,6 +34,23 @@ class GrantSource(Enum): def __str__(self): return self.value + class ProvisionedBlockBalance(TypedDict): + granted_amount: NotRequired[str] + total_balance: NotRequired[str] + usable_balance: NotRequired[str] + hold_amount: NotRequired[str] + used_amount: NotRequired[str] + expired_amount: NotRequired[str] + rolled_over_amount: NotRequired[str] + voided_amount: NotRequired[str] + + class OverdraftBlockBalance(TypedDict): + is_unlimited: Required[bool] + limit: NotRequired[str] + total_balance: NotRequired[str] + usable_balance: NotRequired[str] + used_amount: NotRequired[str] + class ListGrantBlocksParams(TypedDict): limit: NotRequired[int] offset: NotRequired[str] diff --git a/chargebee/models/grant_block/responses.py b/chargebee/models/grant_block/responses.py index af79dd7b..8537b7a3 100644 --- a/chargebee/models/grant_block/responses.py +++ b/chargebee/models/grant_block/responses.py @@ -4,14 +4,37 @@ from chargebee.response import Response +@dataclass +class ProvisionedBlockBalanceResponse(Model): + raw_data: Dict[Any, Any] = None + granted_amount: str = None + total_balance: str = None + usable_balance: str = None + hold_amount: str = None + used_amount: str = None + expired_amount: str = None + rolled_over_amount: str = None + voided_amount: str = None + + +@dataclass +class OverdraftBlockBalanceResponse(Model): + raw_data: Dict[Any, Any] = None + is_unlimited: bool = None + limit: str = None + total_balance: str = None + usable_balance: str = None + used_amount: str = None + + @dataclass class GrantBlockResponse(Model): raw_data: Dict[Any, Any] = None id: str = None subscription_id: str = None - account_type: str = None unit_id: str = None unit_type: str = None + account_type: str = None granted_amount: str = None effective_from: int = None expires_at: int = None @@ -27,6 +50,8 @@ class GrantBlockResponse(Model): created_at: int = None modified_at: int = None resource_version: int = None + provisioned_block_balance: ProvisionedBlockBalanceResponse = None + overdraft_block_balance: OverdraftBlockBalanceResponse = None metadata: Dict[Any, Any] = None diff --git a/chargebee/models/hosted_page/operations.py b/chargebee/models/hosted_page/operations.py index 225b9da9..3ea4b7ca 100644 --- a/chargebee/models/hosted_page/operations.py +++ b/chargebee/models/hosted_page/operations.py @@ -671,6 +671,7 @@ class CheckoutOneTimeParams(TypedDict): class CheckoutOneTimeForItemsParams(TypedDict): business_entity_id: NotRequired[str] + brand_id: NotRequired[str] layout: NotRequired[enums.Layout] customer: NotRequired["HostedPage.CheckoutOneTimeForItemsCustomerParams"] item_prices: NotRequired[ @@ -704,6 +705,7 @@ class CheckoutNewForItemsParams(TypedDict): subscription: NotRequired["HostedPage.CheckoutNewForItemsSubscriptionParams"] layout: NotRequired[enums.Layout] business_entity_id: NotRequired[str] + brand_id: NotRequired[str] customer: NotRequired["HostedPage.CheckoutNewForItemsCustomerParams"] billing_cycles: NotRequired[int] subscription_items: NotRequired[ @@ -763,6 +765,7 @@ class CheckoutExistingForItemsParams(TypedDict): subscription: NotRequired[ "HostedPage.CheckoutExistingForItemsSubscriptionParams" ] + brand_id: NotRequired[str] subscription_items: NotRequired[ List["HostedPage.CheckoutExistingForItemsSubscriptionItemParams"] ] @@ -819,12 +822,14 @@ class UpdatePaymentMethodParams(TypedDict): class ManagePaymentSourcesParams(TypedDict): business_entity_id: NotRequired[str] + brand_id: NotRequired[str] customer: NotRequired["HostedPage.ManagePaymentSourcesCustomerParams"] redirect_url: NotRequired[str] card: NotRequired["HostedPage.ManagePaymentSourcesCardParams"] class CollectNowParams(TypedDict): customer: NotRequired["HostedPage.CollectNowCustomerParams"] + brand_id: NotRequired[str] redirect_url: NotRequired[str] card: NotRequired["HostedPage.CollectNowCardParams"] currency_code: NotRequired[str] @@ -832,11 +837,13 @@ class CollectNowParams(TypedDict): class AcceptQuoteParams(TypedDict): quote: NotRequired["HostedPage.AcceptQuoteQuoteParams"] + brand_id: NotRequired[str] redirect_url: NotRequired[str] layout: NotRequired[enums.Layout] class ExtendSubscriptionParams(TypedDict): subscription: NotRequired["HostedPage.ExtendSubscriptionSubscriptionParams"] + brand_id: NotRequired[str] expiry: NotRequired[int] billing_cycle: NotRequired[int] @@ -850,6 +857,7 @@ class CheckoutGiftParams(TypedDict): class CheckoutGiftForItemsParams(TypedDict): layout: NotRequired[enums.Layout] business_entity_id: NotRequired[str] + brand_id: NotRequired[str] gifter: NotRequired["HostedPage.CheckoutGiftForItemsGifterParams"] redirect_url: NotRequired[str] subscription_items: NotRequired[ @@ -860,6 +868,7 @@ class CheckoutGiftForItemsParams(TypedDict): class ClaimGiftParams(TypedDict): gift: NotRequired["HostedPage.ClaimGiftGiftParams"] + brand_id: NotRequired[str] redirect_url: NotRequired[str] customer: NotRequired["HostedPage.ClaimGiftCustomerParams"] @@ -876,6 +885,7 @@ class ListParams(TypedDict): class PreCancelParams(TypedDict): subscription: NotRequired["HostedPage.PreCancelSubscriptionParams"] + brand_id: NotRequired[str] pass_thru_content: NotRequired[str] cancel_url: NotRequired[str] redirect_url: NotRequired[str] diff --git a/chargebee/models/hosted_page/responses.py b/chargebee/models/hosted_page/responses.py index 23a9ee63..5ef9d529 100644 --- a/chargebee/models/hosted_page/responses.py +++ b/chargebee/models/hosted_page/responses.py @@ -23,6 +23,7 @@ class HostedPageResponse(Model): resource_version: int = None checkout_info: Dict[Any, Any] = None business_entity_id: str = None + brand_id: str = None @dataclass diff --git a/chargebee/models/invoice/operations.py b/chargebee/models/invoice/operations.py index 60ce38a7..203ad03f 100644 --- a/chargebee/models/invoice/operations.py +++ b/chargebee/models/invoice/operations.py @@ -683,6 +683,8 @@ class ImportInvoiceLineItemParams(TypedDict): tax9_amount: NotRequired[int] tax10_name: NotRequired[str] tax10_amount: NotRequired[int] + is_partial_tax_applied: NotRequired[bool] + taxable_amount: NotRequired[int] proration_mode: NotRequired["Invoice.LineItemProrationMode"] created_at: NotRequired[int] @@ -1998,6 +2000,26 @@ def void_before_capture( operation="voidBeforeCapture", ) + def send_email(self, id, headers=None) -> SendEmailResponse: + jsonKeys = {} + options = { + "isIdempotent": True, + } + return request.send( + "post", + request.uri_path("invoices", id, "send_email"), + self.env, + None, + headers, + SendEmailResponse, + None, + False, + jsonKeys, + options, + resource="invoice", + operation="sendEmail", + ) + def delete(self, id, params: DeleteParams = None, headers=None) -> DeleteResponse: jsonKeys = {} options = { diff --git a/chargebee/models/invoice/responses.py b/chargebee/models/invoice/responses.py index 38f147c5..3963d774 100644 --- a/chargebee/models/invoice/responses.py +++ b/chargebee/models/invoice/responses.py @@ -11,6 +11,7 @@ credit_note, transaction, payment_schedule, + email_log, payment_reference_number, download, ) @@ -384,6 +385,7 @@ class InvoiceResponse(Model): vat_number_prefix: str = None channel: str = None business_entity_id: str = None + brand_id: str = None site_details_at_creation: SiteDetailsAtCreationResponse = None @@ -627,6 +629,12 @@ class VoidBeforeCaptureResponse(Response): credit_note: "credit_note.CreditNoteResponse" = None +@dataclass +class SendEmailResponse(Response): + is_idempotency_replayed: bool + email_logs: List["email_log.EmailLogResponse"] + + @dataclass class DeleteResponse(Response): is_idempotency_replayed: bool diff --git a/chargebee/models/ledger_entry/operations.py b/chargebee/models/ledger_entry/operations.py index 4a6004c2..bcf90030 100644 --- a/chargebee/models/ledger_entry/operations.py +++ b/chargebee/models/ledger_entry/operations.py @@ -8,15 +8,15 @@ class LedgerEntry: env: environment.Environment - class AccountType(Enum): - PROVISIONED = "provisioned" - OVERDRAFT = "overdraft" + class UnitType(Enum): + CREDIT_UNIT = "credit_unit" def __str__(self): return self.value - class UnitType(Enum): - CREDIT_UNIT = "credit_unit" + class AccountType(Enum): + PROVISIONED = "provisioned" + OVERDRAFT = "overdraft" def __str__(self): return self.value diff --git a/chargebee/models/ledger_entry/responses.py b/chargebee/models/ledger_entry/responses.py index d83b1131..8f0d36de 100644 --- a/chargebee/models/ledger_entry/responses.py +++ b/chargebee/models/ledger_entry/responses.py @@ -8,9 +8,9 @@ class LedgerEntryResponse(Model): raw_data: Dict[Any, Any] = None id: str = None subscription_id: str = None - account_type: str = None unit_id: str = None unit_type: str = None + account_type: str = None amount: str = None grant_block_start_balance: str = None grant_block_end_balance: str = None diff --git a/chargebee/models/ledger_operation/operations.py b/chargebee/models/ledger_operation/operations.py index 11e21607..08a5eda0 100644 --- a/chargebee/models/ledger_operation/operations.py +++ b/chargebee/models/ledger_operation/operations.py @@ -25,6 +25,7 @@ class Type(Enum): VOID = "void" ROLLOVER = "rollover" ADJUSTMENT = "adjustment" + OVERDRAFT_SETTLEMENT = "overdraft_settlement" def __str__(self): return self.value @@ -71,7 +72,9 @@ class ReleaseAuthorizationParams(TypedDict): class AllocateParams(TypedDict): subscription_id: Required[str] unit_id: Required[str] + id: NotRequired[str] amount: Required[str] + effective_from: NotRequired[int] expires_at: Required[int] metadata: NotRequired[Dict[Any, Any]] diff --git a/chargebee/models/ledger_operation/responses.py b/chargebee/models/ledger_operation/responses.py index 06e12100..5ac4bd42 100644 --- a/chargebee/models/ledger_operation/responses.py +++ b/chargebee/models/ledger_operation/responses.py @@ -45,37 +45,41 @@ class ListLedgerOperationsResponse(Response): @dataclass class CaptureResponse(Response): is_idempotency_replayed: bool - ledger_operation: LedgerOperationResponse + ledger_operations: List[LedgerOperationResponse] ledger_account_balance: "ledger_account_balance.LedgerAccountBalanceResponse" grant_blocks: List["grant_block.GrantBlockResponse"] ledger_entries: List["ledger_entry.LedgerEntryResponse"] + ledger_operation: LedgerOperationResponse = None @dataclass class AuthorizeResponse(Response): is_idempotency_replayed: bool - ledger_operation: LedgerOperationResponse + ledger_operations: List[LedgerOperationResponse] ledger_account_balance: "ledger_account_balance.LedgerAccountBalanceResponse" grant_blocks: List["grant_block.GrantBlockResponse"] ledger_entries: List["ledger_entry.LedgerEntryResponse"] + ledger_operation: LedgerOperationResponse = None @dataclass class CaptureAuthorizationResponse(Response): is_idempotency_replayed: bool - ledger_operation: LedgerOperationResponse + ledger_operations: List[LedgerOperationResponse] ledger_account_balance: "ledger_account_balance.LedgerAccountBalanceResponse" grant_blocks: List["grant_block.GrantBlockResponse"] ledger_entries: List["ledger_entry.LedgerEntryResponse"] + ledger_operation: LedgerOperationResponse = None @dataclass class ReleaseAuthorizationResponse(Response): is_idempotency_replayed: bool - ledger_operation: LedgerOperationResponse + ledger_operations: List[LedgerOperationResponse] ledger_account_balance: "ledger_account_balance.LedgerAccountBalanceResponse" grant_blocks: List["grant_block.GrantBlockResponse"] ledger_entries: List["ledger_entry.LedgerEntryResponse"] + ledger_operation: LedgerOperationResponse = None @dataclass diff --git a/chargebee/models/omnichannel_subscription/operations.py b/chargebee/models/omnichannel_subscription/operations.py index 097187f1..a47eca3b 100644 --- a/chargebee/models/omnichannel_subscription/operations.py +++ b/chargebee/models/omnichannel_subscription/operations.py @@ -39,6 +39,7 @@ class OmnichannelSubscriptionItemExpirationReason(Enum): BILLING_ERROR = "billing_error" PRODUCT_NOT_AVAILABLE = "product_not_available" OTHER = "other" + SUBSCRIPTION_NOT_FOUND_IN_SOURCE = "subscription_not_found_in_source" def __str__(self): return self.value diff --git a/chargebee/models/omnichannel_subscription_item/operations.py b/chargebee/models/omnichannel_subscription_item/operations.py index de7e035e..6355ad3a 100644 --- a/chargebee/models/omnichannel_subscription_item/operations.py +++ b/chargebee/models/omnichannel_subscription_item/operations.py @@ -31,6 +31,7 @@ class ExpirationReason(Enum): BILLING_ERROR = "billing_error" PRODUCT_NOT_AVAILABLE = "product_not_available" OTHER = "other" + SUBSCRIPTION_NOT_FOUND_IN_SOURCE = "subscription_not_found_in_source" def __str__(self): return self.value diff --git a/chargebee/models/payment_intent/operations.py b/chargebee/models/payment_intent/operations.py index f839e4d4..92b96947 100644 --- a/chargebee/models/payment_intent/operations.py +++ b/chargebee/models/payment_intent/operations.py @@ -72,6 +72,19 @@ class PaymentMethodType(Enum): TOUCH_N_GO = "touch_n_go" TAMARA = "tamara" QPAY = "qpay" + OVO = "ovo" + MOMO = "momo" + MERCADO_PAGO = "mercado_pago" + NEQUI = "nequi" + NUPAY = "nupay" + PICPAY = "picpay" + THAI_QR = "thai_qr" + BLIK = "blik" + FPX = "fpx" + WERO = "wero" + P24 = "p24" + AFFIRM_PAY = "affirm_pay" + RAKUTEN_PAY = "rakuten_pay" def __str__(self): return self.value @@ -147,6 +160,7 @@ class PaymentIntentMetadata(TypedDict): class CreateParams(TypedDict): business_entity_id: NotRequired[str] + brand_id: NotRequired[str] customer_id: NotRequired[str] amount: Required[int] currency_code: Required[str] diff --git a/chargebee/models/payment_intent/responses.py b/chargebee/models/payment_intent/responses.py index ebb6d0ac..5f07a072 100644 --- a/chargebee/models/payment_intent/responses.py +++ b/chargebee/models/payment_intent/responses.py @@ -72,6 +72,7 @@ class PaymentIntentResponse(Model): payment_attempts: List[PaymentAttemptResponse] = None payment_intent_metadata: PaymentIntentMetadataResponse = None business_entity_id: str = None + brand_id: str = None @dataclass diff --git a/chargebee/models/payment_schedule/operations.py b/chargebee/models/payment_schedule/operations.py index 3397ee5e..99ba9c0c 100644 --- a/chargebee/models/payment_schedule/operations.py +++ b/chargebee/models/payment_schedule/operations.py @@ -2,6 +2,8 @@ from chargebee import request, environment from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast from enum import Enum +from chargebee.filters import Filters +from chargebee.models import transaction @dataclass @@ -26,6 +28,38 @@ class ScheduleEntry(TypedDict): id: Required[str] date: Required[int] amount: Required[int] + scheduled_amount: Required[int] status: Required["PaymentSchedule.ScheduleEntryStatus"] - pass + class ReferenceTransaction(TypedDict): + schedule_entry_id: Required[str] + applied_amount: NotRequired[int] + txn_id: Required[str] + txn_status: NotRequired["transaction.Transaction.Status"] + txn_date: NotRequired[int] + txn_amount: NotRequired[int] + + class ListParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + invoice_id: NotRequired[Filters.StringFilter] + id: NotRequired[Filters.StringFilter] + updated_at: NotRequired[Filters.TimestampFilter] + + def list(self, params: ListParams = None, headers=None) -> ListResponse: + jsonKeys = {} + options = {} + return request.send_list_request( + "get", + request.uri_path("payment_schedules"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListResponse, + None, + False, + jsonKeys, + options, + resource="paymentSchedule", + operation="list", + ) diff --git a/chargebee/models/payment_schedule/responses.py b/chargebee/models/payment_schedule/responses.py index c8bd9e7a..a743fb11 100644 --- a/chargebee/models/payment_schedule/responses.py +++ b/chargebee/models/payment_schedule/responses.py @@ -1,6 +1,8 @@ from dataclasses import dataclass from chargebee.model import Model from typing import Dict, List, Any +from chargebee.response import Response +from chargebee.models import transaction @dataclass @@ -9,9 +11,21 @@ class ScheduleEntryResponse(Model): id: str = None date: int = None amount: int = None + scheduled_amount: int = None status: str = None +@dataclass +class ReferenceTransactionResponse(Model): + raw_data: Dict[Any, Any] = None + schedule_entry_id: str = None + applied_amount: int = None + txn_id: str = None + txn_status: str = None + txn_date: int = None + txn_amount: int = None + + @dataclass class PaymentScheduleResponse(Model): raw_data: Dict[Any, Any] = None @@ -25,3 +39,15 @@ class PaymentScheduleResponse(Model): updated_at: int = None currency_code: str = None schedule_entries: List[ScheduleEntryResponse] = None + reference_transactions: List[ReferenceTransactionResponse] = None + + +@dataclass +class ListPaymentScheduleResponse: + payment_schedule: PaymentScheduleResponse + + +@dataclass +class ListResponse(Response): + list: List[ListPaymentScheduleResponse] + next_offset: str = None diff --git a/chargebee/models/payment_schedule_estimate/operations.py b/chargebee/models/payment_schedule_estimate/operations.py index 881353bb..8b748ae8 100644 --- a/chargebee/models/payment_schedule_estimate/operations.py +++ b/chargebee/models/payment_schedule_estimate/operations.py @@ -26,6 +26,7 @@ class ScheduleEntry(TypedDict): id: Required[str] date: Required[int] amount: Required[int] + scheduled_amount: Required[int] status: Required["PaymentScheduleEstimate.ScheduleEntryStatus"] pass diff --git a/chargebee/models/payment_schedule_estimate/responses.py b/chargebee/models/payment_schedule_estimate/responses.py index 0250bc4a..cea170c5 100644 --- a/chargebee/models/payment_schedule_estimate/responses.py +++ b/chargebee/models/payment_schedule_estimate/responses.py @@ -9,6 +9,7 @@ class ScheduleEntryResponse(Model): id: str = None date: int = None amount: int = None + scheduled_amount: int = None status: str = None diff --git a/chargebee/models/payment_schedule_scheme/operations.py b/chargebee/models/payment_schedule_scheme/operations.py index 98fd759a..2de4ed54 100644 --- a/chargebee/models/payment_schedule_scheme/operations.py +++ b/chargebee/models/payment_schedule_scheme/operations.py @@ -2,6 +2,7 @@ from chargebee import request, environment from typing import TypedDict, Required, NotRequired, Dict, List, Any, cast from enum import Enum +from chargebee.filters import Filters @dataclass @@ -33,6 +34,12 @@ class CreateParams(TypedDict): List["PaymentScheduleScheme.CreateFlexibleScheduleParams"] ] + class ListParams(TypedDict): + limit: NotRequired[int] + offset: NotRequired[str] + id: NotRequired[Filters.StringFilter] + updated_at: NotRequired[Filters.TimestampFilter] + def create(self, params: CreateParams, headers=None) -> CreateResponse: jsonKeys = {} options = { @@ -71,6 +78,24 @@ def retrieve(self, id, headers=None) -> RetrieveResponse: operation="retrieve", ) + def list(self, params: ListParams = None, headers=None) -> ListResponse: + jsonKeys = {} + options = {} + return request.send_list_request( + "get", + request.uri_path("payment_schedule_schemes"), + self.env, + cast(Dict[Any, Any], params), + headers, + ListResponse, + None, + False, + jsonKeys, + options, + resource="paymentScheduleScheme", + operation="list", + ) + def delete(self, id, headers=None) -> DeleteResponse: jsonKeys = {} options = { diff --git a/chargebee/models/payment_schedule_scheme/responses.py b/chargebee/models/payment_schedule_scheme/responses.py index 2433065f..4f69677a 100644 --- a/chargebee/models/payment_schedule_scheme/responses.py +++ b/chargebee/models/payment_schedule_scheme/responses.py @@ -37,6 +37,17 @@ class RetrieveResponse(Response): payment_schedule_scheme: PaymentScheduleSchemeResponse +@dataclass +class ListPaymentScheduleSchemeResponse: + payment_schedule_scheme: PaymentScheduleSchemeResponse + + +@dataclass +class ListResponse(Response): + list: List[ListPaymentScheduleSchemeResponse] + next_offset: str = None + + @dataclass class DeleteResponse(Response): is_idempotency_replayed: bool diff --git a/chargebee/models/payment_source/operations.py b/chargebee/models/payment_source/operations.py index a97d9136..c82eea57 100644 --- a/chargebee/models/payment_source/operations.py +++ b/chargebee/models/payment_source/operations.py @@ -133,6 +133,9 @@ class Mandate(TypedDict): subscription_id: Required[str] created_at: Required[int] + class NetworkTransactionReference(TypedDict): + original_network_transaction_id: NotRequired[str] + class CreateUsingPermanentTokenCardParams(TypedDict): last4: NotRequired[str] iin: NotRequired[str] @@ -222,6 +225,9 @@ class UpdateCardCardParams(TypedDict): billing_country: NotRequired[str] additional_information: NotRequired[Dict[Any, Any]] + class UpdateCardNetworkTransactionReferenceParams(TypedDict): + original_network_transaction_id: NotRequired[str] + class UpdateBankAccountBankAccountParams(TypedDict): first_name: NotRequired[str] last_name: NotRequired[str] @@ -233,11 +239,13 @@ class CreateUsingTempTokenParams(TypedDict): type: Required[enums.Type] tmp_token: Required[str] issuing_country: NotRequired[str] + brand_id: NotRequired[str] replace_primary_payment_source: NotRequired[bool] additional_information: NotRequired[Dict[Any, Any]] class CreateUsingPermanentTokenParams(TypedDict): customer_id: Required[str] + brand_id: NotRequired[str] type: Required[enums.Type] gateway_account_id: NotRequired[str] reference_id: NotRequired[str] @@ -256,11 +264,13 @@ class CreateUsingPermanentTokenParams(TypedDict): class CreateUsingTokenParams(TypedDict): customer_id: Required[str] + brand_id: NotRequired[str] replace_primary_payment_source: NotRequired[bool] token_id: Required[str] class CreateUsingPaymentIntentParams(TypedDict): customer_id: Required[str] + brand_id: NotRequired[str] payment_intent: NotRequired[ "PaymentSource.CreateUsingPaymentIntentPaymentIntentParams" ] @@ -268,17 +278,20 @@ class CreateUsingPaymentIntentParams(TypedDict): class CreateVoucherPaymentSourceParams(TypedDict): customer_id: Required[str] + brand_id: NotRequired[str] voucher_payment_source: NotRequired[ "PaymentSource.CreateVoucherPaymentSourceVoucherPaymentSourceParams" ] class CreateCardParams(TypedDict): customer_id: Required[str] + brand_id: NotRequired[str] card: NotRequired["PaymentSource.CreateCardCardParams"] replace_primary_payment_source: NotRequired[bool] class CreateBankAccountParams(TypedDict): customer_id: Required[str] + brand_id: NotRequired[str] bank_account: NotRequired["PaymentSource.CreateBankAccountBankAccountParams"] issuing_country: NotRequired[str] replace_primary_payment_source: NotRequired[bool] @@ -287,6 +300,9 @@ class UpdateCardParams(TypedDict): card: NotRequired["PaymentSource.UpdateCardCardParams"] gateway_meta_data: NotRequired[Dict[Any, Any]] reference_transaction: NotRequired[str] + network_transaction_reference: NotRequired[ + "PaymentSource.UpdateCardNetworkTransactionReferenceParams" + ] class UpdateBankAccountParams(TypedDict): bank_account: NotRequired["PaymentSource.UpdateBankAccountBankAccountParams"] diff --git a/chargebee/models/payment_source/responses.py b/chargebee/models/payment_source/responses.py index 4d1f4fa8..9e844a5b 100644 --- a/chargebee/models/payment_source/responses.py +++ b/chargebee/models/payment_source/responses.py @@ -117,6 +117,12 @@ class MandateResponse(Model): created_at: int = None +@dataclass +class NetworkTransactionReferenceResponse(Model): + raw_data: Dict[Any, Any] = None + original_network_transaction_id: str = None + + @dataclass class PaymentSourceResponse(Model): raw_data: Dict[Any, Any] = None @@ -143,8 +149,10 @@ class PaymentSourceResponse(Model): klarna_pay_now: KlarnaPayNowResponse = None mandates: List[MandateResponse] = None vault_token: Dict[Any, Any] = None + network_transaction_reference: NetworkTransactionReferenceResponse = None deleted: bool = None business_entity_id: str = None + brand_id: str = None @dataclass diff --git a/chargebee/models/pricing_page_session/operations.py b/chargebee/models/pricing_page_session/operations.py index 55f5e9cc..c325519a 100644 --- a/chargebee/models/pricing_page_session/operations.py +++ b/chargebee/models/pricing_page_session/operations.py @@ -102,6 +102,7 @@ class CreateForNewSubscriptionParams(TypedDict): "PricingPageSession.CreateForNewSubscriptionSubscriptionParams" ] business_entity_id: NotRequired[str] + brand_id: NotRequired[str] auto_select_local_currency: NotRequired[bool] custom: NotRequired[Dict[Any, Any]] customer: NotRequired[ diff --git a/chargebee/models/promotional_grant/operations.py b/chargebee/models/promotional_grant/operations.py index 1643cd49..dee541e4 100644 --- a/chargebee/models/promotional_grant/operations.py +++ b/chargebee/models/promotional_grant/operations.py @@ -10,7 +10,9 @@ class PromotionalGrant: class PromotionalGrantsParams(TypedDict): subscription_id: Required[str] unit_id: Required[str] + id: NotRequired[str] amount: Required[str] + effective_from: NotRequired[int] expires_at: Required[int] metadata: NotRequired[Dict[Any, Any]] diff --git a/chargebee/models/quoted_subscription/operations.py b/chargebee/models/quoted_subscription/operations.py index 2f7d814a..68393595 100644 --- a/chargebee/models/quoted_subscription/operations.py +++ b/chargebee/models/quoted_subscription/operations.py @@ -66,6 +66,7 @@ class SubscriptionItem(TypedDict): usage_accumulation_reset_frequency: NotRequired[ enums.UsageAccumulationResetFrequency ] + description: NotRequired[str] class ItemTier(TypedDict): item_price_id: Required[str] diff --git a/chargebee/models/quoted_subscription/responses.py b/chargebee/models/quoted_subscription/responses.py index 2ec5ba75..6709f76f 100644 --- a/chargebee/models/quoted_subscription/responses.py +++ b/chargebee/models/quoted_subscription/responses.py @@ -37,6 +37,7 @@ class SubscriptionItemResponse(Model): charge_on_option: str = None proration_type: str = None usage_accumulation_reset_frequency: str = None + description: str = None @dataclass diff --git a/chargebee/models/ramp/operations.py b/chargebee/models/ramp/operations.py index d7b266cc..4cde67fb 100644 --- a/chargebee/models/ramp/operations.py +++ b/chargebee/models/ramp/operations.py @@ -108,10 +108,16 @@ class ContractTerm(TypedDict): renewal_billing_cycles: NotRequired[int] action_at_term_end: Required["Ramp.ContractTermActionAtTermEnd"] + class BillingConfiguration(TypedDict): + po_number: NotRequired[str] + class StatusTransitionReason(TypedDict): code: NotRequired[str] message: NotRequired[str] + class CreateForSubscriptionBillingConfigurationParams(TypedDict): + po_number: NotRequired[str] + class CreateForSubscriptionItemsToAddParams(TypedDict): item_price_id: Required[str] quantity: NotRequired[int] @@ -167,6 +173,9 @@ class CreateForSubscriptionContractTermParams(TypedDict): cancellation_cutoff_period: NotRequired[int] renewal_billing_cycles: NotRequired[int] + class UpdateBillingConfigurationParams(TypedDict): + po_number: NotRequired[str] + class UpdateItemsToAddParams(TypedDict): item_price_id: Required[str] quantity: NotRequired[int] @@ -228,6 +237,9 @@ class CreateForSubscriptionParams(TypedDict): coupons_to_remove: NotRequired[List[str]] discounts_to_remove: NotRequired[List[str]] items_to_remove: NotRequired[List[str]] + billing_configuration: NotRequired[ + "Ramp.CreateForSubscriptionBillingConfigurationParams" + ] items_to_add: NotRequired[List["Ramp.CreateForSubscriptionItemsToAddParams"]] items_to_update: NotRequired[ List["Ramp.CreateForSubscriptionItemsToUpdateParams"] @@ -247,6 +259,7 @@ class UpdateParams(TypedDict): coupons_to_remove: NotRequired[List[str]] discounts_to_remove: NotRequired[List[str]] items_to_remove: NotRequired[List[str]] + billing_configuration: NotRequired["Ramp.UpdateBillingConfigurationParams"] items_to_add: NotRequired[List["Ramp.UpdateItemsToAddParams"]] items_to_update: NotRequired[List["Ramp.UpdateItemsToUpdateParams"]] item_tiers: NotRequired[List["Ramp.UpdateItemTierParams"]] diff --git a/chargebee/models/ramp/responses.py b/chargebee/models/ramp/responses.py index f99f2cd2..3726e43b 100644 --- a/chargebee/models/ramp/responses.py +++ b/chargebee/models/ramp/responses.py @@ -94,6 +94,12 @@ class ContractTermResponse(Model): action_at_term_end: str = None +@dataclass +class BillingConfigurationResponse(Model): + raw_data: Dict[Any, Any] = None + po_number: str = None + + @dataclass class StatusTransitionReasonResponse(Model): raw_data: Dict[Any, Any] = None @@ -121,6 +127,7 @@ class RampResponse(Model): coupons_to_remove: List[str] = None discounts_to_remove: List[str] = None contract_term: ContractTermResponse = None + billing_configuration: BillingConfigurationResponse = None deleted: bool = None status_transition_reason: StatusTransitionReasonResponse = None diff --git a/chargebee/models/subscription/operations.py b/chargebee/models/subscription/operations.py index 1d2dd53e..dd92900a 100644 --- a/chargebee/models/subscription/operations.py +++ b/chargebee/models/subscription/operations.py @@ -105,6 +105,7 @@ class SubscriptionItem(TypedDict): usage_accumulation_reset_frequency: NotRequired[ enums.UsageAccumulationResetFrequency ] + description: NotRequired[str] class ItemTier(TypedDict): item_price_id: Required[str] @@ -456,6 +457,7 @@ class CreateWithItemsSubscriptionItemParams(TypedDict): charge_on_event: NotRequired[enums.ChargeOnEvent] charge_once: NotRequired[bool] item_type: NotRequired[enums.ItemType] + description: NotRequired[str] charge_on_option: NotRequired[enums.ChargeOnOption] usage_accumulation_reset_frequency: NotRequired[ enums.UsageAccumulationResetFrequency @@ -658,6 +660,7 @@ class UpdateForItemsSubscriptionItemParams(TypedDict): charge_once: NotRequired[bool] charge_on_option: NotRequired[enums.ChargeOnOption] item_type: NotRequired[enums.ItemType] + description: NotRequired[str] proration_type: NotRequired[enums.ProrationType] usage_accumulation_reset_frequency: NotRequired[ enums.UsageAccumulationResetFrequency @@ -1068,6 +1071,7 @@ class ImportForItemsSubscriptionItemParams(TypedDict): charge_on_event: NotRequired[enums.ChargeOnEvent] charge_once: NotRequired[bool] item_type: NotRequired[enums.ItemType] + description: NotRequired[str] class ImportForItemsDiscountParams(TypedDict): apply_on: NotRequired[enums.ApplyOn] @@ -1165,6 +1169,7 @@ class CreateParams(TypedDict): tax_providers_fields: NotRequired[ List["Subscription.CreateTaxProvidersFieldParams"] ] + brand_id: NotRequired[str] plan_id: Required[str] plan_quantity: NotRequired[int] plan_quantity_in_decimal: NotRequired[str] @@ -1213,6 +1218,7 @@ class CreateParams(TypedDict): class CreateForCustomerParams(TypedDict): id: NotRequired[str] + brand_id: NotRequired[str] plan_id: Required[str] plan_quantity: NotRequired[int] plan_quantity_in_decimal: NotRequired[str] @@ -1259,6 +1265,7 @@ class CreateForCustomerParams(TypedDict): class CreateWithItemsParams(TypedDict): id: NotRequired[str] business_entity_id: NotRequired[str] + brand_id: NotRequired[str] trial_end: NotRequired[int] billing_cycles: NotRequired[int] subscription_items: NotRequired[ diff --git a/chargebee/models/subscription/responses.py b/chargebee/models/subscription/responses.py index 123cac37..880603dc 100644 --- a/chargebee/models/subscription/responses.py +++ b/chargebee/models/subscription/responses.py @@ -48,6 +48,7 @@ class SubscriptionItemResponse(Model): charge_on_option: str = None proration_type: str = None usage_accumulation_reset_frequency: str = None + description: str = None @dataclass @@ -283,6 +284,7 @@ class SubscriptionResponse(Model): discounts: List[DiscountResponse] = None business_entity_id: str = None decommissioned: bool = None + brand_id: str = None @dataclass diff --git a/chargebee/models/third_party_payment_method/responses.py b/chargebee/models/third_party_payment_method/responses.py index 80bf0e4e..97d3a699 100644 --- a/chargebee/models/third_party_payment_method/responses.py +++ b/chargebee/models/third_party_payment_method/responses.py @@ -10,3 +10,4 @@ class ThirdPartyPaymentMethodResponse(Model): gateway: str = None gateway_account_id: str = None reference_id: str = None + network_transaction_reference: Dict[Any, Any] = None diff --git a/chargebee/models/transaction/operations.py b/chargebee/models/transaction/operations.py index 30dd90c2..ede0c190 100644 --- a/chargebee/models/transaction/operations.py +++ b/chargebee/models/transaction/operations.py @@ -114,6 +114,10 @@ class GatewayErrorDetail(TypedDict): error_cause_id: NotRequired[str] processor_advice_code: NotRequired[str] + class NetworkTransactionDetail(TypedDict): + network_transaction_id: NotRequired[str] + original_network_transaction_id: NotRequired[str] + class CreateAuthorizationParams(TypedDict): customer_id: Required[str] payment_source_id: NotRequired[str] diff --git a/chargebee/models/transaction/responses.py b/chargebee/models/transaction/responses.py index 9e2efaf3..a5736106 100644 --- a/chargebee/models/transaction/responses.py +++ b/chargebee/models/transaction/responses.py @@ -68,6 +68,13 @@ class GatewayErrorDetailResponse(Model): processor_advice_code: str = None +@dataclass +class NetworkTransactionDetailResponse(Model): + raw_data: Dict[Any, Any] = None + network_transaction_id: str = None + original_network_transaction_id: str = None + + @dataclass class TransactionResponse(Model): raw_data: Dict[Any, Any] = None @@ -117,6 +124,7 @@ class TransactionResponse(Model): payment_method_details: str = None error_detail: GatewayErrorDetailResponse = None custom_payment_method_name: str = None + network_transaction_details: NetworkTransactionDetailResponse = None @dataclass diff --git a/chargebee/version.py b/chargebee/version.py index 19ff2992..04b8528f 100644 --- a/chargebee/version.py +++ b/chargebee/version.py @@ -1 +1 @@ -VERSION = "3.28.0" +VERSION = "3.29.0"