Skip to content

Releases: Adyen/adyen-java-api-library

Adyen Java API Library v39.4.0

16 Sep 14:23
f52c682
Compare
Choose a tag to compare

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 in PaymentDetails

Balance Platform

  • Add TransferLimitsBalanceAccountLevelApi to manage Transfer limits - balance account level
  • Add TransferLimitsBalancePlatformLevelApi to manage Transfer limits - balance platform level
  • In BulkAddress add attributes line1, line2, line3
  • Add enum value dataReview in VerificationError and VerificationErrorRecursive

Legal Entity Management (v3)

  • In Organization add dateOfInitiationOfLegalProceeding, economicSector, globalLegalEntityIdentifier, etc..
  • In Organization add enums InstitutionalSectorEnum and StatusOfLegalProceedingEnum

Classic Payments

  • Add ResponseAdditionalDataSwish

Transfer API

  • Add enum valueAccepted in ConfirmationTrackingData

Configuration Webhooks

  • In BulkAddress add attributes line1, line2, line3
  • In NetworkTokenNotificationDataV2 add attribute schemeRiskScore
  • Add deviceId attribute in Device
  • Add enum value dataReview in VerificationError and VerificationErrorRecursive

Transfer Webhooks

  • Add enum valueAccepted in ConfirmationTrackingData

Dispute Webhooks

  • Add other enum value in DisputeEventNotification

PRs 🖇️

Other Changes 🖇️

Full Changelog: v39.3.0...v39.4.0

Adyen Java API Library v39.3.0

27 Aug 14:38
b91ea7d
Compare
Choose a tag to compare

New Features 💎

Balance Platform API:

  • Add support USInternationalAchPriorityRequirement

Checkout API:

  • Add support for PayToPaymentMethod and UPIPaymentMethod
  • Add support for validateShopperId utility to validate the shopper id
  • Add enum RIVERTY_INSTALLMENTS in RivertyDetails
  • Add action attribute (PaymentDetailsResponseAction) in PaymentDetailsResponse
  • Add encryptedPassword attribute in CardDetails
  • Add ResponseAdditionalDataSwish

Configuration Webhooks

Management API

  • Add support for SepaDirectDebitInfo
  • Add unreferenced attribute in Refunds

Session Authentication API

  • Add Bank enum value to ProductType

Terminal API

  • Introduce PredefinedContentHelper for managing Display Events #1546
  • Add ScanBarcodeResult event type #1549

Fixes ⛑️

PRs

Full Changelog: v39.2.0...v39.3.0

Adyen Java API Library v39.2.0

30 Jul 11:25
ce9367f
Compare
Choose a tag to compare

What's Changed

Balance Platform API:

  • Added support for AdditionalbankIdentificationRequirement: auBsbCode, caRoutingNumber, gbSortCode or usRoutingNumber.

  • Added usage field to Card and CardInfo to specify how many times the card can be used: singleUse or multiUse.
  • Added approvalExpired ReasonEnum to CreateSweepConfigurationV2, UpdateSweepConfigurationV2 and SweepConfigurationV2

Configuration Webhooks


  • Added usagefield to specify how many times the card can be used: singleUse or multiUse.
  • Added transactionRulesResult in NetworkTokenNotificationDataV2
  • Added NetworkTokenRiskRuleData, NetworkTokenRiskRuleSource and NetworkTokenTriggeredRiskRule
  • Added approvalExpired to SweepConfigurationV2 Webhook


Transfers API


  • Added approvalExpired to Transfer, TransferData and TransferEvent
  • Added email and url to PartyIdentification and UltimatePartyIdentification

Transfers Webhooks


  • Added email and url fields to PartyIdentification
  • Added approvalExpired to TransferData and TransferEvent

Other Changes 🖇️

Full Changelog: v39.1.0...v39.2.0

Adyen Java API Library v39.1.0

28 Jul 14:38
ad2d720
Compare
Choose a tag to compare

Checkout API

  • Add attribute enhancedSchemeData (Enhanced scheme data that may be required for processing the payment) in PaymentAmountUpdateRequest, PaymentCancelRequest, PaymentRefundRequest, PaymentReversalRequest, StandalonePaymentCancelRequest
  • Add enum values Payme and PaymePos in PaymentDetails
  • Add attribute promoted in PaymentMethod
  • Add attribute subtype in RivertyDetails

Tokenization Webhooks

Add support for Tokenization Webhooks:

  • recurring.token.alreadyExisting
  • recurring.token.created
  • recurring.token.disabled
  • recurring.token.updated

What's Changed

New Features 💎

Other Changes 🖇️

Full Changelog: v39.0.0...v39.1.0

Adyen Java API Library v39.0.0

14 Jul 04:44
d9c2508
Compare
Choose a tag to compare

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 the capabilities map is no longer readonly: the LegalEntity constructor has been modified, removing the capabilities 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 method getAllTransactions has changed. It has a new parameter sortOrder:
  TransactionSearchResponse getAllTransactions(
      String cursor, OffsetDateTime createdSince, OffsetDateTime createdUntil,
         String sortOrder, Integer limit, RequestOptions requestOptions)
      throws ApiException, IOException 
  • In TransfersApi the signature of the method getAllTransfers has changed. It has a new parameter sortOrder:
  FindTransfersResponse getAllTransfers(
      String cursor, OffsetDateTime createdSince, OffsetDateTime createdUntil,
         String sortOrder, Integer limit, RequestOptions requestOptions)
      throws ApiException, IOException 

Management API

  • Remove enum class RegionalityEnum in SplitConfigurationRule
  • In UpdateSplitConfigurationRuleRequest remove attribute regionality

New Features 💎

BalancePlatform API

  • In PaymentInstrumentsApi add methods createNetworkTokenActivationData and getNetworkTokenActivationData to create and retrieve network token activation data for a payment instrument.
  • In AdditionalBankIdentification add new enums auBsbCode and caRoutingNumber

Transfers API

  • In AdditionalBankIdentification add new enums auBsbCode and caRoutingNumber
  • In IssuedCard add new attribute threeDSecure
  • In Transfer add new attribute createdAt, deprecate creationDate (use instead createdAt)
  • In TransferData add new attribute createdAt and updatedAt, deprecate creationDate (use instead createdAt)

Management API

  • Add support for AlipayPlus and MaestroUsa payment methods: see PaymentMethod and PaymentMethodSetupInfo classes
  • In PaymentMethodResponse, PaymentMethodSetupInfo and UpdatePaymentMethodInfo several TypesWithErrorsEnum enums have been added (alipay_plus, avancard, cooper, etc..

ACS Webhooks

  • In RelayedAuthenticationRequest add new attributes threeDSRequestorAppURL, environment, timestamp, type

Transaction Webhooks

  • In IssuedCard add new attribute threeDSecure

Transfer Webhooks

  • In IssuedCard add new attribute threeDSecure
  • In TransferData add new attribute createdAt and updatedAt, deprecate creationDate (use instead createdAt)

PRs 🖇️

Full Changelog: v38.3.0...v39.0.0

Adyen Java API Library v38.3.0

18 Jun 15:24
e4f461b
Compare
Choose a tag to compare

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 parameter legalEntityId
  • Add NetworkTokenRequestor to NetworkToken
  • Add dataMissing enum to VerificationError

Checkout API

  • Add capturePspReference to PaymentRefundRequest
  • Add businessDayOnly to PixRecurring

Management API

  • In SplitConfigurationRule add regionality attribute and RegionalityEnum with the supported values
  • In UpdateSplitConfigurationRuleRequest add regionality attribute
  • In Store, StoreCreationRequest, UpdateStoreRequest and StoreCreationWithMerchantCodeRequest add attribute subMerchantData

Configuration Webhooks

  • Add NetworkTokenRequestor to NetworkTokenNotificationDataV2
  • In Wallet the RecommendationReasonsEnum includes several new enums: cardholderPanAssociatedToAccountWithinThresholdDays, changesMadeToAccountDataWithinThresholdDays, deviceProvisioningLocationOutsideOfCardholdersWalletAccountHomeCountry , etc..

Note RecommendationReasonsEnum.type is deprecated: use instead name of the tokenRequestor

Other Changes 🖇️

Full Changelog: v38.2.0...v38.3.0

Adyen Java API Library v38.2.0

17 Jun 07:53
c5d7b6e
Compare
Choose a tag to compare

What's Changed

New Features 💎

  • Terminal API
    • Add new Event Types NetworkConnected and NetworkDisconnected

Other Changes 🖇️

Full Changelog: v38.1.0...v38.2.0

Adyen Java API Library v38.1.0

27 May 07:04
ac69394
Compare
Choose a tag to compare

What's Changed

New Features 💎

Checkout API

  • In PaymentMethodRequest add attributes browserInfo, shopperEmail, shopperIP and telephoneNumber
  • In SessionResultResponse add attributes:
    • payments to provide a list of all authorised payments done for this session
    • reference to provide the unique reference in the original /sessions request
    • additionalData 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 🖇️

Full Changelog: v38.0.0...v38.1.0

Adyen Java API Library v38.0.0

14 May 16:22
2e60179
Compare
Choose a tag to compare

Breaking Changes 🛠

  • Checkout API

    • Remove DotpayDetails and GiropayDetails
    • Remove enum PAYSAFECARD from PaymentDetails
  • Management API

    • Remove GiroPayInfo
    • Remove enum `PAYSHOP from PaymentMethodResponse

Features 💎

  • Checkout API

    • Add Surcharge (#1445) and EnhancedSchemeData (supporting Airline enhanced scheme data) in PaymentRequest
    • Add EnhancedSchemeData (supporting Airline enhanced scheme data) in PaymentCaptureRequest
    • Add fraudRiskLevel in ResponseAdditionalDataCommon
    • Add enum PAYSAFECARD from StoredPaymentMethodDetails
  • Payment Classic API

    • Add fraudRiskLevel in ResponseAdditionalDataCommon
  • Payout API

    • Add fraudRiskLevel in ResponseAdditionalDataCommon
  • Webhooks

    • Add TECHNICAL_CANCEL event code in NotificationRequestItem (#1481)
  • Management API

    • Add supportEmail field to the AfterpayTouchInfo
    • Add enum PAYMENTDESIGNATORCONTRACT in JCBInfo
    • Add PayByBankPlaidInfo
    • Add enum PAYBYBANK_PLAID in PaymentMethodResponse
    • Add domainSuffix field to Profile
    • In SplitConfigurationRule add enums CHARGED, DEFERRED_DEBIT and PREPAID (#1457)
    • Add enableGratuities to the Standalone model

Fixes ⛑️

Other Changes 🖇️

Full Changelog: v37.0.0...v38.0.0

Adyen Java API Library v37.0.0

06 May 11:42
bd169c6
Compare
Choose a tag to compare

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
    • CREATEDBALANCEPLATFORM_ACCOUNTHOLDER_CREATED
    • UPDATEDBALANCEPLATFORM_ACCOUNTHOLDER_UPDATED
  • BalanceAccountNotificationRequest
    • CREATEDBALANCEPLATFORM_BALANCEACCOUNT_CREATED
    • UPDATEDBALANCEPLATFORM_BALANCEACCOUNT_UPDATED
  • CardOrderNotificationRequest
    • CREATEDBALANCEPLATFORM_CARDORDER_CREATED
    • UPDATEDBALANCEPLATFORM_CARDORDER_UPDATED
  • PaymentNotificationRequest
    • CREATEDBALANCEPLATFORM_PAYMENTINSTRUMENT_CREATED
    • UPDATEDBALANCEPLATFORM_PAYMENTINSTRUMENT_UPDATED
  • SweepConfigurationNotificationRequest
    • CREATEDBALANCEPLATFORM_BALANCEACCOUNTSWEEP_CREATED
    • UPDATEDBALANCEPLATFORM_BALANCEACCOUNTSWEEP_UPDATED
    • DELETEDBALANCEPLATFORM_BALANCEACCOUNTSWEEP_DELETED

TransferWebhooks

  • TransferNotificationRequest
    • CREATEDBALANCEPLATFORM_TRANSFER_CREATED
    • UPDATEDBALANCEPLATFORM_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 and defaultKeepAliveTimeout.
  • 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 supports BalanceWebhookSetting for managing Balance Webhook criteria.
  • Other changes:
    • New BIC enum in BankIdentification
    • New PENDING enum in CreateSweepConfigurationV2 and UpdateSweepConfigurationV2
    • New replacedById and replacementOfId attributes in PaymentInstrument and UpdatePaymentInstrument
    • New walletProviderAccountScore and walletProviderDeviceScore attributes in TransactionRuleRestrictions
    • New class USInstantPayoutAddressRequirement

🛒 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 to CheckoutSessionInstallmentOption

🔄 BalancePlatformTransfer API

  • Added IssuingTransactionData with captureCycleId that provides the captureCycleId associated with transfer event

🔄 BalancePlatformTransfer Webhooks

  • Added IssuingTransactionData with captureCycleId that provides the captureCycleId associated with transfer event

  • Other changes:

    • New enum: ChargebackRemainder in PlatformPayment.platformPaymentType
    • New attribute: externalReason in TransferData
    • New pending enum in TransferData.reason

📬 New Balance Webhook

  • A new Balance webhook is now available to process events related to balance changes.
  • Use: BalancePlatformBalanceWebhooksHandler to consume the Webhook event balancePlatform.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:

Full Changelog: v36.0.1...v37.0.0