All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Check our main developer changelog for information about changes to the Paddle Billing platform, the Paddle API, and other developer tools.
- Support for payout reconciliation reports and
remittance_reference, see changelog - Added
locationvalue forprice.tax_mode, see changelog
- Fixed
ReportsClient.create()operation type
- Non-catalog discounts on Transactions, see changelog
- Support
retained_feefield on totals objects to show the fees retained by Paddle for the adjustment. - Added support for new payment methods
blik,mb_way,pixandupi. See related changelog. ApiErrorwill now haveretry_afterproperty set for too_many_requests errors
- Added support for filtering events by
event_typein event list operation, see related changelog.
- Added support to fetch and update discount groups see related changelog
- Added
exchange_rateandfee_ratetoTransactionPayoutTotals - Added
exchange_ratetoTransactionPayoutTotalsAdjusted
- Added support for client tokens see related changelog
- Added support for Korean local payment methods, see related changelog.
- Added support for
balancereports, see related changelog. - Added support for API key events, see related changelog.
- Added support for discount mode
- Added support for discount group resources, see related changelog.
- Added
tax_modeto adjustment create operation - Support for simulation scenario configuration, see related changelog
- Fixed JSON encoding of undefined notification entities
paddle_billing.Notifications.Entities.UndefinedEntitynow implementsto_jsonand can be encoded usingpaddle_billing.Json.PayloadEncoder
- Improved type hints throughout SDK
- Added
PreviewTransactionoperation to support transaction previews without location information.
- Transaction preview
currency_codecan now be set tonull.
- Added
transactions.reviseoperation to revise a transaction and addedrevised_attoTransactionentity, see related changelog. - Added support for
transaction.revisednotification, see related changelog. - Added simulation API support related changelog
Client.simulations.createClient.simulations.updateClient.simulations.getClient.simulations.listClient.simulation_runs.createClient.simulation_runs.getClient.simulation_runs.listClient.simulation_run_events.replayClient.simulation_run_events.getClient.simulation_run_events.listClient.simulation_types.list
- Added
on_resumesupport to subscription resume and pause operations
- Adjustment type in responses is now the correct type
- Support for adjustment type, see related changelog
- Added Vietnamese Dong (
VND) as a supported currency for payments related changelog
- Subscription discount now supports null
starts_at
- Subscription IDs can be omitted when creating customer portal sessions
- Customer portal session customer ID will always be returned as string
Client.notifications.replaynow calls correct endpoint
- Support for customer portal sessions, see related changelog
Client.customer_portal_sessions.create
paddle_billing.Notifications.Entities.Subscriptionandpaddle_billing.Notifications.Entities.SubscriptionCreatedcurrent_billing_periodwould returnNoneifbilling_detailswasNone.current_billing_periodwill now returnTimePeriodwhen set.
- Added missing
traffic_sourceproperty topaddle_billing.Entities.NotificationSettingentity
paddle_billing.Entities.PaymentMethodtypeproperty is required
- Support for saved payment methods, see related changelog
Client.payment_methods.listClient.payment_methods.getClient.payment_methods.deleteClient.customers.create_auth_token
paddle_billing.Resources.Discounts.Operations.CreateDiscountexpires_atis nowpaddle_billing.Entities.DateTimepaddle_billing.Resources.Discounts.Operations.UpdateDiscountexpires_atis nowpaddle_billing.Entities.DateTime- Transaction and Subscription operation items now allow optional properties to be omitted.
- The following property types have changed (See UPGRADING.md for further details)
paddle_billing.Resources.Subscriptions.Operations:UpdateSubscription.itemsPreviewUpdateSubscription.itemsCreateOneTimeCharge.itemsPreviewOneTimeCharge.items
paddle_billing.Resources.Transactions.Operations:CreateTransaction.itemsUpdateTransaction.itemsPreviewTransactionByAddress.itemsPreviewTransactionByCustomer.itemsPreviewTransactionByIP.items
- The following property types have changed (See UPGRADING.md for further details)
- Transaction and Subscription preview responses now support preview products and prices without IDs (see UPGRADING.md for further details)
get_parameters()method on request operation classes is now removed or replaced byto_json()(see UPGRADING.md for further details)
paddle_billing.Entities.Shared.TransactionLineItemPreviewprorationcan now be None
- Added missing initialization file for
paddle_billing.Resources.IPAddresses
- Added
producttosubscription.items[], see related changelog - Support custom prices when updating and previewing subscriptions, see related changelog
- Support for
custom_dataon discounts - Support notification settings pagination, see related changelog
- Support notification settings
activefilter TransactionsClient.get_invoice_pdfnow supportsdispositionparameter, see related changelogSubscriptionClientpreview_updateandpreview_one_time_chargeresponses now haveimport_metaproperty- Support for
tax_rates_usedon Adjustments - Added
IPAddressesClient.get_ip_addressesto support retrieval of Paddle IP addresses - Support for
prorationon subscriptionrecurring_transaction_details.line_items[]andnext_transaction.details.line_items[] - Added
AdjustmentsClient.get_credit_note, see related changelog
paddle_billing.Entities.Shared.CustomDatais no longer adataclassNotificationSettingsClient.deletenow returnsNonefor204 No ContentresponseTimePeriodis now aligned to API specification:- Existing shared
TimePeriodwas renamed toDuration(with propertiesintervalandfrequency) - New shared
TimePeriodwas added (with propertiesstarts_atandends_at)
- Existing shared
- Replaced
AdjustmentTimePeriod,SubscriptionTimePeriodandTransactionTimePeriodwith sharedTimePeriod - Replaced
AdjustmentProration,SubscriptionProrationandTransactionProrationwith sharedProration paddle_billing.Entities.Eventdatawill now bepaddle_billing.Notifications.Entities.SubscriptionCreatedforsubscription.createdeventspaddle_billing.Entities.Eventdatawill now bepaddle_billing.Notifications.Entities.UndefinedEntityfor unknown event typespaddle_billing.Resources.Reports.Operations.CreateReportis replaced by report specific operationsCreateAdjustmentsReport|CreateDiscountsReport|CreateProductsAndPricesReport|CreateTransactionsReportpaddle_billing.Entities.Notificationpayloadis nowpaddle_billing.Entities.Notifications.NotificationEventpaddle_billing.Entities.Shared.BillingDetailsis no longer used forbilling_detailsin request operationsCreateTransactionnow usespaddle_billing.Resources.Transactions.Operations.Create.CreateBillingDetailsUpdateTransactionnow usespaddle_billing.Resources.Transactions.Operations.Update.UpdateBillingDetailsUpdateSubscription|PreviewUpdateSubscriptionnow usespaddle_billing.Resources.Subscriptions.Operations.Update.UpdateBillingDetails
PreviewPriceoperation no longer allows emptyitemsCustomersClient.credit_balancescan now be filtered bycurrency_code- Transaction payments
payment_method_idcan bestringorNone paddle_billing.Notifications.Verifierverify()now expectsrequestto bepaddle_billing.Notifications.Requests.Requestprotocol- Client connection errors will be raised as
requests.exceptions.ConnectionErrorinstead of anAttributeError
AvailablePaymentMethods- replaced byPaymentMethodType- Removed
receipt_datafromCreateOneTimeChargeandPreviewOneTimeChargesubscription operations - Removed
receipt_datafromTransaction - Removed
paddle_billing.Resources.Transactions.Operations.PreviewTransaction- replaced byPreviewTransactionByAddress|PreviewTransactionByCustomer|PreviewTransactionByIP
- Fixed bug - set default timeout.
- Fix
setup.pyversion
PaddleStrEnumhas been re-implement to gracefully handle non-existent values, it is no longer using native enums- The
paddle_billing.Entities.Subscriptions.SubscriptionItemprice entity is now using the mainpaddle_billing.Entities.Priceentity - Updated the version of
pytestsupported to accept 8.4.0
- The
paddle_billing.Notifications.Entities.Subscriptions.SubscriptionPriceentity has been updated to include support for allPriceproperties - Improved IDE support for Collections, IDEs will now know the variable type when iterating through the collection
- Entity factory methods are consistently static now where previously there were implementations as class methods
- The
paddle_billing.Entities.Subscriptions.SubscriptionPriceentity which has been removed in favour of reusingpaddle_billing.Entities.Priceentity.
- Fixed bug - raise Paddle API errors
- Fixed bug - corrected import in
NotificationSettingCollection.
- Fixed a bug with
UpdateBusinessoperation.
- Initial release.