Releases: Adyen/adyen-java-api-library
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
- In
-
LEM API
- Add enum
KYCONINVITE
(KYC On Invite) inTermsOfService
- Add enum
-
BalancePlatform API
- Add
walletProviderDeviceType
inTransactionRuleRestrictions
- Add enum
INTEREST
inTransferRoute.CategoryEnum
- Add
-
Transfer API
- Add attribute
executionDate
inTransfer
,TransferData
andTransferInfo
- Add attribute
-
BalancePlatform Webhooks
- Added new webhook events
balancePlatform.networkToken.created
andbalancePlatform.networkToken.updated
to support notifications when Network Tokens are created or updated.
- Added new webhook events
-
Transfer Webhooks
- Add attribute
executionDate
inTransferData
- Add attribute
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
Adyen Java API Library v36.0.1
What's Changed
Important
This patch addresses the issue introduced in Java API Library v36.0.0 that impacted the usage of the Adyen iOS SDK.
Response attributes without a value will be omitted (instead that being returned as empty lists).
The timeout settings of the underlying (Apache) HTTP client have been updated to define a default timeout of 60 seconds, developers should however always define/override those defaults accordingly.
Fixes ⛑️
- Initialise List/Set/Map as null by @gcatanese in #1461
Other Changes 🖇️
- Update example site placeholder by @ayodejidev in #1453
- HMAC Troubleshooting tool by @gcatanese in #1452
- HTTP Client timeouts by @gcatanese in #1458
- fix(deps): update dependency org.apache.httpcomponents.client5:httpclient5 to v5.4.3 [security] by @renovate in #1456
- Release v36.0.1 by @AdyenAutomationBot in #1454
Full Changelog: v36.0.0...v36.0.1
Adyen Java API Library v36.0.0
What's Changed
Warning
In this release the response attributes without a value are returned as empty lists ([]
), rather than being omitted.
This might affect your integration.
Upgrade to v36.0.1: the patch has restored the initial behaviour (attributes without values are omitted from the API requests and responses).
Note for iOS SDK users: this particular version is not compatible with iOS SDK.
Root cause: response attributes without a value are now returned as empty lists, rather than being omitted.
Workaround: Upgrade to v36.0.1.
{
"apps": [],
"fundingSource": null,
"group": null,
"inputDetails": [],
"issuers": [],
"name": "Cards",
"type": "scheme"
}
Breaking Changes 🛠
- ACS webhooks
ChallengeInfo FlowEnum
values have changed:- Fixed correct
FlowEnum
-values inChallengeInfo
-"OTP_SMS"
and"OOB"
were not used previously and now have been updated to correct values. - Fix:
OTP_SMS
->PWD_OTP_PHONE_FL
- One-Time Password via SMS - Fix:
OOB
->OOB_TRIGGER_FL
- Out-Of-Band flow
- Fixed correct
Features 💎
-
Checkout
- add support for
RakutenPay
- add
RequestedTestAcquirerResponseCode
inAdditionalDataCommon
- add support for
-
AcsWebhooks:
- Add
Out-of-band authentication requested
webhook event - Add new enum
PWD_OTP_EMAIL_FL
(One-Time Password via Email)
- Add
-
Configuration webhooks
- Add enum
PENDING
inSweepConfigurationV2.
- Add enum
-
LEM API
- Add attribute
allowDebugUi
inOnboardingLinkSettings
to debug user interface (UI) when applicable.
- Add attribute
-
Transactions webhooks
- Add enum
DCCPLATFORMCOMMISSION
inPlatformPayment
- Add enum
-
Transfers API
- Add enum
DCCPLATFORMCOMMISSION
inPlatformPayment
- Add enum
PENDING
inTransferData
- Add attribute
externalReason
inTransferData
- Add
scaOnApproval
attribute inTransferReview
- Add enum
Other Changes 🖇️
Note: enums instantiation has changed, this shouldn't impact the usage of the enums
Example, from PERMATA_LITE_ATM("doku_permata_lite_atm")
to DOKU_PERMATA_LITE_ATM(String.valueOf("doku_permata_lite_atm"))
- Improve Github workflows by @ayodejidev in #1440
- Add close-issue-label flag to correctly label closed issues by @DjoykeAbyah in #1442
- iDEAL2 unit test update by @gcatanese in #1443
- Ovverride default ApiError message with the error message from the API response by @gcatanese in #1447
- Add OpenAPI Generator v7 mustache templates by @gcatanese in #1444
- ACS webhooks update: RelayedAuthenticationRequest event code by @gcatanese in #1449
- Checkout API code generation: RakutenPay by @gcatanese in #1450
- Release v36.0.0 by @AdyenAutomationBot in #1441
Full Changelog: v35.0.0...v36.0.0
Adyen Java API Library v35.0.0
What's Changed
Breaking Changes 🛠
- Management API:
- In
AndroidApp
the fieldstatus
has changed fromString
toStatusEnum
(ARCHIVED
,ERROR
,INVALID
,PROCESSING
,READY
)
- In
- Management webhooks:
- In
PaymentMethodRequestRemovedNotificationRequest
the event type has been renamed topaymentMethodRequest.removed
- In
PaymentMethodScheduledForRemovalNotificationRequest
the event type has been renamed topaymentMethodRequest.scheduledForRemoval
- In
New Features 💎
Add support for Session Authentication API to create the sessions required for integrating Adyen Platform components (#1435)
- Checkout:
- New payment methods
PixDetails
andPixRecurring
- In
PaymentRefundResponse
add attributecapturePspReference
(only available for PayPal refunds) - In
ResponseAdditionalDataCommon
:⚠️ therecurringRecurringDetailReference
andrecurringShopperReference
are deprecated, use instead the new attributetokenizationShopperReference
- add
tokenizationStoreOperationType
andtokenizationStoredPaymentMethodId
attributes, addTokenizationStoreOperationTypeEnum
enum
- New payment methods
- Management API:
- Support
AffirmInfo
andPayToInfo
payment methods - in
Surcharge
class add attribugeexcludeGratuityFromSurcharge
- Support
- Payout:
- In
ResponseAdditionalDataCommon
:⚠️ therecurringRecurringDetailReference
andrecurringShopperReference
are deprecated, use instead the new attributetokenizationShopperReference
- add
tokenizationStoreOperationType
andtokenizationStoredPaymentMethodId
attributes, addTokenizationStoreOperationTypeEnum
enum
- In
- Classic Payments:
- In
ResponseAdditionalDataCommon
:⚠️ therecurringRecurringDetailReference
andrecurringShopperReference
are deprecated, use instead the new attributetokenizationShopperReference
- add
tokenizationStoreOperationType
andtokenizationStoredPaymentMethodId
attributes, addTokenizationStoreOperationTypeEnum
enum
- In
- Terminal API:
- Add
SaleReferenceID
field inCustomerOrder
class (#1436)
- Add
Important
The Recurring API is deprecated. Use the Checkout API recurring endpoints instead.
Other Changes 🖇️
- feat(tls): allow disabling protocol upgrade by @sp00m in #1425
- Improve issue template by @ayodejidev in #1434
- chore(deps): update dependency org.apache.maven.plugins:maven-checkstyle-plugin to v3.6.0 by @renovate in #1381
- fix(exception): better handle non-JSON response bodies by @sp00m in #1404
- Code generation: update services and models by @AdyenAutomationBot #1433
- Release v35.0.0 by @AdyenAutomationBot in #1437
- Session Authentication API #1435 by @gcatanese
Full Changelog: v34.0.0...v35.0.0
Adyen Java API Library v34.0.0
What's Changed
Breaking Changes 🛠
- BalancePlatform:
- Removed
PriorityRestriction
class. - In
TransactionRuleRestriction
removedpriority
.
- Removed
- BinLookup:
- In
CostEstimateResponse
removedsurchargeType
.
- In
- Transfers:
- In
TransferReview
removednumberOfApprovalsCompleted
andscaOnApproval
.
- In
- TransferWebhook:
- In
TransferReview
removednumberOfApprovalsCompleted
andscaOnApproval
.
- In
Features 💎
-
AcsWebhooks:
- In ChallengeInfo broadening the range of
ChallengeCancelEnum
.
- In ChallengeInfo broadening the range of
-
BalancePlatform:
- Added
AssociationDelegatedAuthenticationData
,AssociationFinaliseRequest
,AssociationFinaliseResponse
,AssociationInitiateRequest
,AssociationInitiateResponse
andTokenRequestorsRestriction
class. - In
TransactionRuleRestriction
addedtokenRequestors
.
- Added
-
Checkout:
- In
CardDetails
,CardDonations
andCheckoutPaymentMethod
addedfastlaneData
. - Added
FastlaneDetails
class.
- In
-
LegalEntityManagement:
- Added
FinancialReport
class. - In
LegalEntityAssociation
addednominee
. - In
Organization
andSoleProprietorship
addedfinancialReports
.
- Added
-
Service:
- BalancePlatform:
- Deprecated
GrantAccountsApi
andGrantOffersApi
. - In
ManageSCADevicesApi
addedcompleteAssociationBetweenScaDeviceAndResource
andinitiateAssociationBetweenScaDeviceAndResource
.
- Deprecated
- Transfers:
- Deprecated
CapitalApi
.
- Deprecated
- BalancePlatform:
-
Code generation: update services and models by @AdyenAutomationBot in #1426
Other Changes 🖇️
- chore(deps): update dependency org.mockito:mockito-core to v5.15.2 by @renovate in #1348
- Fix failing failing step for external forks by @ayodejidev in #1429
- Update Java version in POM file by @gcatanese in #1432
- Release v34.0.0 by @AdyenAutomationBot in #1427
Full Changelog: v33.1.0...v34.0.0
Adyen Java API Library v33.1.0
What's Changed
New Features 💎
- Webhooks:
- Classic Payments
- Add
TopUp
enum inSplit
class
Other Changes 🖇️
- Improve exception logging in
BankingWebhookHandler
- OpenAPI spec files or templates have been modified on 29-01-2025 by commit. Download OpenAPI diffs to view the changes.
- Code generation: update services and models by @AdyenAutomationBot in #1423
- Add deprecation of POS Terminal Management API by @gcatanese in #1420
- Improve deserialization unit testing by @gcatanese in #1421
- Code generation: update services and models by @AdyenAutomationBot in #1424
- Release v33.1.0 by @AdyenAutomationBot in #1422
Full Changelog: v33.0.0...v33.1.0
Adyen Java API Library v33.0.0
What's Changed
Breaking Changes 🛠
- Checkout API:
*airlinePassengerTelephoneNumber
attribute renamed toairlinePassengerPhoneNumber
inAdditionalDataAirline
New Features 💎
- Checkout API:
- Add
AffirmDetails
payment method - Add
PayPayDetails
payment method - Add
TopUp
enum in Split class - Add
autoRescue
attribute inAdditionalDataCommon
- Set to true to enable Auto Rescue - Add
maxDaysToRescue
inAdditionalDataCommon
- Specify the rescue window for a transaction, in days, whenautoRescue
is set to true. You can specify a value between 1 and 48.
- Add
- Report webhooks:
- Add
id
attribute inReportNotificationData
class
- Add
Other changes 🖇️
Important
From January 1, 2025 POS Terminal Management API
is deprecated and support stops on April 1, 2025. To automate the management of your terminal fleet, use our Management API.
Before: (deprecated)
https://postfmapi-test.adyen.com/postfmapi/terminal/v1/getTerminalDetails
We've moved the fieldsTerminalStatus
tolastActivityAt
anddata.AssignmentStatus
.
Note that your API-credentials requires the following permission:Management API — Terminal actions read
.
// TerminalStatus:
ONLINELAST1DAY ("OnlineLast1Day")
ONLINELAST2DAYS ("OnlineLast2Days")
ONLINELAST3DAYS ("OnlineLast3Days")
ONLINELAST4DAYS ("OnlineLast4Days")
ONLINELAST5DAYS ("OnlineLast5Days")
ONLINELAST6DAYS ("OnlineLast6Days")
ONLINELAST7DAYS ("OnlineLast7Days")
ONLINETODAY ("OnlineToday")
REASSIGNTOINVENTORYPENDING ("ReAssignToInventoryPending")
REASSIGNTOMERCHANTINVENTORYPENDING ("ReAssignToMerchantInventoryPending")
REASSIGNTOSTOREPENDING ("ReAssignToStorePending")
SWITCHEDOFF ("SwitchedOff")
- Code generation: update services and models by @AdyenAutomationBot in #1417
- Release v33.0.0 by @AdyenAutomationBot in #1419
Full Changelog: v32.2.0...v33.0.0
Adyen Java API Library v32.2.0
What's Changed
New Features 💎
- BalancePlatform:
- Added
PriorityRestriction
class. - In
TransactionRuleRestrictions
addedpriority
. - In
VerificationDeadline
,VerificationError
andVerificationErrorRecursive
addedissueChargeCard
,issueChargeCardCommercial
,useChargeCard
anduseChargeCardCommercial
enum.
- Added
- ConfigurationWebhooks:
- In
VerificationDeadline
,VerificationError
andVerificationErrorRecursive
addedissueChargeCard
,issueChargeCardCommercial
,useChargeCard
anduseChargeCardCommercial
enum.
- In
- LegalEntityManagement:
- In
VerificationDeadline
,VerificationError
andVerificationErrorRecursive
addedissueChargeCard
,issueChargeCardCommercial
,useChargeCard
anduseChargeCardCommercial
enum.
- In
- Update all services by @AdyenAutomationBot in #1416
Other Changes 🖇️
- feat(tls): allow disabling protocol upgrade by @sp00m in #1409
- Revert "feat(tls): allow disabling protocol upgrade" by @DjoykeAbyah in #1414
- Adjust Region class with valid regions plus endpoint mappings for terminal api live by @DjoykeAbyah in #1407
- Release v32.2.0 by @AdyenAutomationBot in #1415
Full Changelog: v32.1.0...v32.2.0