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
:capability
attribute has been removedSourceOfFunds
:acquiringBusinessLineId
attribute has been removedSourceOfFunds
: theadyenProcessedFunds
attribute 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
PaymentRequest
add attributesdkData
Recurring API
- In
Recurring
add enum valuesEXTERNAL
andONECLICK_RECURRING
Management API
- Add
CardRegionEnum
enums inSplitConfigurationRule
class
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
PaymentDetails
add enumIRIS
- In
UpiIntentDetails
add attributebillingSequenceNumber
Classic Payments
- In
Recurring
add enum valuesEXTERNAL
andONECLICK_RECURRING
Payout API
- Add
ResponseAdditionalDataSwish
Terminal API
- Validate location header upon
308
response status #1561 - Update the validation of
Common Name
of a Terminal API certificate #1564
Management API
- Add enum value
BR_SCHEMES
inPaymentMethodResponse
andPaymentMethodSetupInfo
Management Webhooks
- In
TerminalAssignmentNotificationRequest
add attributeassignedToStoreId
- Add enum value
dataReview
inVerificationError
andVerificationErrorRecursive
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
bankTransfer
enum value inPaymentDetails
Balance Platform
- Add
TransferLimitsBalanceAccountLevelApi
to manageTransfer limits - balance account level
- Add
TransferLimitsBalancePlatformLevelApi
to manageTransfer limits - balance platform level
- In
BulkAddress
add attributesline1
,line2
,line3
- Add enum value
dataReview
inVerificationError
andVerificationErrorRecursive
Legal Entity Management (v3)
- In
Organization
adddateOfInitiationOfLegalProceeding
,economicSector
,globalLegalEntityIdentifier
, etc.. - In
Organization
add enumsInstitutionalSectorEnum
andStatusOfLegalProceedingEnum
Classic Payments
- Add
ResponseAdditionalDataSwish
Transfer API
- Add enum value
Accepted
inConfirmationTrackingData
Configuration Webhooks
- In
BulkAddress
add attributesline1
,line2
,line3
- In
NetworkTokenNotificationDataV2
add attributeschemeRiskScore
- Add
deviceId
attribute inDevice
- Add enum value
dataReview
inVerificationError
andVerificationErrorRecursive
Transfer Webhooks
- Add enum value
Accepted
inConfirmationTrackingData
Dispute Webhooks
- Add
other
enum 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
PayToPaymentMethod
andUPIPaymentMethod
- Add support for validateShopperId utility to validate the shopper id
- Add enum
RIVERTY_INSTALLMENTS
inRivertyDetails
- Add
action
attribute (PaymentDetailsResponseAction
) inPaymentDetailsResponse
- Add
encryptedPassword
attribute inCardDetails
- Add
ResponseAdditionalDataSwish
Configuration Webhooks
- Add support for ScoreNotification webhook
Management API
- Add support for
SepaDirectDebitInfo
- Add
unreferenced
attribute inRefunds
Session Authentication API
- Add
Bank
enum value toProductType
Terminal API
- Introduce
PredefinedContentHelper
for managing Display Events #1546 - Add
ScanBarcodeResult
event type #1549
Fixes ⛑️
- Deserialization of
bccm
payment 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
,gbSortCode
orusRoutingNumber
. - Added
usage
field toCard
andCardInfo
to specify how many times the card can be used:singleUse
ormultiUse
. - Added
approvalExpired
ReasonEnum toCreateSweepConfigurationV2
,UpdateSweepConfigurationV2
andSweepConfigurationV2
Configuration Webhooks
- Added
usage
field to specify how many times the card can be used:singleUse
ormultiUse
. - Added
transactionRulesResult
inNetworkTokenNotificationDataV2
- Added
NetworkTokenRiskRuleData
,NetworkTokenRiskRuleSource
andNetworkTokenTriggeredRiskRule
- Added
approvalExpired
toSweepConfigurationV2
Webhook
Transfers API
- Added
approvalExpired
toTransfer
,TransferData
andTransferEvent
- Added
email
andurl
toPartyIdentification
andUltimatePartyIdentification
Transfers Webhooks
- Added
email
andurl
fields toPartyIdentification
- Added
approvalExpired
toTransferData
andTransferEvent
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
Payme
andPaymePos
inPaymentDetails
- Add attribute
promoted
inPaymentMethod
- Add attribute
subtype
inRivertyDetails
Tokenization Webhooks
Add support for Tokenization Webhooks:
recurring.token.alreadyExisting
recurring.token.created
recurring.token.disabled
recurring.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
null
instead 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
LegalEntity
thecapabilities
map is no longerreadonly
: theLegalEntity
constructor has been modified, removing thecapabilities
parameter:
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
TransactionsApi
the signature of the methodgetAllTransactions
has changed. It has a new parametersortOrder
:
TransactionSearchResponse getAllTransactions(
String cursor, OffsetDateTime createdSince, OffsetDateTime createdUntil,
String sortOrder, Integer limit, RequestOptions requestOptions)
throws ApiException, IOException
- In
TransfersApi
the signature of the methodgetAllTransfers
has 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
RegionalityEnum
inSplitConfigurationRule
- In
UpdateSplitConfigurationRuleRequest
remove attributeregionality
New Features 💎
BalancePlatform API
- In
PaymentInstrumentsApi
add methodscreateNetworkTokenActivationData
andgetNetworkTokenActivationData
to create and retrieve network token activation data for a payment instrument. - In
AdditionalBankIdentification
add new enumsauBsbCode
andcaRoutingNumber
Transfers API
- In
AdditionalBankIdentification
add new enumsauBsbCode
andcaRoutingNumber
- In
IssuedCard
add new attributethreeDSecure
- In
Transfer
add new attributecreatedAt
, deprecatecreationDate
(use insteadcreatedAt
) - In
TransferData
add new attributecreatedAt
andupdatedAt
, deprecatecreationDate
(use insteadcreatedAt
)
Management API
- Add support for
AlipayPlus
andMaestroUsa
payment methods: seePaymentMethod
andPaymentMethodSetupInfo
classes - In
PaymentMethodResponse
,PaymentMethodSetupInfo
andUpdatePaymentMethodInfo
severalTypesWithErrorsEnum
enums have been added (alipay_plus
,avancard
,cooper
, etc..
ACS Webhooks
- In
RelayedAuthenticationRequest
add new attributesthreeDSRequestorAppURL
,environment
,timestamp
,type
Transaction Webhooks
- In
IssuedCard
add new attributethreeDSecure
Transfer Webhooks
- In
IssuedCard
add new attributethreeDSecure
- In
TransferData
add new attributecreatedAt
andupdatedAt
, 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
AuthorizedCardUsersApi
to manage (add, get, delete and update) authorized users to a given card - In
GetTaxFormResponse
add optional parameterlegalEntityId
- Add
NetworkTokenRequestor
toNetworkToken
- Add
dataMissing
enum toVerificationError
Checkout API
- Add
capturePspReference
toPaymentRefundRequest
- Add
businessDayOnly
toPixRecurring
Management API
- In
SplitConfigurationRule
addregionality
attribute andRegionalityEnum
with the supported values - In
UpdateSplitConfigurationRuleRequest
addregionality
attribute - In
Store
,StoreCreationRequest
,UpdateStoreRequest
andStoreCreationWithMerchantCodeRequest
add attributesubMerchantData
Configuration Webhooks
- Add
NetworkTokenRequestor
toNetworkTokenNotificationDataV2
- In
Wallet
theRecommendationReasonsEnum
includes 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
NetworkConnected
andNetworkDisconnected
- 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
PaymentMethodRequest
add attributesbrowserInfo
,shopperEmail
,shopperIP
andtelephoneNumber
- In
SessionResultResponse
add attributes:payments
to provide a list of all authorised payments done for this sessionreference
to provide the unique reference in the original/sessions
requestadditionalData
to 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