diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f38abc..4c904af5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Check our main [developer changelog](https://developer.paddle.com/?utm_source=dx ### Added +- Added `CLP` and `PEN` currency code support. See [related changelog](https://developer.paddle.com/changelog/2026/clp-pen-currencies?utm_source=dx&utm_medium=paddle-python-sdk) - Added `rotatable` to api_key events. See [related changelog](https://developer.paddle.com/changelog/2026/aws-secrets-manager-rotation?utm_source=dx&utm_medium=paddle-python-sdk) ## 1.14.1 - 2026-04-21 diff --git a/paddle_billing/Entities/Shared/CurrencyCode.py b/paddle_billing/Entities/Shared/CurrencyCode.py index 6756106c..dbd673a6 100644 --- a/paddle_billing/Entities/Shared/CurrencyCode.py +++ b/paddle_billing/Entities/Shared/CurrencyCode.py @@ -14,6 +14,7 @@ class CurrencyCode(PaddleStrEnum, metaclass=PaddleStrEnumMeta): SEK: "CurrencyCode" = "SEK" ARS: "CurrencyCode" = "ARS" BRL: "CurrencyCode" = "BRL" + CLP: "CurrencyCode" = "CLP" CNY: "CurrencyCode" = "CNY" COP: "CurrencyCode" = "COP" CZK: "CurrencyCode" = "CZK" @@ -25,6 +26,7 @@ class CurrencyCode(PaddleStrEnum, metaclass=PaddleStrEnumMeta): MXN: "CurrencyCode" = "MXN" NOK: "CurrencyCode" = "NOK" NZD: "CurrencyCode" = "NZD" + PEN: "CurrencyCode" = "PEN" PLN: "CurrencyCode" = "PLN" RUB: "CurrencyCode" = "RUB" THB: "CurrencyCode" = "THB" diff --git a/paddle_billing/Notifications/Entities/Shared/CurrencyCode.py b/paddle_billing/Notifications/Entities/Shared/CurrencyCode.py index 6756106c..dbd673a6 100644 --- a/paddle_billing/Notifications/Entities/Shared/CurrencyCode.py +++ b/paddle_billing/Notifications/Entities/Shared/CurrencyCode.py @@ -14,6 +14,7 @@ class CurrencyCode(PaddleStrEnum, metaclass=PaddleStrEnumMeta): SEK: "CurrencyCode" = "SEK" ARS: "CurrencyCode" = "ARS" BRL: "CurrencyCode" = "BRL" + CLP: "CurrencyCode" = "CLP" CNY: "CurrencyCode" = "CNY" COP: "CurrencyCode" = "COP" CZK: "CurrencyCode" = "CZK" @@ -25,6 +26,7 @@ class CurrencyCode(PaddleStrEnum, metaclass=PaddleStrEnumMeta): MXN: "CurrencyCode" = "MXN" NOK: "CurrencyCode" = "NOK" NZD: "CurrencyCode" = "NZD" + PEN: "CurrencyCode" = "PEN" PLN: "CurrencyCode" = "PLN" RUB: "CurrencyCode" = "RUB" THB: "CurrencyCode" = "THB" diff --git a/tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py b/tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py index 50d884ff..a16a66d6 100644 --- a/tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py +++ b/tests/Unit/PaddleStrEnum/test_PaddleStrEnum.py @@ -1,5 +1,9 @@ from dataclasses import asdict, dataclass, is_dataclass +import pytest + +from paddle_billing.Entities.Shared.CurrencyCode import CurrencyCode +from paddle_billing.Notifications.Entities.Shared.CurrencyCode import CurrencyCode as NotificationCurrencyCode from paddle_billing.PaddleStrEnum import PaddleStrEnum, PaddleStrEnumMeta @@ -67,3 +71,11 @@ class TestCountryCodesEnum(PaddleStrEnum, metaclass=PaddleStrEnumMeta): assert TestCountryCodesEnum.France.value == "france" assert TestCountryCodesEnum.France.name == "Undefined" assert not TestCountryCodesEnum.France.is_known() + + +@pytest.mark.parametrize("currency_code", ["CLP", "PEN"]) +def test_currency_code_knows_clp_and_pen(currency_code): + assert CurrencyCode(currency_code).is_known() + assert CurrencyCode(currency_code).name == currency_code + assert NotificationCurrencyCode(currency_code).is_known() + assert NotificationCurrencyCode(currency_code).name == currency_code