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