Releases: Adyen/adyen-java-api-library
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
Adyen Java API Library v38.0.0
Breaking Changes 🛠
-
Checkout API
- Remove
DotpayDetails
andGiropayDetails
- Remove enum
PAYSAFECARD
fromPaymentDetails
- Remove
-
Management API
- Remove
GiroPayInfo
- Remove enum `PAYSHOP from PaymentMethodResponse
- Remove
Features 💎
-
Checkout API
- Add
Surcharge
(#1445) andEnhancedSchemeData
(supporting Airline enhanced scheme data) inPaymentRequest
- Add
EnhancedSchemeData
(supporting Airline enhanced scheme data) inPaymentCaptureRequest
- Add
fraudRiskLevel
inResponseAdditionalDataCommon
- Add enum
PAYSAFECARD
fromStoredPaymentMethodDetails
- Add
-
Payment Classic API
- Add
fraudRiskLevel
inResponseAdditionalDataCommon
- Add
-
Payout API
- Add
fraudRiskLevel
inResponseAdditionalDataCommon
- Add
-
Webhooks
- Add
TECHNICAL_CANCEL
event code inNotificationRequestItem
(#1481)
- Add
-
Management API
- Add
supportEmail
field to theAfterpayTouchInfo
- Add enum
PAYMENTDESIGNATORCONTRACT
in JCBInfo - Add PayByBankPlaidInfo
- Add enum
PAYBYBANK_PLAID
in PaymentMethodResponse - Add
domainSuffix
field to Profile - In
SplitConfigurationRule
add enumsCHARGED
,DEFERRED_DEBIT
andPREPAID
(#1457) - Add
enableGratuities
to the Standalone model
- Add
Fixes ⛑️
- Avoid null in User-Agent header by @gcatanese in #1483
Other Changes 🖇️
- Balance webhooks in README by @gcatanese in #1478
Full Changelog: v37.0.0...v38.0.0
Adyen Java API Library v37.0.0
This release brings significant improvements, new features, and few breaking changes to the Adyen Java API Library. It marks a major milestone in aligning the library more closely with Adyen’s OpenAPI specifications and improving the ✨ Developer Experience ✨
Find below what's new as well as a detailed summary of the Breaking Changes, and what you should do or consider.
Please review the Breaking Changes and update your integrations accordingly. For any questions, feel free to open an issue or consult our API Explorer.
🚀 Highlights
- Improved OpenAPI Code Generation: Source code is now more idiomatic, flexible, and better aligned with Adyen's OpenAPI specifications.
- Automated Webhook Handler Generation: Webhook handlers and models are now automatically generated and updated with each release.
- Refined Package Structure: Several APIs have been moved to more specific packages for better discoverability and maintainability.
🛠 Breaking Changes
🔁 Webhook Events Renamed
Several webhook TypeEnum
names have been updated for clarity and consistency.
Note: the actual string
value of the enum didn't change.
ConfigurationWebhooks
AccountHolderNotificationRequest
CREATED
→BALANCEPLATFORM_ACCOUNTHOLDER_CREATED
UPDATED
→BALANCEPLATFORM_ACCOUNTHOLDER_UPDATED
BalanceAccountNotificationRequest
CREATED
→BALANCEPLATFORM_BALANCEACCOUNT_CREATED
UPDATED
→BALANCEPLATFORM_BALANCEACCOUNT_UPDATED
CardOrderNotificationRequest
CREATED
→BALANCEPLATFORM_CARDORDER_CREATED
UPDATED
→BALANCEPLATFORM_CARDORDER_UPDATED
PaymentNotificationRequest
CREATED
→BALANCEPLATFORM_PAYMENTINSTRUMENT_CREATED
UPDATED
→BALANCEPLATFORM_PAYMENTINSTRUMENT_UPDATED
SweepConfigurationNotificationRequest
CREATED
→BALANCEPLATFORM_BALANCEACCOUNTSWEEP_CREATED
UPDATED
→BALANCEPLATFORM_BALANCEACCOUNTSWEEP_UPDATED
DELETED
→BALANCEPLATFORM_BALANCEACCOUNTSWEEP_DELETED
TransferWebhooks
TransferNotificationRequest
CREATED
→BALANCEPLATFORM_TRANSFER_CREATED
UPDATED
→BALANCEPLATFORM_TRANSFER_UPDATED
🔒 Read-Only Attributes
Properties marked as readOnly
in the OpenAPI specs no longer expose setters or builder methods. These values must be set using constructors instead.
Note: this change might affect your test code, where the methods might have been used to setup test and mock data.
🔍 Important Changes
📦 Service Class Refactoring
The following services have been moved to their own dedicated packages
Services in the old location are deprecated and will be removed in a future release.
Note: There are no changes in functionality (the same code is now available in the new location), please update your code accordingly.
Old Location | New Location |
---|---|
com.adyen.service.StoredValueApi |
com.adyen.service.storedvalue.StoredValueApi |
com.adyen.service.BinLookupApi |
com.adyen.service.binlookup.BinLookupApi |
com.adyen.service.BalanceControlApi |
com.adyen.service.balancecontrol.BalanceControlApi |
com.adyen.service.DataProtectionApi |
com.adyen.service.dataprotection.DataProtectionApi |
com.adyen.service.DisputesApi |
com.adyen.service.disputes.DisputesApi |
com.adyen.service.PaymentsAppApi |
com.adyen.service.paymentsapp.PaymentsAppApi |
com.adyen.service.PosMobileApi |
com.adyen.service.posmobile.PosMobileApi |
🪝 Webhook Handling
Webhook handling is now modernized and streamlined:
- Automation: Auto-generated handlers ensure that webhook events and models stay aligned with the changes in the OpenAPI specs
- Deprecated: Former
BankingWebhookHandler
class is now deprecated - Recommended: Use instead the dedicated handler in the Webhook package (
AcsWebhooks
,ReportWebhooksHandler
,ConfigurationWebhooks
,TransferWebhooks
,TransactionWebhooks
, etc..)
🌐 HTTP Client Configuration
- Now supports custom
connectionRequestTimeout
anddefaultKeepAliveTimeout
. - The default timeout is configured to 60 seconds, however we recommend the application to explicitly configure it according to the requirements and expectations.
🏷️ Default Values for Attributes
Fields are initialized using a default value when the OpenAPI specs define the attribute default value. For example:
private TypeEnum type = TypeEnum.BRLOCAL;
💎 New Features & Enhancements
💰 BalancePlatform
- New:
BalancesApi
service now supportsBalanceWebhookSetting
for managing Balance Webhook criteria. - Other changes:
- New
BIC
enum inBankIdentification
- New
PENDING
enum inCreateSweepConfigurationV2
andUpdateSweepConfigurationV2
- New
replacedById
andreplacementOfId
attributes inPaymentInstrument
andUpdatePaymentInstrument
- New
walletProviderAccountScore
andwalletProviderDeviceScore
attributes inTransactionRuleRestrictions
- New class
USInstantPayoutAddressRequirement
- New
🛒 Checkout
- New Donation
type
field supporting the following values:roundup
,fixedAmounts
(Documentation) - Added sub-merchant info:
subMerchantPhoneNumber
,subMerchantEmail
- Nested:
subMerchant.subSeller[n].email
,subMerchant.subSeller[n].phoneNumber
- Added
bonus
enum toCheckoutSessionInstallmentOption
🔄 BalancePlatformTransfer API
- Added
IssuingTransactionData
withcaptureCycleId
that provides the captureCycleId associated with transfer event
🔄 BalancePlatformTransfer Webhooks
-
Added
IssuingTransactionData
withcaptureCycleId
that provides the captureCycleId associated with transfer event -
Other changes:
- New enum:
ChargebackRemainder
inPlatformPayment.platformPaymentType
- New attribute:
externalReason
inTransferData
- New
pending
enum inTransferData.reason
- New enum:
📬 New Balance Webhook
- A new Balance webhook is now available to process events related to balance changes.
- Use:
BalancePlatformBalanceWebhooksHandler
to consume the Webhook eventbalancePlatform.balanceAccount.balance.updated
Documentation
🧩 Other Changes
- Enhanced Javadoc coverage across the codebase.
- Introduced a new HMAC troubleshooting utility for signature validation debugging (#1452). The tool calculates the HMAC signature given the HMAC key and the payload:
cd tools/hmac
mvn clean compile exec:java -Dexec.mainClass=CalculateHmacPayments -Dexec.args="11223344D785FBAE710E7F943F307971BB61B21281C98C9129B3D4018A57B2EB payload.json"
Check the README
Changes in this release:
- POS Mobile API by @gcatanese in #1463
- StoredValueAPI generation by @gcatanese in #1462
- Generate BinLookupApi service with OpenAPI Generator v7.11.0 by @gcatanese in #1465
- RecurringApi generation with OpenAPI Generator v7.11.0 by @gcatanese in #1466
- Add PaymentsAppApi, DisputesApi, DataProtectionApi by @gcatanese in #1467
- OpenAPI Generator v7.11.0: Add BalanceControl API by @gcatanese in #1468
- OpenAPI Generator v7.11.0: add Webhooks by @gcatanese in #1469
- OpenAPI Generator v7.11.0: regenerate Checkout models by @gcatanese in #1472
- Add BalancePlatform WebhookSettings by @gcatanese in #1471
- Configure HTTP Client connectionRequestTimeout by @gcatanese in #1470
- Deprecate legacy code [PosTerminalManagementApi, PaymentApi] by @gcatanese in #1474
- Rename Balance webhooks package by @gcatanese in #1476
- Release v37.0.0 by @AdyenAutomationBot in #1464
Full Changelog: v36.0.1...v37.0.0