Releases: Adyen/adyen-java-api-library
Release list
Adyen Java API Library v43.0.0
This release expands platform capabilities with several new services and significant model additions across Transfers, Management, Balance Platform, and Checkout.
Highlights include a new Cash Out API for Transfers, Donation Campaigns management, Managed Payout Schedules for Balance Platform, and end-to-end payment tracing support. The Checkout API is also bumped from v71 to v72, which carries several breaking changes.
What's new
New services
CashOutApi(Transfers v4) — initiate a cash out via initiateCashout().DonationCampaignsApi(Management v3) — full CRUD for donation campaigns, plus listNonprofits.ManagedPayoutSchedulesApi(Balance Platform) — apply, update, delete, and query managed payout schedules and their executions.
Enhancements
- Payment tracing — new
tracingandnetworkReasonfields on Transfer/TransferData (and mirrored in transfer webhooks). - Checkout payment methods — added AU PAY (
aupay) and d-barai (dbarai). - Enhanced scheme data — new models
Lodging,CarRental,Healthcare,TemporaryServices. - Recurring top-up webhooks — new
recurringTopUp.created / .deletedevents. - Regenerated
tapi,payout, andstoredvaluemodels from the latest specs.
New models
| Area | Notable additions |
|---|---|
transfers |
CashOut, CashOutInfo, CashOutTransfer, TransferDataTracing, NetworkReason, UKFpsTracingData, USAchTracingData |
management |
DonationCampaign(Request/Update), DonationCampaignStatus, Nonprofit, NonprofitCause, SplitDcc,CarnetInfo |
configurationwebhooks |
TopUpConfigurationEventRequest, TopUpConfigurationUpdatedEventRequest, WebhookTopUp* |
balanceplatform |
BalanceAccountConfiguration(s), BalancePlatformConfiguration(s), PayoutScheduleExecution(s),ExecutionResult |
checkout |
AuPayDetails, DBaraiDetails, Lodging, CarRental, Healthcare, TemporaryServices, Folio, Room |
Changed
Checkout API v71 → v72 — API_VERSION and the default base URL updated to /v72 across all checkout clients (PaymentsApi,
OrdersApi, PaymentLinksApi, ModificationsApi, RecurringApi, DonationsApi, UtilityApi). See Breaking Changes.
Fixed
- Enum path parameters serialized incorrectly — Enum-typed path parameters are now converted to their string value instead of
the enum constant name. (eebe797) - Javadoc missing for array/map properties — Fixed the generation template so Javadoc is produced correctly for array and map
properties. (5ff17f1) - Missing
java.util.Listimport — Added a missing import to a generated model to fix compilation. (d74a627)
Breaking Changes
1. Sweep operations moved to CustomPayoutSchedulesSweepsApi
createSweep, updateSweep, getSweep, getAllSweepsForBalanceAccount, and deleteSweep are removed from BalanceAccountsApi and must
now be called on the new CustomPayoutSchedulesSweepsApi.
// Before
balanceAccountsApi.getAllSweepsForBalanceAccount(balanceAccountId);
// After
customPayoutSchedulesSweepsApi.getAllSweepsForBalanceAccount(balanceAccountId);
2. Checkout DefaultErrorResponseEntity renamed to CheckoutErrorResponseEntity
Any code referencing DefaultErrorResponseEntity in the checkout package must be updated.
3. Checkout InvalidField model removed
The InvalidField model and the invalidFields property it backed have been removed.
4. DonationPaymentRequest fields removed
The additionalData and deliverAt fields have been removed from DonationPaymentRequest.
5. Checkout API bumped v71 → v72
API_VERSION and the default base URL now target /v72 for all checkout service clients.
Dependency Updates
| Dependency | Previous | Updated |
|---|---|---|
com.fasterxml.jackson.core:jackson-databind |
2.21.3 | 2.21.5 (security) |
org.apache.httpcomponents.client5:httpclient5 |
5.6.1 | *5.6.1 |
io.swagger.core.v3:swagger-annotations |
2.2.49 | 2.2.52 |
com.diffplug.spotless:spotless-maven-plugin |
3.4.0 | 3.8.0 |
org.apache.maven.plugins:maven-surefire-plugin |
3.5.5 | 3.5.6 |
org.apache.maven.plugins:maven-enforcer-plugin |
3.6.2 | 3.6.3 |
org.jacoco:jacoco-maven-plugin |
0.8.14 | 0.8.15 |
org.sonatype.central:central-publishing-maven-plugin |
0.10.0 | 0.11.0 |
References
Breaking Changes 🛠
- [checkout] Automated update from Adyen/adyen-openapi (
503dcc6,7f01d8c) - [balanceplatform] Automated update from Adyen/adyen-openapi (
059b42f)
New Features 💎
- [transfers] Automated update — Cash Out API & tracing (
a776ca2) - [management] Automated update — Donation Campaigns (
392ba85) - [transferwebhooks] Automated update — tracing (
336e22a) - [configurationwebhooks] Automated update — recurring top-up webhooks (
a2d39c6) - [payout], [storedvalue], [tapi] Automated updates (
306caac,44ae327,9272fbb)
Fixes ⛑️
- Fix pathParam conversion from enum to string (
eebe797) - Fix template to support Javadoc generation for arrays and maps (
5ff17f1) - Add missing java.util.List import (
d74a627(d74a6278))
Other Changes 🖇️
- Add tests for Checkout, BalancePlatformWebhooks, Management donation campaigns, Transfers initiateCashout, and transfer/transaction webhook (de)serialization (
8f66bbc,019f175,800896a,19bc5c2,c7150fe,d03c49f) - Configure SonarCloud on PRs/pushes; exclude generated OpenAPI models from coverage & CPD (
007a6f1,965db3d,037bd8e) - Dependency bumps (jackson-databind [SECURITY], httpclient5, swagger-annotations, spotless, surefire, enforcer, jacoco, central-publishing) chore(release): bump to 43.0.0 (
8c3fabf)
New Contributors
@poojah-adyen made their first contribution in #2007
Full Changelog: v42.0.1...v43.0.0
Adyen Java API Library v42.0.1
Summary
This patch-release aligns the library model in the Java library with response of POST /paymentMethods from Checkout/Payments API (see API Explorer). Adyen's backend was already including the cashapp tag in the response but it was not included in the corresponding OpenAPI specification.
What's Changed
Other Changes 🖇️
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #1974
- Release v42.0.1 by @AdyenAutomationBot in #1975
Full Changelog: v42.0.0...v42.0.1
Adyen Java API Library v42.0.0
This release delivers a modernized foundation for point-of-sale and financial services integrations.
The highlight is the new Cloud Device API, a first-class replacement for the legacy TerminalCloudAPI that brings built-in Nexo message encryption, device management, and a cleaner service design.
Two new services expand platform capabilities: Direct Debit Mandates for Balance Platform and Dynamic Offers for Capital. This release also drops JAXB dependencies, making it compatible with Jakarta +9 versions.
What's new
Cloud Device API (#1808, #1835, #1867, #1906, #1914)
Two new services replace the deprecated TerminalCloudAPI:
CloudDeviceApi— Send synchronous and asynchronous Terminal API messages, query connected devices and device status.EncryptedCloudDeviceApi— Variant ofCloudDeviceApiwith built-in Nexo message encryption/decryption. RequiresEncryptionCredentialDetails.
New supporting security classes: NexoSecurityManager, NexoCryptoPrimitives, NexoDerivedKeyGenerator, NexoSecurityException, EncryptionCredentialDetails.
New documentation: doc/CloudDeviceApi.md, doc/MigratingToCloudDeviceApi.md, doc/TerminalApi.md.
New services
DirectDebitMandatesApi(Balance Platform, v2) (#1800) — Create, retrieve, update, and cancel direct debit mandates.DynamicOffersApi(Capital, v1) (#1793) — Calculate preliminary offers, create static offers from dynamic offers, and list all dynamic offers.
New models
| Area | Notable additions |
|---|---|
checkout |
AlmaDetails, AppIdentifierInfo, ConfidenceScore, DirectDebitAuDetails, KlarnaNetworkDetails, PixPayByBankDetails, PixPayByBankRiskSignals, ScreenDimensions |
management |
ApplePayResponseInfo, GooglePayResponseInfo, KlarnaResponseInfo, MCResponseInfo, VisaResponseInfo, SepaDirectDebitResponseInfo, PayByBankPlaidResponseInfo, Dcc, GenericPmWithTdiUpdateInfo, and ~50 additional *ResponseInfo/*UpdateInfo types |
configurationwebhooks |
Mandate notification types (Mandate, MandateBankAccount, MandateNotificationData, MandateNotificationRequest), payout schedule notification types, ResultDetails |
balanceplatform |
ListMandatesResponse, Mandate, MandateBankAccount, MandatePartyIdentification, MandateStatus, MandateType, MandateUpdate, UKLocalMandateAccountIdentification |
capital |
CalculateGrantOfferRequest, CalculatedGrantOffer, CreateGrantOfferRequest, DynamicOffer, DynamicOfferRepayment, GetDynamicOffersResponse |
transferwebhooks |
FundingInstrument, UltimatePartyIdentification |
tapi |
Full TAPI model package (SaleToPOIRequest, SaleToPOIResponse, PaymentRequest, PaymentResponse, and all transaction/terminal types) |
clouddevice |
CloudDeviceApiRequest, CloudDeviceApiResponse, CloudDeviceApiAsyncResponse, DeviceStatus, DeviceStatusResponse, ConnectedDevicesResponse, and security message types |
TAPI utility helpers (#1913)
New classes in com.adyen.util.tapi:
PredefinedContentHelper— Parses and manages key-value pairs within aPredefinedContentreference ID string.SaleDataHelper— ParsesSaleToAcquirerDatafrom aSaleDataobject, auto-detecting Base64-encoded JSON or form-encoded key-value pairs.SaleToAcquirerData— POJO representing the sale information passed to the acquirer (shopper email, recurring contract, metadata, etc.).SaleToAcquirerDataParser— Serializes/deserializesSaleToAcquirerDatato/from Base64 JSON or form-encoded format.
Client now implements Closeable (#1795)
Client implements java.io.Closeable, enabling use in try-with-resources for proper HTTP connection cleanup:
try (Client client = new Client(config)) {
// use client
}The underlying HTTP client is now lazily initialized and shared across requests (thread-safe, double-checked locking).
Changed
-
GrantOffersApimethod names (#1793) — All references to "grant offer" have been renamed to "static offer" to align with the API spec (getAllGrantOffers→ now returns static offers,getGrantOffer→ now described as "Get the details of a static offer"). Method names are unchanged but Javadoc and semantics now reflect "static offers" vs the new dynamic offers. -
Terminal API documentation restructured (#1909) — Terminal API usage docs moved from the main
README.mdinto standalone files (doc/TerminalApi.md,doc/CloudDeviceApi.md,doc/MigratingToCloudDeviceApi.md). -
TransfersApi.getAllTransfers()categoryparameter (#1937) — Javadoc updated to documentcardandtopUpas additional valid values. -
ScaAssociationManagementApientityTypeparameter (#1912) — Javadoc updated to includelegalEntityas a valid value.
Fixed
-
HTTP timeout not applied by default (#1795) — Timeout configuration was not being set as the default
RequestConfigon the HTTP client, soconnectionTimeoutMillis,readTimeoutMillis, andconnectionRequestTimeoutMillishad no effect. Fixed so all requests inherit the configured timeouts (default: 60 000 ms each). -
Socket timeout not set (#1795) —
SocketTimeoutwas not configured, leaving the client potentially hanging indefinitely on unresponsive hosts. -
TAPI unknown enum values threw exceptions (#1900) — All enum types in the
tapipackage now handle unknown values gracefully instead of throwing a deserialization exception, improving forward-compatibility with new API values. -
createBaseURLusedreplaceFirstinstead ofreplace(#1952) —String.replaceFirst()interprets its first argument as a regex, causing failures for strings containing regex special characters. Fixed to useString.replace().
Breaking Changes
1. Region.IN enum value removed (#1837)
The Region.IN (India) value has been removed from com.adyen.enums.Region.
// Before — no longer compiles
config.setTerminalApiRegion(Region.IN);
// After — remove or replace with the appropriate region
config.setTerminalApiRegion(Region.APSE);2. GrantOffersApi.getAllGrantOffers() now requires accountHolderId (#1793)
The no-argument overload has been removed. accountHolderId is now a required parameter.
// Before
GrantOffers offers = grantOffersApi.getAllGrantOffers();
// After
GrantOffers offers = grantOffersApi.getAllGrantOffers("YOUR_ACCOUNT_HOLDER_ID");3. PaymentMethodsMerchantLevelApi.getApplePayDomains() return type changed (#1971)
The return type changed from ApplePayInfo to ApplePayResponseInfo.
// Before
ApplePayInfo info = paymentMethodsApi.getApplePayDomains(merchantId, paymentMethodId);
// After
ApplePayResponseInfo info = paymentMethodsApi.getApplePayDomains(merchantId, paymentMethodId);4. JAXB annotations removed from nexo models (#1807, #1802)
All javax.xml.bind annotations (@XmlElement, @XmlType, @XmlEnum, etc.) have been removed from the nexo model classes. Serialization now uses Gson's @SerializedName annotations exclusively. This resolves the class-loading conflicts on clients using Jakarta +9
The javax.xml.bind:jaxb-api compile dependency has been removed and replaced by commons-codec. A Maven Enforcer rule now blocks javax.xml.bind:jaxb-api from the dependency tree.
Deprecated
-
TerminalCloudAPI(#1808) — Usecom.adyen.service.clouddevice.CloudDeviceApiinstead. See the Cloud Device API documentation and the migration guide. -
PosMobileApi.createCommunicationSession()(#1946) — Deprecated since POS Mobile API v68.
Dependency Updates
| Dependency | Previous | Updated |
|---|---|---|
com.fasterxml.jackson (monorepo) |
2.12.7 | 2.21.3 |
com.google.code.gson:gson |
2.11.0 | 2.14.0 |
commons-codec:commons-codec |
— | 1.22.0 (new compile dep) |
org.apache.httpcomponents.client5:httpclient5 |
5.5 | 5.6.1 |
io.swagger.core.v3:swagger-annotations |
2.2.30 | 2.2.49 |
org.junit.jupiter:junit-jupiter |
5.11.4 | 5.14.4 |
org.mockito (monorepo) |
5.21.0 | 5.23.0 |
| `com.squar... |
Adyen Java API Library v41.1.1
What's Changed
Fixes ⛑️
Correct Classic Recurring URL #1897:
- test:
https://pal-test.adyen.com/pal/servlet/Recurring/v68 - live:
https://{prefix}-pal-live.adyenpayments.com/pal/servlet/Recurring/v68
Full Changelog: v41.1.0...v41.1.1
Adyen Java API Library v41.1.0
New Features 💎
Checkout API
- Add attribute
merchantReferenceinCheckoutForwardRequest - In
StoredPaymentMethodDetailsadd several enum values to supportalipay_plus - Add attribute
cardBininsStoredPaymentMethodResource
Balance Platform API
- Add support for Get summary of tax forms for an account holder
Management API
- Add
HomeScreenSettingsandKioskModeSettingsinTerminalSettings
Recurring API
Recurring endpoint has been updated to:
- (on TEST)
paltokenization-test.adyen.com/paltokenization/servlet/Recurring/v68 - (on LIVE)
myprefix-paltokenization-live.adyenpayments.com/paltokenization/servlet/Recurring/v68
Payout API
- Added enum
AMBERinResponseAdditionalDataCommon
Classic Payments API
- Added
RefusedandErrorenum values inModificationResult - Added enum
AMBERinResponseAdditionalDataCommon
Transfer Webhooks
- Add
InterchangeDatain the list ofEventsData - Add enum value
interchangeAdjustedinModification,TransferData,TransferEvent
Transfers API
- Add
InterchangeDatain the list ofEventsData - Add enum value
interchangeAdjustedinModification,Transfer,TransferData,TransferEvent
Note
Counterparty has been renamed to GrantCounterparty, however this change should not affect existing integrations since it belongs to a feature not yet being available.
If you use the Transfers API Capital endpoints you should consider migrating to the Capital API.
Fixes ⛑️
- Update cache action version in action.yml by @gcatanese in #1720
- Change JDK version to 21 and distribution to adopt by @gcatanese in #1721
- Replace deprecated 'adopt' distribution with 'temurin' in GitHub Actions by @Copilot in #1723
- Add Relayed Authorization Webhooks in README.md by @gcatanese in #1734
Other Changes 🖇️
- chore(deps): update actions/cache digest by @renovate[bot] in #1627
- Add merge_group to javaci workflow by @gcatanese in #1713
- (feature) - update unit testing framework to Junit 5 and migrate existing tests by @thomasc-adyen in #1716
- Update Legal Entity Management API version in README by @gcatanese in #1717
- (chore) - remove Java 20 from CI and add Java 25 by @thomasc-adyen in #1718
- [balancecontrol] Code generation: update services and models - Only javadoc changes by @AdyenAutomationBot in #1730
- chore(deps): update dependency com.squareup.okio:okio to v3.16.4 by @renovate[bot] in #1356
- Release v41.1.0 by @AdyenAutomationBot in #1707
Other PRs
- [management] Code generation: update services and models by @AdyenAutomationBot in #1725
- [payout] Code generation: update services and models by @AdyenAutomationBot in #1731
- [payment] Code generation: update services and models by @AdyenAutomationBot in #1728
- [balanceplatform] Code generation: update services and models by @AdyenAutomationBot in #1729
- [recurring] Code generation: update services and models by @AdyenAutomationBot in #1724
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1726
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #1727
New Contributors
- @thomasc-adyen made their first contribution in #1716
Full Changelog: v41.0.0...v41.1.0
Adyen Java API Library v41.0.0
What's Changed
Important
This release was bumped as a major due to a breaking change in Management API that was introduced in v40.1.0.
If you are not using the affected change in Management API (see #1646) from v40.1.0, you should be able to adopt this newer version without breaking changes. We apologize for the confusion.
This release includes introduces the new Capital API since capital-related features from Transfers API have been deprecated.
Check API docs for further details:
- https://docs.adyen.com/api-explorer/transfers/4/overview
- https://docs.adyen.com/api-explorer/capital/1/overview
Breaking Changes 🛠
- [management] Code generation: update services and models by @AdyenAutomationBot in #1646
New Features 💎
- [capital] Code generation: update services and models by @AdyenAutomationBot in #1664
Fixes ⛑️
- Untrusted Actions Versioning by @gcatanese in #1614
- fix: prevent command injection in format workflow by @Copilot in #1618
Other Changes 🖇️
- Remove redundant secret exposure in Maven publish workflow by @Copilot in #1624
- Fix YAML formatting in release workflow by @Copilot in #1625
- AGENTS.md for contributors by @galesky-a in #1626
- chore(deps): update dependency org.junit.jupiter:junit-jupiter-params to v5.14.1 by @renovate[bot] in #1592
- fix(ci): format should apply to all sdk-automation branches by @galesky-a in #1654
- fix(ci): Trigger format workflow at will by @galesky-a in #1655
- fix(ci): ensure release workflow triggers only on merged requests by @galesky-a in #1661
- feat(ci): create in place formatting workflow for composable steps by @galesky-a in #1660
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #1647
- [storedvalue] Code generation: update services and models by @AdyenAutomationBot in #1642
- [acswebhooks] Code generation: update services and models by @AdyenAutomationBot in #1639
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1653
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #1652
- FIX add Java 21 to CI version matrix by @jeandersonbc in #1667
- Introduce test coverage for new Capital API by @jeandersonbc in #1666
- chore(readme): added capital description by @jeandersonbc in #1670
- [balanceplatform] Code generation: update services and models by @AdyenAutomationBot in #1644
- [transactionwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1645
- [legalentitymanagement] Code generation: update services and models by @AdyenAutomationBot in #1650
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #1668
- [negativebalancewarningwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1643
- [capital] Code generation: update services and models by @AdyenAutomationBot in #1673
- [balancecontrol] Code generation: update services and models by @AdyenAutomationBot in #1641
- [configurationwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1637
- [payment] Code generation: update services and models by @AdyenAutomationBot in #1649
- [relayedauthorizationwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1669
- fix(recurring): use correct API endpoint by @jeandersonbc in #1674
- Release v41.0.0 by @AdyenAutomationBot in #1662
- Revert "Remove redundant secret exposure in Maven publish workflow" by @jeandersonbc in #1675
- fix(ci): enable workflow dispatch for publishing artifacts by @jeandersonbc in #1677
- Revert "chore(release): bump to 41.0.0" by @jeandersonbc in #1678
- Release v41.0.0 by @AdyenAutomationBot in #1676
New Contributors
- @Copilot made their first contribution in #1624
- @galesky-a made their first contribution in #1626
- @jeandersonbc made their first contribution in #1667
Full Changelog: v40.1.0...v41.0.0
Adyen Java API Library v40.1.0
💎 New Features
Checkout API
- Add support for /forward endpoint
- Add support for
ExternalTokenDetailspayment method - In
FundingSourceEnumadd enum valuePREPAIDinApplePayDetails,ApplePayDonations,CardDonations, andCardDetails
- In
CardDetailsandCardDonationsaddbillingSequenceNumberattribute - In
PaymentRequestaddPaymentValidations - In
PaymentResponseandPaymentDetailsResponseaddPaymentValidationsResponse - In
CheckoutBankTransferActionadd attributesbankCode,branchCode, - In
GenericIssuerPaymentMethodDetailsadd enumONLINEBANKING_IN - In
ResponseAdditionalDataSepaaddsepadirectdebitSepadirectdebitDueDateattribute - In
StoredPaymentMethodResourceaddmandateattribute - In
WeChatPayMiniProgramDetailsaddstoredPaymentMethodIdattribute
Classic Payments API
- In
PaymentRequestadd enumPREPAID - In
ResponseAdditionalDataSepaaddsepadirectdebitSepadirectdebitDueDateattribute
BalancePlatform
- remove
DeviceInfofields:cardCaptureTechnology,deviceName,imei,isoDeviceType,msisdn,osVersion,paymentTypes,serialNumber,storageTechnology - in
BalanceaddpendingAvailableattribute - in
BulkAddressaddnameattribute - in
CreateSweepConfigurationV2andUpdateSweepConfigurationV2add enumReasonEnum.SCHEMEADVICE
Payout API
- In add
ResponseAdditionalDataSepaaddsepadirectdebitSepadirectdebitDueDateattribute
Legal Entity Management API
- Add
requestPeriodicReviewmethod inLegalEntitiesApi
Management API
- In
AffirmInfoaddPricePlanEnumenums - In
PaymentMethodaddsvsandvalueLinkattributes - In
PaymentMethodResponseadd enumsKLARNA_B2B,SVS,VALUELINK - In
PaymentMethodSetupInfoaaddsvsandvalueLinkattributes - In
PaymentMethodSetupInfoadd enumsKLARNA_B2B,SVS,VALUELINK
Transfers API
- In
UltimatePartyIdentificationaddfundingInstrumentattribute - In
BankAccountV3addstoredPaymentMethodIdattribute - In
Transfer,TransferDataandTransferEventadd add enumReasonEnum.SCHEMEADVICE
Transfer Webhooks
- In
BankAccountV3addstoredPaymentMethodIdattribute - Add new event
balancePlatform.balanceAccount.balance.block.released
Other Changes 🖇️
- Add support for explicit null serialization in payment requests #1603
- Update Apache HttpClient 5.5 #1596
- Add support for
WWW-Authenticateheader in BalancePlaftorm SCA Associations Management #1585 - Add
AGENTS.MD#1566 - Update README file: Include additional HTTP headers with the API request by @gcatanese in #1578
- Improve comments related to HTTP headers by @gcatanese in #1587
Fixes ⛑️
-
Correct LIVE url for SessionAuthentication API by @gcatanese in #1580
-
BalancePlatform TransferLimits: update order of path params for deletePendingTransferLimit and getSpecificTransferLimit by @gcatanese in #1583
-
Release v40.1.0 by @AdyenAutomationBot in #1579
Full Changelog: v40.0.0...v40.1.0
Adyen Java API Library v40.0.1
Adyen Java API Library v40.0.1
This release introduces minor improvements on a dependency.
- Update Apache HttpClient 5.5 #1596
Adyen Java API Library v40.0.0
This release introduces major improvements, including support for LEM v4 and an updated Client setup.
Make sure to review the highlights below and check the breaking changes that may require updates in your integration.
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.
⚠️ Critical changes:
BusinessLine:capabilityattribute has been removedSourceOfFunds:acquiringBusinessLineIdattribute has been removedSourceOfFunds:adyenProcessedFundsattribute is now required
See new fields and other details in #1542
🛠 Breaking Changes
Client Setup
The Client class has been updated to enforce best practices and remove deprecated methods.
You can now configure the client using the Config object for a cleaner and more consistent setup:
// setup using Config object
Config config = new Config()
.environment(Environment.LIVE)
.liveEndpointUrlPrefix("myCompany")
.apiKey(apiKey);
Client client = new Client(config);
Several several legacy methods, deprecated already for 4-5 years, have been removed. See more details here #1525
Checkout API
New ShopperName class has been introduced, to be used when defining the name of the shopper. This affects several classes: CreateCheckoutSessionRequest, CreateCheckoutSessionResponse, DonationPaymentRequest, PaymentRequest.
The attribute shopperName has changed from
"shopperName"?: Name | null;
to
"shopperName"?: ShopperName | null;
💎 New Features
Checkout API
- In
PaymentRequestadd attributesdkData
Recurring API
- In
Recurringadd enum valuesEXTERNALandONECLICK_RECURRING
Management API
- Add
CardRegionEnumenums inSplitConfigurationRuleclass
Other Changes 🖇️
- Add api-library-maintainers to CODEOWNERS by @gcatanese in #1572
- Improve POSSDK live endpoint construction by @gcatanese in #1570
- Terminal API test by @gcatanese in #1573
- Release v40.0.0 by @AdyenAutomationBot in #1569
Full Changelog: v39.5.0...v40.0.0
Adyen Java API Library v39.5.0
New Features 💎
Checkout API
- Add support for UPI QR Code
- In
PaymentDetailsadd enumIRIS - In
UpiIntentDetailsadd attributebillingSequenceNumber
Classic Payments
- In
Recurringadd enum valuesEXTERNALandONECLICK_RECURRING
Payout API
- Add
ResponseAdditionalDataSwish
Terminal API
- Validate location header upon
308response status #1561 - Update the validation of
Common Nameof a Terminal API certificate #1564
Management API
- Add enum value
BR_SCHEMESinPaymentMethodResponseandPaymentMethodSetupInfo
Management Webhooks
- In
TerminalAssignmentNotificationRequestadd attributeassignedToStoreId - Add enum value
dataReviewinVerificationErrorandVerificationErrorRecursive
PRs 🖇️
- Validate location header 308 by @gcatanese in #1561
- Code generation: update services and models by @AdyenAutomationBot in #1560
Fixes ⛑️
- TerminalCommonNameValidator: Update validation regex by @gcatanese in #1564
Other Changes 🖇️
- Code generation: update services and models by @AdyenAutomationBot in #1563
- Code generation: update services and models by @AdyenAutomationBot in #1565
- Release v39.5.0 by @AdyenAutomationBot in #1562
Full Changelog: v39.4.0...v39.5.0