Releases: Adyen/adyen-java-api-library
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
Adyen Java API Library v39.4.0
New Features 💎
Add support for Open Banking API v1: it provides secure endpoints to share financial data and services with third parties. This API offers quick and reliable user verification.
Checkout API
- Add
bankTransferenum value inPaymentDetails
Balance Platform
- Add
TransferLimitsBalanceAccountLevelApito manageTransfer limits - balance account level - Add
TransferLimitsBalancePlatformLevelApito manageTransfer limits - balance platform level - In
BulkAddressadd attributesline1,line2,line3 - Add enum value
dataReviewinVerificationErrorandVerificationErrorRecursive
Legal Entity Management (v3)
- In
OrganizationadddateOfInitiationOfLegalProceeding,economicSector,globalLegalEntityIdentifier, etc.. - In
Organizationadd enumsInstitutionalSectorEnumandStatusOfLegalProceedingEnum
Classic Payments
- Add
ResponseAdditionalDataSwish
Transfer API
- Add enum value
AcceptedinConfirmationTrackingData
Configuration Webhooks
- In
BulkAddressadd attributesline1,line2,line3 - In
NetworkTokenNotificationDataV2add attributeschemeRiskScore - Add
deviceIdattribute inDevice - Add enum value
dataReviewinVerificationErrorandVerificationErrorRecursive
Transfer Webhooks
- Add enum value
AcceptedinConfirmationTrackingData
Dispute Webhooks
- Add
otherenum value inDisputeEventNotification
PRs 🖇️
- Code generation: update services and models by @AdyenAutomationBot in #1552
- Code generation: update services and models by @AdyenAutomationBot in #1557
- Add Open Banking API by @gcatanese in #1558
Other Changes 🖇️
- Improve test code and snippets by @gcatanese in #1553
- Add test with idempotency key by @gcatanese in #1555
- Javadoc improvements by @gcatanese in #1556
- Release v39.4.0 by @AdyenAutomationBot in #1554
Full Changelog: v39.3.0...v39.4.0
Adyen Java API Library v39.3.0
New Features 💎
Balance Platform API:
- Add support
USInternationalAchPriorityRequirement
Checkout API:
- Add support for
PayToPaymentMethodandUPIPaymentMethod - Add support for validateShopperId utility to validate the shopper id
- Add enum
RIVERTY_INSTALLMENTSinRivertyDetails - Add
actionattribute (PaymentDetailsResponseAction) inPaymentDetailsResponse - Add
encryptedPasswordattribute inCardDetails - Add
ResponseAdditionalDataSwish
Configuration Webhooks
- Add support for ScoreNotification webhook
Management API
- Add support for
SepaDirectDebitInfo - Add
unreferencedattribute inRefunds
Session Authentication API
- Add
Bankenum value toProductType
Terminal API
- Introduce
PredefinedContentHelperfor managing Display Events #1546 - Add
ScanBarcodeResultevent type #1549
Fixes ⛑️
- Deserialization of
bccmpayment method by @gcatanese in #1539 - Correct OneOf deserialization by @gcatanese in #1543
PRs
- Code generation: update services and models by @AdyenAutomationBot in #1529
- Code generation: update services and models by @AdyenAutomationBot in #1533
- Code generation: update services and models by @AdyenAutomationBot in #1536
- Code generation: update services and models by @AdyenAutomationBot in #1540
- TerminalAPI: PredefinedContentHelper for managing Display Events by @gcatanese in #1546
- Code generation: update services and models by @AdyenAutomationBot in #1545
- Improve generated code in JSON class by @gcatanese in #1522
- Code generation: update services and models by @AdyenAutomationBot in #1537
- Add TestPixActionQrCode by @gcatanese in #1541
- Implement stricter oneOf deserialization by @AdyenAutomationBot in #1544
- Set workflow permissions by @gcatanese in #1547
- Add ScanBarcodeResult event type by @gcatanese in #1549
- Release v39.3.0 by @AdyenAutomationBot in #1532
Full Changelog: v39.2.0...v39.3.0
Adyen Java API Library v39.2.0
What's Changed
Balance Platform API:
- Added support for
AdditionalbankIdentificationRequirement:auBsbCode,caRoutingNumber,gbSortCodeorusRoutingNumber. - Added
usagefield toCardandCardInfoto specify how many times the card can be used:singleUseormultiUse. - Added
approvalExpiredReasonEnum toCreateSweepConfigurationV2,UpdateSweepConfigurationV2andSweepConfigurationV2
Configuration Webhooks
- Added
usagefield to specify how many times the card can be used:singleUseormultiUse. - Added
transactionRulesResultinNetworkTokenNotificationDataV2 - Added
NetworkTokenRiskRuleData,NetworkTokenRiskRuleSourceandNetworkTokenTriggeredRiskRule - Added
approvalExpiredtoSweepConfigurationV2Webhook
Transfers API
- Added
approvalExpiredtoTransfer,TransferDataandTransferEvent - Added
emailandurltoPartyIdentificationandUltimatePartyIdentification
Transfers Webhooks
- Added
emailandurlfields toPartyIdentification - Added
approvalExpiredtoTransferDataandTransferEvent
Other Changes 🖇️
- Code generation: update services and models by @AdyenAutomationBot in #1527
- Release v39.2.0 by @AdyenAutomationBot in #1528
Full Changelog: v39.1.0...v39.2.0
Adyen Java API Library v39.1.0
Checkout API
- Add attribute
enhancedSchemeData(Enhanced scheme data that may be required for processing the payment) inPaymentAmountUpdateRequest,PaymentCancelRequest,PaymentRefundRequest,PaymentReversalRequest,StandalonePaymentCancelRequest - Add enum values
PaymeandPaymePosinPaymentDetails - Add attribute
promotedinPaymentMethod - Add attribute
subtypeinRivertyDetails
Tokenization Webhooks
Add support for Tokenization Webhooks:
recurring.token.alreadyExistingrecurring.token.createdrecurring.token.disabledrecurring.token.updated
What's Changed
New Features 💎
- Add Tokenization webhooks by @gcatanese in #1520
Other Changes 🖇️
- Add Tokenization webhooks to README by @gcatanese in #1523
- Code generation: update services and models by @AdyenAutomationBot in #1524
- Release v39.1.0 by @AdyenAutomationBot in #1521
Full Changelog: v39.0.0...v39.1.0
Adyen Java API Library v39.0.0
What's Changed
The release brings several improvements around model robustness and backward compatibility with evolving API schemas:
- Improved enum deserialisation: unknown enum values in API responses and webhooks are set as
nullinstead of throwing exceptions #1514 - Attributes with default values are now excluded from serialised API requests unless explicitly set, reducing redundant payloads and relying on the API implementation to manage default values #1517
Check below Breaking Changes 🛠 and New Features 💎
Breaking Changes 🛠
LEM API
- In
LegalEntitythecapabilitiesmap is no longerreadonly: theLegalEntityconstructor has been modified, removing thecapabilitiesparameter:
public LegalEntity(
@JsonProperty(JSON_PROPERTY_ID) String id,
@JsonProperty(JSON_PROPERTY_TRANSFER_INSTRUMENTS)
List<TransferInstrumentReference> transferInstruments,
@JsonProperty(JSON_PROPERTY_VERIFICATION_DEADLINES)
List<VerificationDeadline> verificationDeadlines)
Transfers API
- In
TransactionsApithe signature of the methodgetAllTransactionshas changed. It has a new parametersortOrder:
TransactionSearchResponse getAllTransactions(
String cursor, OffsetDateTime createdSince, OffsetDateTime createdUntil,
String sortOrder, Integer limit, RequestOptions requestOptions)
throws ApiException, IOException
- In
TransfersApithe signature of the methodgetAllTransfershas changed. It has a new parametersortOrder:
FindTransfersResponse getAllTransfers(
String cursor, OffsetDateTime createdSince, OffsetDateTime createdUntil,
String sortOrder, Integer limit, RequestOptions requestOptions)
throws ApiException, IOException
Management API
- Remove enum class
RegionalityEnuminSplitConfigurationRule - In
UpdateSplitConfigurationRuleRequestremove attributeregionality
New Features 💎
BalancePlatform API
- In
PaymentInstrumentsApiadd methodscreateNetworkTokenActivationDataandgetNetworkTokenActivationDatato create and retrieve network token activation data for a payment instrument. - In
AdditionalBankIdentificationadd new enumsauBsbCodeandcaRoutingNumber
Transfers API
- In
AdditionalBankIdentificationadd new enumsauBsbCodeandcaRoutingNumber - In
IssuedCardadd new attributethreeDSecure - In
Transferadd new attributecreatedAt, deprecatecreationDate(use insteadcreatedAt) - In
TransferDataadd new attributecreatedAtandupdatedAt, deprecatecreationDate(use insteadcreatedAt)
Management API
- Add support for
AlipayPlusandMaestroUsapayment methods: seePaymentMethodandPaymentMethodSetupInfoclasses - In
PaymentMethodResponse,PaymentMethodSetupInfoandUpdatePaymentMethodInfoseveralTypesWithErrorsEnumenums have been added (alipay_plus,avancard,cooper, etc..
ACS Webhooks
- In
RelayedAuthenticationRequestadd new attributesthreeDSRequestorAppURL,environment,timestamp,type
Transaction Webhooks
- In
IssuedCardadd new attributethreeDSecure
Transfer Webhooks
- In
IssuedCardadd new attributethreeDSecure - In
TransferDataadd new attributecreatedAtandupdatedAt, deprecatecreationDate(use insteadcreatedAt)
PRs 🖇️
- PaymentsApp API unit tests by @gcatanese in #1509
- Improve testing by @gcatanese in #1511
- Handling unknown enum values by @gcatanese in #1514
- Code generation: update services and models by @AdyenAutomationBot in #1515
- Code generation: update services and models by @AdyenAutomationBot in #1516
- [Checkout] Skip serialisation of attributes with default values by @gcatanese in #1517
- [All APIs] Skip serialisation of attributes with default values by @AdyenAutomationBot in #1518
- Release v39.0.0 by @AdyenAutomationBot in #1510
Full Changelog: v38.3.0...v39.0.0
Adyen Java API Library v38.3.0
What's Changed
New Features 💎
BalancePlatform API
- Add new service
AuthorizedCardUsersApito manage (add, get, delete and update) authorized users to a given card - In
GetTaxFormResponseadd optional parameterlegalEntityId - Add
NetworkTokenRequestortoNetworkToken - Add
dataMissingenum toVerificationError
Checkout API
- Add
capturePspReferencetoPaymentRefundRequest - Add
businessDayOnlytoPixRecurring
Management API
- In
SplitConfigurationRuleaddregionalityattribute andRegionalityEnumwith the supported values - In
UpdateSplitConfigurationRuleRequestaddregionalityattribute - In
Store,StoreCreationRequest,UpdateStoreRequestandStoreCreationWithMerchantCodeRequestadd attributesubMerchantData
Configuration Webhooks
- Add
NetworkTokenRequestortoNetworkTokenNotificationDataV2 - In
WallettheRecommendationReasonsEnumincludes several new enums:cardholderPanAssociatedToAccountWithinThresholdDays,changesMadeToAccountDataWithinThresholdDays,deviceProvisioningLocationOutsideOfCardholdersWalletAccountHomeCountry, etc..
Note RecommendationReasonsEnum.type is deprecated: use instead name of the tokenRequestor
Other Changes 🖇️
- Maven Publishing Plugin: update configuration by @gcatanese in #1505
- Maven publish: configure deploymentName by @gcatanese in #1507
- fix(deps): update dependency commons-codec:commons-codec to v1.18.0 by @renovate in #1351
- Release v38.3.0 by @AdyenAutomationBot in #1506
Full Changelog: v38.2.0...v38.3.0
Adyen Java API Library v38.2.0
What's Changed
New Features 💎
- Terminal API
- Add new Event Types
NetworkConnectedandNetworkDisconnected
- Add new Event Types
Other Changes 🖇️
- Improve code format using Spotless Maven Plugin #1488
- Code generation: update services and models by @AdyenAutomationBot in #1496
- fix(deps): update dependency io.swagger.core.v3:swagger-annotations to v2.2.30 by @renovate in #1349
- TransferWehooks: add test by @gcatanese in #1500
- README: add Session Authentication API by @gcatanese in #1504
- Migration to Maven Central Portal by @gcatanese in #1503
- Release v38.2.0 by @AdyenAutomationBot in #1495
Full Changelog: v38.1.0...v38.2.0
Adyen Java API Library v38.1.0
What's Changed
New Features 💎
Checkout API
- In
PaymentMethodRequestadd attributesbrowserInfo,shopperEmail,shopperIPandtelephoneNumber - In
SessionResultResponseadd attributes:paymentsto provide a list of all authorised payments done for this sessionreferenceto provide the unique reference in the original/sessionsrequestadditionalDatato provide additional information about the payment
LEM API
* Add enum `KYCONINVITE` (KYC On Invite) in `TermsOfService`
BalancePlatform API
* Add `walletProviderDeviceType` in `TransactionRuleRestrictions`
* Add enum `INTEREST` in `TransferRoute.CategoryEnum`
Transfer API
* Add attribute `executionDate ` in `Transfer`, `TransferData` and `TransferInfo`
BalancePlatform Webhooks
* Added new webhook events `balancePlatform.networkToken.created` and `balancePlatform.networkToken.updated` to support notifications when [Network Tokens are created or updated](https://docs.adyen.com/api-explorer/balanceplatform-webhooks/2/post/balancePlatform.networkToken.created).
Transfer Webhooks
* Add attribute `executionDate ` in `TransferData`
Other Changes 🖇️
- Remove old Mustache templates by @gcatanese in #1491
- Improve Javadoc in several classes by @gcatanese in #1493
- Release v38.1.0 by @AdyenAutomationBot in #1489
Full Changelog: v38.0.0...v38.1.0