Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
### v3.18.0 (2026-02-06)
* * *
### New Attributes:
- [`subscription_id`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/entitlement-override-object#subscription_id) has been added to [`EntitlementOverride`](https://apidocs.chargebee.com/docs/api/entitlement_overrides).
- [`is_enabled`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/entitlement-override-object#is_enabled) has been added to [`EntitlementOverride`](https://apidocs.chargebee.com/docs/api/entitlement_overrides).
- [`decommissioned`](https://apidocs.chargebee.com/docs/api/subscriptions/subscription-object#decommissioned) has been added to [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions).


### New Parameters:
- [`omnichannel_subscription_item`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions/list-omnichannel-subscriptions#omnichannel_subscription_item) has been added as query parameter to [`list_omnichannel_subscriptions`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions/list-omnichannel-subscriptions) in [`OmnichannelSubscription`](https://apidocs.chargebee.com/docs/api/omnichannel_subscriptions).
- [`entitlement_overrides.entity_id`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/upsert-or-remove-entitlement-overrides-for-a-subscription#entitlement_overrides_entity_id) has been added as request body parameter to [`upsert_or_remove_entitlement_overrides_for_a_subscription`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/upsert-or-remove-entitlement-overrides-for-a-subscription) in [`EntitlementOverride`](https://apidocs.chargebee.com/docs/api/entitlement_overrides).
- [`entitlement_overrides.entity_type`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/upsert-or-remove-entitlement-overrides-for-a-subscription#entitlement_overrides_entity_type) has been added as request body parameter to [`upsert_or_remove_entitlement_overrides_for_a_subscription`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/upsert-or-remove-entitlement-overrides-for-a-subscription) in [`EntitlementOverride`](https://apidocs.chargebee.com/docs/api/entitlement_overrides).
- [`entitlement_overrides.is_enabled`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/upsert-or-remove-entitlement-overrides-for-a-subscription#entitlement_overrides_is_enabled) has been added as request body parameter to [`upsert_or_remove_entitlement_overrides_for_a_subscription`](https://apidocs.chargebee.com/docs/api/entitlement_overrides/upsert-or-remove-entitlement-overrides-for-a-subscription) in [`EntitlementOverride`](https://apidocs.chargebee.com/docs/api/entitlement_overrides).
- [`payment_method_save_policy`](https://apidocs.chargebee.com/docs/api/hosted_pages/collect-now#payment_method_save_policy) 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).
- [`decommissioned`](https://apidocs.chargebee.com/docs/api/subscriptions/cancel-subscription-for-items#decommissioned) has been added as request body parameter to [`cancel_subscription_for_items`](https://apidocs.chargebee.com/docs/api/subscriptions/cancel-subscription-for-items) in [`Subscription`](https://apidocs.chargebee.com/docs/api/subscriptions).


### Parameter Updates:
- [`pricing_page`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-existing-subscription#pricing_page) has been changed from required to optional in [`create_pricing_page_for_existing_subscription`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-existing-subscription) of [`PricingPageSession`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions).


### New Events:
- [`payment_due_reminder`](https://apidocs.chargebee.com/docs/api/events/webhook/payment_due_reminder) has been added.


### New Enums:
- `charge` has been added as a new value enum `EntityType`.
- `payment_due_reminder` has been added as a new value enum `EventType`.
- `tempus` has been added as a new value enum `Gateway`.
- `kakao_pay`, `naver_pay`, `revolut_pay`, and `cash_app_pay` have been added as new values enum `PaymentMethod`.
- `always`, `ask`, and `never` have been added as new values enum `PaymentMethodSavePolicy`.
- `kakao_pay`, `naver_pay`, `revolut_pay`, and `cash_app_pay` have been added as new values enum `PaymentMethodType`.
- `kakao_pay`, `naver_pay`, `revolut_pay`, and `cash_app_pay` have been added as new values enum `Type`.
- `accepted`, `rejected`, `message_acknowledgement`, `in_process`, `under_query`, `conditionally_accepted`, and `paid` have been added as new values to enum attribute [`einvoice.status`](https://apidocs.chargebee.com/docs/api/credit_notes/credit-note-object#einvoice_status) in [`CreditNote`](https://apidocs.chargebee.com/docs/api/credit_notes).
- `accepted`, `rejected`, `message_acknowledgement`, `in_process`, `under_query`, `conditionally_accepted`, and `paid` have been added as new values to enum attribute [`status`](https://apidocs.chargebee.com/docs/api/einvoices/einvoice-object#status) in [`Einvoice`](https://apidocs.chargebee.com/docs/api/einvoices).
- `accepted`, `rejected`, `message_acknowledgement`, `in_process`, `under_query`, `conditionally_accepted`, and `paid` have been added as new values to enum attribute [`einvoice.status`](https://apidocs.chargebee.com/docs/api/invoices/invoice-object#einvoice_status) in [`Invoice`](https://apidocs.chargebee.com/docs/api/invoices).
- `kakao_pay`, `naver_pay`, `revolut_pay`, `cash_app_pay`, `wechat_pay`, and `alipay` 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).
- `kakao_pay`, `naver_pay`, `revolut_pay`, `cash_app_pay`, `wechat_pay`, and `alipay` 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).
- `kakao_pay`, `naver_pay`, `revolut_pay`, `cash_app_pay`, `wechat_pay`, and `alipay` 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).
- `kakao_pay`, `naver_pay`, `revolut_pay`, `cash_app_pay`, `wechat_pay`, and `alipay` 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).



### v3.17.0 (2026-01-16)
* * *

Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ install-dev:
@$(PIP) install -e ".[dev]"
@$(PIP) install pytest pytest-cov black flake8 pylint mypy

test:
test: install install-dev
@echo "Running tests..."
@$(PYTHON) -m pytest tests/ -v

Expand All @@ -75,6 +75,7 @@ check: format-check lint test

build: clean
@echo "Building distribution packages..."
@$(PYTHON) -m pip install -U build || $(PYTHON) -m pip install build
@$(PYTHON) -m build

clean:
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.17.0
3.18.0
1 change: 1 addition & 0 deletions chargebee/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
PauseOption,
PaymentInitiator,
PaymentMethod,
PaymentMethodSavePolicy,
PaymentMethodType,
PaymentVoucherType,
PeriodUnit,
Expand Down
7 changes: 7 additions & 0 deletions chargebee/models/credit_note/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,13 @@ class EinvoiceStatus(Enum):
SUCCESS = "success"
FAILED = "failed"
REGISTERED = "registered"
ACCEPTED = "accepted"
REJECTED = "rejected"
MESSAGE_ACKNOWLEDGEMENT = "message_acknowledgement"
IN_PROCESS = "in_process"
UNDER_QUERY = "under_query"
CONDITIONALLY_ACCEPTED = "conditionally_accepted"
PAID = "paid"

def __str__(self):
return self.value
Expand Down
7 changes: 7 additions & 0 deletions chargebee/models/einvoice/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ class Status(Enum):
SUCCESS = "success"
FAILED = "failed"
REGISTERED = "registered"
ACCEPTED = "accepted"
REJECTED = "rejected"
MESSAGE_ACKNOWLEDGEMENT = "message_acknowledgement"
IN_PROCESS = "in_process"
UNDER_QUERY = "under_query"
CONDITIONALLY_ACCEPTED = "conditionally_accepted"
PAID = "paid"

def __str__(self):
return self.value
Expand Down
3 changes: 3 additions & 0 deletions chargebee/models/entitlement_override/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@ def __str__(self):

class AddEntitlementOverrideForSubscriptionEntitlementOverrideParams(TypedDict):
feature_id: Required[str]
entity_id: NotRequired[str]
entity_type: NotRequired[enums.EntityType]
value: NotRequired[str]
expires_at: NotRequired[int]
effective_from: NotRequired[int]
is_enabled: NotRequired[bool]

class AddEntitlementOverrideForSubscriptionParams(TypedDict):
action: NotRequired[enums.Action]
Expand Down
2 changes: 2 additions & 0 deletions chargebee/models/entitlement_override/responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
class EntitlementOverrideResponse(Model):
raw_data: Dict[Any, Any] = None
id: str = None
subscription_id: str = None
entity_id: str = None
entity_type: str = None
feature_id: str = None
Expand All @@ -16,6 +17,7 @@ class EntitlementOverrideResponse(Model):
name: str = None
expires_at: int = None
effective_from: int = None
is_enabled: bool = None
schedule_status: str = None


Expand Down
24 changes: 24 additions & 0 deletions chargebee/models/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,7 @@ class EntityType(Enum):
USAGE_FILE = "usage_file"
BUSINESS_RULE = "business_rule"
RULESET = "ruleset"
CHARGE = "charge"

def __str__(self):
return self.value
Expand Down Expand Up @@ -481,6 +482,7 @@ class EventType(Enum):
PAYMENT_SCHEDULE_SCHEME_DELETED = "payment_schedule_scheme_deleted"
SUBSCRIPTION_RENEWAL_REMINDER = "subscription_renewal_reminder"
ADD_USAGES_REMINDER = "add_usages_reminder"
PAYMENT_DUE_REMINDER = "payment_due_reminder"
TRANSACTION_CREATED = "transaction_created"
TRANSACTION_UPDATED = "transaction_updated"
TRANSACTION_DELETED = "transaction_deleted"
Expand Down Expand Up @@ -755,6 +757,7 @@ class Gateway(Enum):
DEUTSCHE_BANK = "deutsche_bank"
EZIDEBIT = "ezidebit"
TWIKEY = "twikey"
TEMPUS = "tempus"
GOCARDLESS = "gocardless"
NOT_APPLICABLE = "not_applicable"

Expand Down Expand Up @@ -909,6 +912,19 @@ class PaymentMethod(Enum):
PAY_BY_BANK = "pay_by_bank"
TRUSTLY = "trustly"
STABLECOIN = "stablecoin"
KAKAO_PAY = "kakao_pay"
NAVER_PAY = "naver_pay"
REVOLUT_PAY = "revolut_pay"
CASH_APP_PAY = "cash_app_pay"

def __str__(self):
return self.value


class PaymentMethodSavePolicy(Enum):
ALWAYS = "always"
ASK = "ask"
NEVER = "never"

def __str__(self):
return self.value
Expand Down Expand Up @@ -945,6 +961,10 @@ class PaymentMethodType(Enum):
PAY_BY_BANK = "pay_by_bank"
TRUSTLY = "trustly"
STABLECOIN = "stablecoin"
KAKAO_PAY = "kakao_pay"
NAVER_PAY = "naver_pay"
REVOLUT_PAY = "revolut_pay"
CASH_APP_PAY = "cash_app_pay"

def __str__(self):
return self.value
Expand Down Expand Up @@ -1198,6 +1218,10 @@ class Type(Enum):
PAY_BY_BANK = "pay_by_bank"
TRUSTLY = "trustly"
STABLECOIN = "stablecoin"
KAKAO_PAY = "kakao_pay"
NAVER_PAY = "naver_pay"
REVOLUT_PAY = "revolut_pay"
CASH_APP_PAY = "cash_app_pay"
FREE_TRIAL = "free_trial"
PAY_UP_FRONT = "pay_up_front"
PAY_AS_YOU_GO = "pay_as_you_go"
Expand Down
3 changes: 2 additions & 1 deletion chargebee/models/hosted_page/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -704,8 +704,8 @@ class CheckoutOneTimeForItemsParams(TypedDict):
class CheckoutNewForItemsParams(TypedDict):
subscription: NotRequired["HostedPage.CheckoutNewForItemsSubscriptionParams"]
layout: NotRequired[enums.Layout]
customer: NotRequired["HostedPage.CheckoutNewForItemsCustomerParams"]
business_entity_id: NotRequired[str]
customer: NotRequired["HostedPage.CheckoutNewForItemsCustomerParams"]
billing_cycles: NotRequired[int]
subscription_items: Required[
List["HostedPage.CheckoutNewForItemsSubscriptionItemParams"]
Expand Down Expand Up @@ -824,6 +824,7 @@ class CollectNowParams(TypedDict):
redirect_url: NotRequired[str]
card: NotRequired["HostedPage.CollectNowCardParams"]
currency_code: NotRequired[str]
payment_method_save_policy: NotRequired[enums.PaymentMethodSavePolicy]

class AcceptQuoteParams(TypedDict):
quote: Required["HostedPage.AcceptQuoteQuoteParams"]
Expand Down
7 changes: 7 additions & 0 deletions chargebee/models/invoice/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,13 @@ class EinvoiceStatus(Enum):
SUCCESS = "success"
FAILED = "failed"
REGISTERED = "registered"
ACCEPTED = "accepted"
REJECTED = "rejected"
MESSAGE_ACKNOWLEDGEMENT = "message_acknowledgement"
IN_PROCESS = "in_process"
UNDER_QUERY = "under_query"
CONDITIONALLY_ACCEPTED = "conditionally_accepted"
PAID = "paid"

def __str__(self):
return self.value
Expand Down
7 changes: 7 additions & 0 deletions chargebee/models/omnichannel_subscription/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,16 @@ class OmnichannelTransactionType(Enum):
def __str__(self):
return self.value

class ListOmnichannelSubscriptionItemParams(TypedDict):
status: NotRequired[Filters.EnumFilter]
item_id_at_source: NotRequired[Filters.StringFilter]

class ListParams(TypedDict):
limit: NotRequired[int]
offset: NotRequired[str]
omnichannel_subscription_item: NotRequired[
"OmnichannelSubscription.ListOmnichannelSubscriptionItemParams"
]
source: NotRequired[Filters.EnumFilter]
customer_id: NotRequired[Filters.StringFilter]

Expand Down
6 changes: 6 additions & 0 deletions chargebee/models/payment_intent/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ class PaymentMethodType(Enum):
PAY_BY_BANK = "pay_by_bank"
TRUSTLY = "trustly"
STABLECOIN = "stablecoin"
KAKAO_PAY = "kakao_pay"
NAVER_PAY = "naver_pay"
REVOLUT_PAY = "revolut_pay"
CASH_APP_PAY = "cash_app_pay"
WECHAT_PAY = "wechat_pay"
ALIPAY = "alipay"

def __str__(self):
return self.value
Expand Down
4 changes: 2 additions & 2 deletions chargebee/models/pricing_page_session/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ class CreateForNewSubscriptionShippingAddressParams(TypedDict):
validation_status: NotRequired[enums.ValidationStatus]

class CreateForExistingSubscriptionPricingPageParams(TypedDict):
id: Required[str]
id: NotRequired[str]

class CreateForExistingSubscriptionSubscriptionParams(TypedDict):
id: Required[str]
Expand Down Expand Up @@ -111,7 +111,7 @@ class CreateForNewSubscriptionParams(TypedDict):

class CreateForExistingSubscriptionParams(TypedDict):
redirect_url: NotRequired[str]
pricing_page: Required[
pricing_page: NotRequired[
"PricingPageSession.CreateForExistingSubscriptionPricingPageParams"
]
subscription: Required[
Expand Down
1 change: 1 addition & 0 deletions chargebee/models/subscription/operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -1729,6 +1729,7 @@ class CancelForItemsParams(TypedDict):
List["Subscription.CancelForItemsSubscriptionItemParams"]
]
cancel_reason_code: NotRequired[str]
decommissioned: NotRequired[bool]

class ResumeParams(TypedDict):
resume_option: NotRequired[enums.ResumeOption]
Expand Down
1 change: 1 addition & 0 deletions chargebee/models/subscription/responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ class SubscriptionResponse(Model):
auto_close_invoices: bool = None
discounts: List[DiscountResponse] = None
business_entity_id: str = None
decommissioned: bool = None


@dataclass
Expand Down
2 changes: 1 addition & 1 deletion chargebee/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VERSION = "3.17.0"
VERSION = "3.18.0"