Releases: Adyen/adyen-python-api-library
Adyen Python API Library v15.0.0
Breaking Changes 🛠
- Python version floor raised to 3.8: Support for Python 2.7 and 3.6 has been dropped; the library now requires Python ≥ 3.8, so integrations running on older runtimes must upgrade before migrating to this release. (#421) — @thomasc-adyen
- Recurring API base URL migrated to
paltokenizationdomain: The test and live endpoint forRecurringApichanged frompal-{env}.adyen.com/pal/servlet/Recurring/v68topaltokenization-{env}.adyen.com/paltokenization/servlet/Recurring/v68; any environment-specific URL overrides that hard-coded the old host will need to be updated. (#463, #466) — @AdyenAutomationBot (merged by @thomasc-adyen), @thomasc-adyen
New Features 💎
Capital API
- New
AdyenCapitalApiservice: Introduces the Capital service to the SDK, exposingGrantAccountsApi,GrantOffersApi, andGrantsApisub-clients, allowing developers to programmatically access Adyen Capital grant management without building raw HTTP calls. (#409) — @jeandersonbc - New
DynamicOffersApi: Addsget_all_dynamic_offers,calculate_preliminary_offer_from_dynamic_offer, andcreate_static_offer_from_dynamic_offerendpoints so integrators can retrieve and act on flexible financing offers in real time. (#465, #466) — @AdyenAutomationBot (merged by @thomasc-adyen), @thomasc-adyen GrantsApiexpanded with disbursement endpoints: Addsget_all_grant_disbursements,get_grant_disbursement, andupdate_grant_disbursementmethods toGrantsApi, giving integrators visibility into individual disbursement records for active grants. (#465) — @AdyenAutomationBot (merged by @thomasc-adyen)
Balance Platform
- New
DirectDebitMandatesApi: Exposesget_list_of_mandates,get_mandate_by_id,cancel_mandate, andupdate_mandateonAdyenBalancePlatformApi, enabling full lifecycle management of direct debit mandates without manual REST calls. (#464, #466) — @AdyenAutomationBot (merged by @thomasc-adyen), @thomasc-adyen - New
SCAAssociationManagementApi: Addslist_associations,approve_association, andremove_associationmethods to manage Strong Customer Authentication device associations via the Balance Platform API. (#464) — @AdyenAutomationBot (merged by @thomasc-adyen) - New
SCADeviceManagementApi: Addsbegin_sca_device_registration,finish_sca_device_registration, andsubmit_sca_associationmethods, providing a complete SCA device registration flow through the SDK. (#464) — @AdyenAutomationBot (merged by @thomasc-adyen)
POS Mobile
AdyenPosMobileApinow exported from the top-levelAdyenmodule:AdyenPosMobileApiand itscreate_communication_sessionmethod are now accessible directly via the mainAdyennamespace, fixing an omission that forced users to import the class from an internal sub-package. (#414) — @jeandersonbc
Client
application_nameparameter inAdyenClient: Passingapplication_nametoAdyenClient.__init__now prepends the provided name to theUser-Agentheader on every outgoing request, making it easier to identify integrations in Adyen support logs. (#408) — @gcatanese
Code Generation
- Automated model/service updates for Checkout, Balance Platform, Legal Entity Management, and Recurring (January 2026): Regenerated services and models aligned with the latest
adyen-openapispecification snapshots, keeping field definitions and enum values up to date with the Adyen platform. (#410, #411, #412, #413) — @AdyenAutomationBot (merged by @jeandersonbc), @AdyenAutomationBot (merged by @galesky-a) - Automated model/service updates for PosMobile (February 2026): Regenerated PosMobile service from the latest OpenAPI spec, applying code-formatting improvements consistent with the new ruff style. (#415) — @AdyenAutomationBot (merged by @gcatanese)
Fixes ⛑️
- Pin GitHub Actions to immutable commit SHAs: All six CI workflow files now reference actions by their full commit SHA rather than mutable version tags, eliminating the supply-chain risk of an action author's account being compromised. (#405, #406) — @app/copilot-swe-agent (merged by @gcatanese)
- CI format action now sourced from
pyproject.toml: The GitHub Actions formatting step was updated to derive theruffversion frompyproject.tomlrather than hard-coding it, ensuring the CI tool version stays in sync with the project's declared dev dependency. (#462) — @thomasc-adyen - Fix Python constructor templates to use
super()without arguments: Code generation templates updated to emitsuper().__init__()instead of the legacysuper(ClassName, self).__init__()form, which was syntactically redundant in Python 3 and flagged by linters. (#444) — @thomasc-adyen - Fix
pyproject.tomlmetadata and workflow action alignment: Aligns thepyproject.tomlversion field with the release version to prevent duplicate-version PyPI publish errors, and pins workflow actions to current immutable SHAs for consistency. (#468) — @thomasc-adyen
Contributor Notes 🔧
pyproject.tomlintroduced as primary packaging manifest: A newpyproject.tomlreplaces the sole reliance onsetup.py, consolidating build metadata,ruffconfiguration, coverage settings, and optional dependency groups (requests,pycurl,test,dev) in one PEP 517-compliant file. (#423, #467, #468) — @thomasc-adyenruffreplacespylint/pycodestylefor linting: The project now usesruff>=0.4.4(configured inpyproject.toml) together with a.pre-commit-config.yamlhook, providing faster, more consistent code quality checks and automated formatting on commit. (#423) — @thomasc-adyen- SDK modernized to Python 3.8+ style: All service classes,
AdyenClient,AdyenResult,HTTPClient, andutilnow use Python 3-native syntax — PEP 484 type hints,from __future__ import annotations, class-freesuper(), and f-string cleanups — making the codebase easier to read and contribute to. (#421) — @thomasc-adyen AGENTS.mdadded for AI-assisted contributors: A newAGENTS.mdfile documents project structure and conventions so that AI coding agents can understand and respect the project's architecture when making contributions. (#403) — @galesky-a- CI:
actions/checkoutupgraded to v6: Both the Renovate-automated and manual bumps bring the checkout action to its latest major version for improved reliability and security. (#402, #427) — @app/renovate (merged by @jeandersonbc), @app/renovate (merged by @thomasc-adyen) - CI:
actions/cacheupgraded to v5: Updates the cache action to the latest major version, reducing dependency on deprecated APIs. (#426) — @app/renovate (merged by @thomasc-adyen) - CI:
actions/labelerupgraded to v6: Keeps the issue/PR labeling workflow on a supported version. (#382) — @app/renovate (merged by @galesky-a) - CI:
actions/staleupgraded to v10: Bumps the stale-issue action to its latest major version. (#380) — @app/renovate (merged by @gcatanese) - CI: Python test matrix updated to 3.14: The CI workflow now tests against Python 3.14, ensuring compatibility with the latest Python release. (#366) — @app/renovate (merged by @galesky-a)
- CI:
Adyen/release-automation-actionupgraded to v1.4.0: Keeps the release tooling on the latest supported minor version. (#374) — @app/renovate (merged by @gcatanese)
Other Changes 🖇️
- Release workflow now only runs on merged PRs: The release job condition now checks
github.event.pull_request.merged == true, preventing accidental release runs when PRs are simply closed without merging. (#404) — @gcatanese - **CI: `m...
Adyen Python API Library v14.0.0
What's Changed
This release introduces a significant refactoring of the service layer to improve modularity, corrects auto-generated method signatures, and brings several API updates and new features. It marks a major milestone in aligning the library more closely with Adyen’s OpenAPI specifications
🛠 Breaking Changes
Method Signature Correction
The code generation template was incorrectly including required request body parameters as separate, unused arguments in service methods. The template has been corrected to only include required pathParams in the method signature alongside the request object.
This fixes incorrect method signatures across multiple services. As a result, methods that previously had duplicated and unused arguments now have a cleaner signature.
Action required: review the method signatures for the services you use and remove any unused arguments from your calls. Examples of this change include:
- SessionAuthentication API:
authenticationSessionRequestparameter removed fromcreate_authentication_session. - BalancePlatform API:
authorisedCardUsersparameter removed fromcreate_authorised_card_usersandupdate_authorised_card_users.balanceWebhookSettingInfoparameter removed fromcreate_webhook_setting.balanceWebhookSettingInfoUpdateparameter removed fromupdate_webhook_setting.
Service folder restructuring
To ensure a consistent directory structure and improve modularity, several services have been moved from the services folder into their own dedicated subdirectories (e.g., Adyen/services/balanceControl/):
balanceControl, binLookup, dataProtection, disputes, posMobile, recurring, storedValue.
Introducing service wrappers
To ensure a consistent way of accessing service functionality, the restructured services now use a wrapper class that exposes their endpoints through the shared Adyen client.
This structure, already used by services like checkout and balancePlatform, now applies to: balanceControl, binLookup, dataProtection, disputes, posMobile, recurring, and storedValue.
Action required: update your code to call the API via the new wrapper structure.
For example:
# Before
result = adyen.binlookup.get_cost_estimate(request)
# After
result = adyen.binlookup.bin_lookup_api.get_cost_estimate(request)💎 New Features
Legal Entity Management API v4
The library now supports Legal Entity Management API v4. LEM v4 enhances the onboarding process and ensures compliance with evolving regulatory data requirements across regions and products.
See the Onboarding v4 documentation for details, and review the API changes from v3 to v4 to understand the impact on your integration.
Balance Platform API
- Added the new
TransferLimitsBalanceAccountLevelApi. - Added the new
TransferLimitsBalancePlatformLevelApi.
Checkout API
- Added the
validate_shopper_idmethod to theUtilityApi.
🐞 Bug Fixes
- Generator: Fixed the
api.mustachetemplate to prevent duplicating request body fields in method signatures. This corrects method signatures across multiple services. - SessionAuthentication: Corrected the URL mapping for the live endpoint.
What's Changed
Breaking Changes 🛠
- Fix(generator): Correct method signatures and refactor services by @galesky-a in #393
Fixes ⛑️
- Release Workflow: run only for PRs from maintainers by @gcatanese in #387
- Add workflow_call trigger to python-ci.yml by @gcatanese in #391
Other Changes 🖇️
- Set workflow permissions by @gcatanese in #377
- FIX: explicitly callout how to initialize individual api clients by @galesky-a in #383
- FIX: typo in readme by @galesky-a in #385
- fix: Correct possdk live endpoint construction by @galesky-a in #386
- Add @Adyen/api-library-maintainers to CODEOWNERS by @gcatanese in #389
- Release v14.0.0 by @AdyenAutomationBot in #379
New Contributors
- @galesky-a made their first contribution in #383
Full Changelog: v13.6.0...v14.0.0
Adyen Python API Library v13.6.0
What's Changed
New Features 💎
Configuration API / Payment Instruments
-
Added support for:
get_network_token_activation_data- Get the network token activation data for a payment instrument.create_network_token_provisioning_data- Create provisioning data for a network token. Use the provisioning data to add a user's payment instrument to their digital wallet.
-
Code generation: update services and models by @AdyenAutomationBot in #373
Other Changes 🖇️
- Release v13.6.0 by @AdyenAutomationBot in #372
Full Changelog: v13.5.1...v13.6.0
Adyen Python API Library v13.5.1
What's Changed
Patch to rename the authorized_card_users_api methods
Other Changes 🖇️
- Code generation: update services and models by @AdyenAutomationBot in #370
- Release v13.5.1 by @AdyenAutomationBot in #371
Full Changelog: v13.5.0...v13.5.1
Adyen Python API Library v13.5.0
What's Changed
New Features 💎
- BalancePlatform:
- Added AuthorizedCardUsersApi
- Added BalancesApi
- SessionAuthentication:
- Added SessionAuthenticationApi
Other Changes 🖇️
- Deprecated AdyenBalanceControlApi methods
- Deprecated AdyenRecurringApi methods
- Deprecated POS Terminal Management API, ❗ use instead the Management API for the management of your terminal fleet ❗
- Code generation: update services and models by @AdyenAutomationBot in #363
- Add close-issue-label flag to correctly label closed issues by @DjoykeAbyah in #364
- Improve GitHub workflows by @ayodejidev in #367
- Deprecate POSTFM API by @gcatanese in #368
- Add GitHub issue form by @ayodejidev in #362
- Release v13.5.0 by @AdyenAutomationBot in #365
Full Changelog: v13.4.0...v13.5.0
Adyen Python API Library v13.4.0
What's Changed
New Features 💎
-
BalancePlatform:
- In
manage_sca_devices_apiaddedcomplete_association_between_sca_device_and_resourceandinitiate_association_between_sca_device_and_resourceto complete an association between an SCA device and a resource and initiate an association between an SCA device and a resource.
- In
-
Code generation: update services and models by @AdyenAutomationBot in #359
Other Changes 🖇️
- BalancePlatform:
- Deprecation message added in
grant_accounts_apiandgrant_offers_api.
- Deprecation message added in
- Transfers:
- Deprecation message added in
capital.
- Deprecation message added in
- Release v13.4.0 by @AdyenAutomationBot in #361
Full Changelog: v13.3.0...v13.4.0
Adyen Python API Library v13.3.0
What's Changed
- In
Terminaldeprecatedassign_terminals,find_terminal,get_stores_under_account,get_terminal_detailsandget_terminals_under_account - Update all services by @AdyenAutomationBot in #357
Other Changes 🖇️
- Release v13.3.0 by @AdyenAutomationBot in #358
Full Changelog: v13.2.0...v13.3.0
Adyen Python API Library v13.2.0
What's Changed
New Features 💎
- LegalEntityManagement:
- Added
calculate_pci_status_of_legal_entityinpci_questionnaires_api
- Added
- Update all services by @AdyenAutomationBot in #355
Other Changes 🖇️
- Release v13.2.0 by @AdyenAutomationBot in #356
Full Changelog: v13.1.0...v13.2.0
Adyen Python API Library v13.1.0
What's Changed
New Features 💎
- BalancePlatform
- Added
get_all_transaction_rules_for_account_holderto get all transaction rules for an account holder - Added
get_all_transaction_rules_for_balance_accountto get all transaction rules for a balance account - Added
get_all_transaction_rules_for_balance_platformto get all transaction rules for a balance platform
- Added
- Update all services by @AdyenAutomationBot in #346
Other Changes 🖇️
- Create renovate.json with minimum required release age by @ayodejidev in #347
- Create codeql-analysis.yml by @ayodejidev in #352
- chore(deps): update actions/setup-python action to v5 by @renovate in #353
- chore(deps): update actions/labeler action to v5 by @renovate in #350
- chore(deps): update actions/checkout action to v4 by @renovate in #349
- Release v13.1.0 by @AdyenAutomationBot in #348
New Contributors
- @ayodejidev made their first contribution in #347
- @renovate made their first contribution in #353
Full Changelog: v13.0.0...v13.1.0
Adyen Python API Library v13.0.0
What's Changed
Breaking Changes 🛠
- Checkout API:
- Removal of
ClassicCheckoutSDKApi
- Removal of
- Update all services by @AdyenAutomationBot in #341
New Features 💎
- LegalEntityManagement API:
- In
terms_of_service_apiaddedget_accepted_terms_of_service_document
- In
- Update all services by @AdyenAutomationBot in #326
- Update all services by @AdyenAutomationBot in #329
- Update all services by @AdyenAutomationBot in #337
Fixes ⛑️
- Update setup.py by @jillingk in #340
- adjusted deprecated repository_url with repository-url by @DjoykeAbyah in #342
- Fix excluding files properly by @jillingk in #345
- Update pypipublish.yml by @jillingk in #344
Other Changes 🖇️
- updated stalebot by @DjoykeAbyah in #324
- updated readme by @DjoykeAbyah in #328
- Release v12.6.0 by @AdyenAutomationBot in #325
- Update client.py by @jillingk in #330
- included link to API-Explorer for Readme PaymentsApp API by @DjoykeAbyah in #332
- Release v12.7.0 by @AdyenAutomationBot in #331
- Update CODEOWNERS by @acampos1916 in #335
- Update all services by @AdyenAutomationBot in #333
- Release v12.7.1 by @AdyenAutomationBot in #336
- Add deprecation info as comments by @gcatanese in #338
- Release v12.8.0 by @AdyenAutomationBot in #339
- Release v13.0.0 by @AdyenAutomationBot in #343
Full Changelog: v12.5.1...v13.0.0