Releases: Adyen/adyen-node-api-library
Adyen Node API Library v28.0.0
What's Changed
This release brings significant improvements, new features, and few breaking changes to the Adyen Node 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
- Enhanced 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.
- Improved Error Handling: Make the API Error object available, alongside the raw JSON
- Revised Enum Values Deserialization: During the response deserialization unknown enums are ignored, instead of causing an error affecting the integrations
π Breaking Changes
π Honouring required attributes
Mandatory attributes are no longer marked as optional, but are expected to be provided. Although this is the correct implementation, it is a
π Order of query parameters
A few method signatures have been updated to add the required query parameters before all optional parameters, to avoid causing an error (invalid order of parameters) #1515
This change affects only:
- Transfers API
getAllTransactions
: the required paramscreatedSince
ancreatedUntil
are the first 2 parameters, before all others. - Transfers API
getAllTransfers
: the required paramscreatedSince
ancreatedUntil
are the first 2 parameters, before all others.
π Important Changes
π¦ Service Class Refactoring
The following services have been moved to their own folder.
Service classes 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 |
---|---|
services.storedValueApi |
services.storedvalue.storedValueApi |
services.binLookupApi |
services.binlookup.binLookupApi |
services.balanceControlApi |
services.balancecontrol.balanceControlApi |
services.dataProtectionApi |
services.dataprotection.dataProtectionApi |
services.disputesApi |
services.disputes.disputesApi |
services.paymentsAppApi |
services.paymentsapp.paymentsAppApi |
services.posMobileApi |
services.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
andmanagementWebhooksHandler
classes are now deprecated - Recommended: Use instead the dedicated handler in the Webhook package (
AcsWebhooks
,ReportWebhooksHandler
,ConfigurationWebhooks
,TransferWebhooks
,TransactionWebhooks
, etc..)
const configurationWebhooksHandler = new ConfigurationWebhooksHandler(jsonString);
const accountHolderNotificationRequest = configurationWebhooksHandler.getAccountHolderNotificationRequest();
β οΈ Deprecation of TerminalManagementAPI
Support for the "classic" POS Terminal Management API has stopped. To automate assigning terminals, you must use Management API.
βοΈ Improved Error Handling
The APIError
model is readily available in the HttpClientException
object when an API call fails. This eliminates the need for manual parsing of the response body by library users. #1509
The library exports the HttpClientException
class, allowing to try-catch the Adyen API exceptions without importing directly from the specific path within the library. #1526
π New Features & Enhancements
Session Authentication API
Add support for Session Authentication API to create the sessions required for integrating Adyen Platform components (#1435)
BalancePlatform
-
New:
BalancesApi
service now supportsBalanceWebhookSetting
for managing Balance Webhook criteria. -
New:
BalancesApi
service now supportsAuthorizedCardUsersApi
to manage (add, get, delete and update) authorized users to a given card -
Other changes:
-
In
AdditionalBankIdentification
add new enumsauBsbCode
andcaRoutingNumber
-
In
AccountHoldersApi.getTaxFormResponse
add optional parameterlegalEntityId
-
Add
NetworkTokenRequestor
toNetworkToken
-
Add
dataMissing
enum toVerificationError
-
Add
walletProviderDeviceType
inTransactionRuleRestrictions
-
Add enum
INTEREST
inTransferRoute.CategoryEnum
ACS Webhooks
- In
RelayedAuthenticationRequest
add new attributesthreeDSRequestorAppURL
,environment
,timestamp
,type
Checkout
- Add
capturePspReference
toPaymentRefundRequest
- Add
businessDayOnly
toPixRecurring
- 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
Configuration Webhooks
- Add
NetworkTokenRequestor
toNetworkTokenNotificationDataV2
- Add
Wallet
class to provide information about the wallet for which the network token is provisioned.
Transfers API
- New attribute:
executionDate
inTransferData
- Add class
BankAccountV3AccountIdentification
Transfers Webhooks
- New attribute:
executionDate
inTransferData
- Add class
BankAccountV3AccountIdentification
Webhooks
- In
NotificationRequestItem
add missing event codesINFORMATION_SUPPLIED
,DISPUTE_DEFENSE_PERIOD_ENDED
,ISSUER_RESPONSE_TIMEFRAME_EXPIRED
,ISSUER_COMMENTS
#1506
Changes in this release:
- OpenAPI Generator v7: Webhooks by @gcatanese in #1512
- WIP Typescript OpenAPI Generator v7 by @gcatanese in #1505
- ApiError: Improving error handling by @gcatanese in #1509
- OpenAPI v7 Generation: Classic Payments, BalanceControl, Disputes, StoredValue by @gcatanese in #1510
- Make non-native attributes nullable by @gcatanese in #1520
- Fix: Set ApplicationName correctly when client is instantiated by @Kwok-he-Chu in #1503
- Checkout: mark mandatory query parameters by @gcatanese in #1502
- HMAC Troubleshooting: script to calculate KCV by @gcatanese in #1508
- Terminal API new Event Types by @gcatanese in #1507
- OpenAPI Generator v7: generate LEM/Configuration/Transfers APIs by @gcatanese in #1511
- Optional query params and code format by @gcatanese in #1513
- Format code (adding method overloading) by @gcatanese in #1514
- Transfers API: method signature with required query parameters by @gcatanese in #1515
- OpenGenerator v7: Generate Management API by @gcatanese in #1516
- Code format cleanup by @gcatanese in #1517
- Add unit tests for parsing unexpected fields/enums by @gcatanese in #1518
- Add test to verify request payload by @gcatanese in #1522
- Code generation: update services and models by @AdyenAutomationBot in #1523
- Sonar handle exceptions by @gcatanese in #1524
- Tests serializat...
v27.0.1
Adyen Node API Library v27.0.0
Breaking Changes π
-
Checkout API
- Dotpay: Removed the
DotpayDetails
class and all related references inCheckoutPaymentMethod
and test files. Direct support for Dotpay is deprecated - Giropay: Removed the
GiropayDetails
class and all related references inCheckoutPaymentMethod
and test files. Direct support for Giropay is deprecated - Paysafecard (from PaymentDetails TypeEnum): Removed
Paysafecard
from theTypeEnum
in thePaymentDetails
model
- Dotpay: Removed the
-
Classic Payments API
- In
ResponseAdditionalDataCommon
theTokenizationStoreOperationTypeEnum.AlreadyStored
has been removed, and replaced byTokenizationStoreOperationTypeEnum.AlreadyExisting
- In
-
Management API
- Remove
GiroPayInfo
- Remove enum
PAYSHOP
from PaymentMethodResponse
- Remove
Features π
-
Checkout API
- Rakuten Pay: Add support for Rakuten Pay payment method -
RakutenPayDetails
- Add support for Surcharge in paymentRequest
- Add Donation
type
field supporting the following values:roundup
,fixedAmounts
- Add email and phone number fields to
AdditionalDataCommon
andAdditionalDataSubMerchant
- Add
SubMerchantEmail
andSubMerchantPhoneNumber
fields toAdditionalDataCommon
- Add
SubMerchantSubSellerSubSellerNrEmail
andSubMerchantSubSellerSubSellerNrPhoneNumber
fields toAdditionalDataSubMerchant
- Add
RequestedTestAcquirerResponseCode
toAdditionalDataCommon
to facilitate testing scenarios for specific acquirer responses - Add
EnhancedSchemeData
property toPaymentRequest
andPaymentCaptureRequest
- Add
EncryptedCard
property toPaymentMethodToStore
to allow storing encrypted card details. - Add the
FraudRiskLevel
enum and property toResponseAdditionalDataCommon
to indicate the risk level of a payment (e.g.VeryLow
,Low
,Medium
,High
, andVeryHigh
) - Add Bonus enum member to the PlansEnum in CheckoutSessionInstallmentOption and Installments
- Rakuten Pay: Add support for Rakuten Pay payment method -
-
BalancePlatform API
- Add
Bic
enum inBankIdentification
- Add
Pending
enum inCreateSweepConfigurationV2
- Add
message
field inInvalidField
- Add
replacedById
andreplacementOfId
attributes inPaymentInstrument
andUpdatePaymentInstrument
- Add
walletProviderAccountScore
andwalletProviderDeviceScore
attributes inTransactionRuleRestrictions
- Add class
USInstantPayoutAddressRequirement
- Add
-
Transfer API
- Added
IssuingTransactionData
withcaptureCycleId
that provides the captureCycleId associated with transfer event - Add enum
ChargebackRemainder
inPlatformPayment.platformPaymentType
- Add attribute
externalReason
inTransferData
- Add enum
Pending
inTransferData.reason
- Add attribute
scaOnApproval
inTransferReview
- Added
-
Management API
- Add
supportEmail
field inAfterpayTouchInfo
- Add enum
PAYMENTDESIGNATORCONTRACT
in JCBInfo - Add PayByBankPlaidInfo
- Add enum
PAYBYBANK_PLAID
in PaymentMethodResponse - Add
domainSuffix
field in Profile model - In
SplitConfigurationRule
add enumsCHARGED
,DEFERRED_DEBIT
andPREPAID
(#1457) - Add
enableGratuities
in Standalone model
- Add
Add support for Balance Webhooks
-
Webhooks
- Add
ISSUER_COMMENTS
webhook event code by @nickcarenza in #1488
- Add
-
Configuration Webhooks
- Add
replacedById
toPaymentInstrument
- Add
-
AcsWebhooks
-
Enum value has changed:
- Before:
OTP_SMS
- After:
PWD_OTP_PHONE_FL
- OTP flow via SMS
- Before:
-
Enum value has changed:
- Before:
OOB
- After:
OOB_TRIGGER_FL
- Out-of-band trigger flow
- Before:
-
New:
-
Add
PWD_OTP_EMAIL_FL
- OTP flow via Email
-
Fixes βοΈ
- Fix null value in
User-Agent
HTTP header by @gcatanese in #1496 - Fix union types deserialization in Transfer webhooks by @mercury2269 in #1489
Other Changes ποΈ
NotificationRequestItem
enums: Remove legacy by @gcatanese in #1497- Set default timeout on the HTTP client by @gcatanese in #1490
- Introduced a new HMAC troubleshooting utility for signature validation debugging (#1487). The tool calculates the HMAC signature given the HMAC key and the payload:
cd tools/hmac
npm install
node calculateHmacPayments.js 11223344D785FBAE710E7F943F307971BB61B21281C98C9129B3D4018A57B2EB payload.json
Check the README
New Contributors
- @nickcarenza made their first contribution in #1488
- @mercury2269 made their first contribution in #1489
Full Changelog: v26.1.0...v27.0.0
Adyen Node API Library v26.1.0
What's Changed
Fixes βοΈ
- Bug: Fixed possdk base replacement URL on LIVE - Previously, the business-logic appended "/checkout" to the LIVE url, this should not be the case when using
/possdk/v68
by @ChrisSchofieldCheckatrade in https://github.com/Adyen/adyen-node-api-
library/pull/1482
Other Changes ποΈ
- Add close-issue-label flag to correctly label closed issues by @DjoykeAbyah in #1480
- Release v26.1.0 by @AdyenAutomationBot in #1481
New Contributors
- @ChrisSchofieldCheckatrade made their first contribution in #1482
Full Changelog: v26.0.0...v26.1.0
Adyen Node API Library v26.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 π
- Checkout:
- New payment methods
PixDetails
andPixRecurring
- In
PaymentRefundResponse
add attributecapturePspReference
(only available for PayPal refunds) - In
ResponseAdditionalDataCommon
:β οΈ therecurring_recurringDetailReference
andrecurring_shopperReference
are deprecated, use instead the new attributetokenization_shopperReference
- add
tokenization_store_operationType
andtokenization_storedPaymentMethodId
attributes, addTokenizationStoreOperationTypeEnum
enum
- New payment methods
- Checkout webhooks:
- Add
TechnicalCancel
enum inNotificationRequestItem
- Add
- Management API:
- Support
AffirmInfo
andPayToInfo
payment methods - in
Surcharge
class add attribugeexcludeGratuityFromSurcharge
- Support
- Payout:
- In
ResponseAdditionalDataCommon
:β οΈ therecurring_recurringDetailReference
andrecurring_shopperReference
are deprecated, use instead the new attributetokenization_shopperReference
- add
tokenization_store_operationType
andtokenization_storedPaymentMethodId
attributes, addTokenizationStoreOperationTypeEnum
enum
- In
- Classic Payments:
- In
ResponseAdditionalDataCommon
:β οΈ therecurring_recurringDetailReference
andrecurring_shopperReference
are deprecated, use instead the new attributetokenization_shopperReference
- add
tokenization_store_operationType
andtokenization_storedPaymentMethodId
attributes, addTokenizationStoreOperationTypeEnum
enum
- In
Important
The Recurring API is deprecated. Use the Checkout API recurring endpoints instead.
Other Changes ποΈ
- Expose PosMobileAPI by @victorcuena in #1463
- Improve issue templates by @ayodejidev in #1470
- Create config.yml by @ayodejidev in #1473
- Improve GitHub Node and release workflows by @ayodejidev in #1477
- Add TechnicalCancel Enum by @DjoykeAbyah in #1468
- Fix HMAC validation for Banking webhooks by @gcatanese in #1476
- Release v26.0.0 by @AdyenAutomationBot in #1472
New Contributors
- @victorcuena made their first contribution in #1463
Full Changelog: v25.0.0...v26.0.0
Adyen Node API Library v25.0.0
What's Changed
Breaking Changes π
- BalancePlatform:
- Removed
PriorityRestriction
class. - In
TransactionRuleRestriction
removedpriority
. - In
models
removedpriorityRestriction
- Removed
- BinLookup:
- In
CostEstimateResponse
removedsurchargeType
.
- In
- Transfers:
- In
TransferReview
removednumberOfApprovalsCompleted
andScaOnApprovalEnum
. - In
models
removedScaOnApprovalEnum
- In
- TransferWebhooks:
- In
TransferReview
removednumberOfApprovalsCompleted
andScaOnApprovalEnum
. - In
models
removedScaOnApprovalEnum
- 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
. - In
models
addedassociationFinaliseRequest
,associationFinaliseResponse
,associationInitiateRequest
and `associationInitiateResponse
- Added
-
Checkout:
- In
CardDetails
,CardDonations
andpaymentRequest
addedfastlaneData
. - Added
FastlaneDetails
class. - In
models
addedfastlaneDetails
- In
-
LegalEntityManagement:
- Added
FinancialReport
class. - In
LegalEntityAssociation
addednominee
. - In
Organization
andSoleProprietorship
addedfinancialReports
- In
models
addedfinancialReport
- 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 #1461
Other Changes ποΈ
- Release v25.0.0 by @AdyenAutomationBot in #1469
Full Changelog: v24.0.0...v25.0.0
Adyen Node API Library v24.0.0
What's Changed
Breaking Changes π
- Checkout:
- In
additionalDataAirline
changedairline_passenger_telephone_number
toairline_passenger_phone_number
- In
- Payment:
- In
additionalDataAirline
changedairline_passenger_telephone_number
toairline_passenger_phone_number
- In
- Code generation: update services and models by @AdyenAutomationBot in #1458
Features π
- NegativeBalanceWarningWebhooks:
- Added
Amount
class. - Added
NegativeBalanceCompensationWarningNotificationData
class. - Added
NegativeBalanceCompensationWarningNotificationRequest
class. - Added
ObjectSerializer
class. - Added
Resource
class. - Added
ResourceReference
class. - Added
amount
,negativeBalanceCompensationWarningNotificationData
,negativeBalanceCompensationWarningNotificationRequest
,resource
andresourceReference
tomodels
- Added
- Payments:
- In
Split
addedTopUp
.
- In
Other Changes ποΈ
- Add NPM publish status badge in README by @gcatanese in #1455
- updated readme with deprecation message for POS Terminal Managament API by @DjoykeAbyah in #1460
- Add negativeBalanceWarningWebhook to bankingWebhookHandler by @DjoykeAbyah in #1459
- Release v24.0.0 by @AdyenAutomationBot in #1456
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.
Full Changelog: v23.3.0...v24.0.0
Adyen Node API Library v23.3.0
What's Changed
New Features π
- Checkout:
- Add
AffirmPay
payment method - Add
PayPay
payment method - Add new enum value
TopUp
inSplit
class
- Add
Other Changes ποΈ
- Code generation: update services and models by @AdyenAutomationBot in #1450
- GitHub workflows edits by @gcatanese in #1451
- Chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in #1453
- Release v23.3.0 by @AdyenAutomationBot in #1452
Full Changelog: v23.2.0...v23.3.0
Adyen Node API Library v23.2.0
What's Changed
New Features π
- Checkout API (auto-rescue):
- Added
autoRescue
inAdditionalDataCommon
- Set to true to enable Auto Rescue - Added
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.
- Added
- Update all services by @AdyenAutomationBot in #1443
Other Changes ποΈ
- Upgrade @types/node: Update to 18.19.69 by @DjoykeAbyah in #1446
- Release v23.2.0 by @AdyenAutomationBot in #1448
Full Changelog: v23.1.0...v23.2.0
Adyen Node API Library v23.1.0
What's Changed
New Features π
- BalancePlatform:
- In
models
addedPriorityRestriction
- Added
PriorityRestriction
class. - In
TransactionRuleRestrictions
addedpriority
of typePriorityRestriction
. - In
VerificationDeadline
,VerificationError
andVerificationErrorRecursive
addedissueChargeCard
,issueChargeCardCommercial
,useChargeCard
anduseChargeCardCommercial
enum.
- In
- ConfigurationWebhooks:
- In
VerificationDeadline
,VerificationError
andVerificationErrorRecursive
addedissueChargeCard
,issueChargeCardCommercial
,useChargeCard
anduseChargeCardCommercial
enum.
- In
- LegalEntityManagement:
- In
VerificationDeadline
,VerificationError
andVerificationErrorRecursive
addedissueChargeCard
,issueChargeCardCommercial
,useChargeCard
anduseChargeCardCommercial
enum.
- In
- ReportWebhooks:
- In
ReportNotificationData
addedid
- In
- Update all services by @AdyenAutomationBot in #1441
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.
- Release v23.1.0 by @AdyenAutomationBot in #1442
Full Changelog: v23.0.0...v23.1.0