What's Changed
✨ This release introduces the support of Checkout API v72 and Cloud device API, a first-class replacement for the legacy TerminalCloudAPI that brings built-in Nexo message encryption, device management, and a cleaner service design.
Breaking Changes 🛠
Checkout API
There are several breaking changes during the Checkout v72 upgrade, check #1727 for the full details
- in
DirectDebitAuDetailsclassholderNameis now required (was optional). Consumers must always provide this field. donationTypeis now optional and deprecated. Usetypeinstead.- in
DonationPaymentRequestseveral fields are removed :additionalData,conversionIddeliverAt,threeDSAuthenticationOnly(this was deprecated since Checkout API v69, useauthenticationData.authenticationOnly. - in
PaymentAmountUpdateRequesthas been removedenhancedSchemeData. Use the newmpiDatafield instead. - in
PaymentRequestconversionIdwas removed (deprecated since Checkout API v68, usecheckoutAttemptId).
-inStandalonePaymentCancelRequestattributeenhancedSchemeDatawas removed.
Transfers API
Counterpartymodel removed and replaced byGrantCounterparty(used inCapitalGrant) andGrantInfoCounterparty(used inCapitalGrantInfo), with different field sets for each context. See #1634
New Features 💎
Checkout API
- In
PaymentAmountUpdateRequestaddadjustAuthTypefield (PaymentAmountUpdateRequest.AdjustAuthTypeEnum). Possible values:cardholderInitiatedTransaction,merchantInitiatedTransaction. - New
adjustAuthorisationDatafield (string) for synchronous authorization adjustments. - New
mpiDatafield (ThreeDSecureData) replacingenhancedSchemeData.
Transfers API
- Add
CashOutApifor initiating cashouts. - Add transfer tracing models and fields for UK FPS and US ACH.
- Add
NetworkReason,InterchangeData, andUltimatePartyIdentification.
Fixes
- Fix ESM-compatible NexoCrypto exports and safely handle differing HMAC lengths. #1701 (#1701)
- Correct webhook HMAC validation and discriminator mappings for webhook bank-account models.
- Update ESLint, Nock, and CI actions for Node.js 24 compatibility.
PRs.
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #1727
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #1634
- [tapi] Code generation: update services and models by @AdyenAutomationBot in #1708
- Add CloudDevice service class by @gcatanese in #1709
- Add cloud device live URL support with region-based routing by @gcatanese in #1713
- CloudDevice API Integration Testing by @gcatanese in #1714
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1716
- [tapi] Code generation: update services and models by @AdyenAutomationBot in #1717
- Add support of encrypted payload for Cloud Device API by @gcatanese in #1715
- Cloud device API documentation by @gcatanese in #1721
- Add PredefinedContentHelper for Cloud device API (tapi) by @gcatanese in #1726
- README: Update API/Webhook versions by @gcatanese in #1728
- fix: remove environment from publish-npm job to fix OIDC trusted publishing by @gcatanese in #1705
- revert: restore environment: release in publish-npm job by @gcatanese in #1707
- fix: guard against mismatched HMAC length in NexoCrypto.validateHmac (#1703) by @CedricConday in #1712
- chore(ci): upgrade GitHub Actions to Node.js 24 compatible versions by @gcatanese in #1704
- fix: guard HMAC comparison on decoded length in HmacValidator by @CedricConday in #1725
- Move tapi PredefinedContentHelper to src/utils/tapi by @gcatanese in #1731
- Add SaleToAcquirerData parser and SaleDataHelper for Cloud device API (tapi) by @gcatanese in #1732
- Release v32.0.0 by @AdyenAutomationBot in #1706
New Contributors
- @CedricConday made their first contribution in #1712
Full Changelog: v31.0.0...v32.0.0