What's Changed
This unreleased range from v32.2.0 to HEAD adds recurring top-up and sweep-execution webhooks, Checkout tax utilities, and richer payment and transfer data. It also hardens HMAC validation and fixes UTF-8 response decoding. Review the compatibility notes before upgrading; the Node.js requirement remains >=18.
Table of contents
- What's Changed
- Breaking Changes π
- New Features π
- Fixes βοΈ
- Contributor Notes π§
- Other Changes ποΈ
- PRs ποΈ
- Contributors
Breaking Changes π
Legal Entity Management API
- Allow
SoleProprietorship.countryOfGoverningLawto be omitted and widenBankAccountInfoAccountIdentificationClass.discriminatorfromstringtostring | undefined. Under strict TypeScript checks, handleundefinedwhen reading either member. (#1806)
Session Authentication API
- Make
AuthenticationSessionRequest.allowOriginoptional in the TypeScript model; update code that assumes it is always astring. Continue supplying it for Platform Experience and Onboarding components: omitting it produces an unusable session token. (#1794)
Terminal Cloud API
- Throw during
TerminalCloudAPIconstruction whenterminalApiCloudEndpointis missing, instead of failing on a later request. Configure a valid LIVEregionor an explicit endpoint before constructing the service; this change does not introduce a default region. Related issue: #1785. (#1796)
Other
- Reject empty, odd-length, quoted, whitespace-padded, or non-hex HMAC keys with an error in
calculateHmacSignature,calculateHmac,validateHMAC,validateHMACSignature, and the already-deprecatedvalidateBankingHMAC. Keys are not trimmed. Validators now accept only the exact base64 signature, using constant-time comparison; non-string signatures returnfalsewhere comparison is reached. PrefervalidateHMACSignature(key, signature, data)overvalidateBankingHMAC, whose key is its second argument. Fix issue #1816. (#1817)
New Features π
ACS Webhooks
- Add
ChallengeInfo.FlowEnum.OtpPhoneFl(OTP_PHONE_FL) andPasskeyTriggerFl(PASSKEY_TRIGGER_FL) for SMS challenges without a passcode and passkey challenges. (#1811)
Checkout API
- Add Canadian pay-by-bank direct debit through
PayByBankCADirectDebitDetails(paybybank_ca) and thePaymentRequestPaymentMethodunion, and addPaymentDetails.TypeEnum.Satispay(satispay). (#1793) - Add
OpiRequestandOpiResponseto request issuer identifiers and transaction tokens throughPaymentRequest.opiandStoredPaymentMethodRequest.opi, and read them throughPaymentResponse.opi,PaymentDetailsResponse.opi, andStoredPaymentMethodResource.opi. (#1793) - Add
CheckoutForwardResponse.accountUpdateand.networkToken, backed byCheckoutForwardAccountUpdateResultandCheckoutForwardNetworkTokenResult, to expose account-updater outcomes and whether forwarding used a network token. (#1793) - Add
CreateCheckoutSessionRequest.payableandCreateCheckoutSessionResponse.payableto control when a shopper can submit a session payment. Setpayabletofalsewhile the amount is provisional, then update it totruewhen final; the default istrue. (#1793) - Add
KlarnaNetworkDetails.klarnaNetworkPaymentAccountIdfor transactions using a Klarna Network session token. (#1793) - Add
LineItem.riskCategoryfor Protect custom risk rules. (#1793) - Add
UtilityApi.calculateTax, withCalculateTaxRequest,CalculateTaxResponse, and tax-calculation models for India LRS Tax Collected at Source. Read the calculated amounts and the returnedtaxCalculationToken. (#1809) - Add
UtilityApi.verifyShopperTaxIdentification, withVerifyShopperTaxIdentificationRequest,VerifyShopperTaxIdentificationResponse,ShopperTaxIdentification, andVerifiedShopperTaxIdentificationfor tax-identifier verification and its returned verification token. (#1809) - Add
enhancedSchemeDatatoCreateCheckoutSessionRequestandCreateCheckoutSessionResponse. (#1809) - Add
KlarnaNetworkDetails.subtypeandSubtypeEnum.Redirect/SubtypeEnum.Sdkto select redirect or SDK flows. (#1809) - Add
AfterpayDetails.TypeEnum.AfterpaytouchUs(afterpaytouch_US) andStoredPaymentMethodDetails.TypeEnum.Revolutpay(revolutpay), with their payment-method discriminator mappings. (#1809) - Add
TokenMandate.previousMandateIdand.purposeCodeto track replaced UPI mandate identifiers and scheme debit restrictions. (#1809)
Configuration Webhooks
- Add
balancePlatform.balanceAccount.recurringTopUp.created,balancePlatform.balanceAccount.recurringTopUp.deleted,balancePlatform.balanceAccount.recurringTopUp.updatedevents to track recurring top-up configuration changes, with typed parsing throughConfigurationWebhooksHandler. (#1736) - Add
balancePlatform.balanceAccountSweepExecution.failed,balancePlatform.balanceAccountSweepExecution.skipped,balancePlatform.balanceAccountSweepExecution.succeededevents to track sweep outcomes, failure reasons, and resulting transfer identifiers throughSweepExecutionNotificationRequest. (#1736)
Dispute Webhooks
- Add
DisputeEventNotification.TypeEnum.NotAsDescribed(notAsDescribed) and.Cancelled(cancelled). (#1814)
Legal Entity Management API
- Add
residentialAddressIndicatortoOrganization,SoleProprietorship,Trust, andUnincorporatedPartnershipto identify a registered address as a residence. (#1806) - Add
AdyenCapitalCashAdvance(adyenCapitalCashAdvance) andDirectDebit(directDebit) toAcceptTermsOfServiceResponse.TypeEnum,CalculateTermsOfServiceStatusResponse.TermsOfServiceTypesEnum,GetTermsOfServiceDocumentRequest.TypeEnum,GetTermsOfServiceDocumentResponse.TypeEnum, andTermsOfServiceAcceptanceInfo.TypeEnum. (#1806)
Standard Webhooks
- Add the
REVERSALevent asNotificationRequestItem.EventCodeEnum.Reversalto receive reversal results, including cancellation or refund details inadditionalData. (#1813)
Transaction Webhooks
- Add
transactionWebhooks.IssuedCard.networkVariantandNetworkVariantEnumvaluesMaestroUs,Mastercard, andVisa(maestro_us,mastercard, andvisa) to identify the processing network variant. (#1789)
Transfer Webhooks
- Add
transferWebhooks.IssuedCard.networkVariantandNetworkVariantEnumvaluesMaestroUs,Mastercard, andVisa; addReversalReceived(reversalReceived) toModification.StatusEnum,TransferData.StatusEnum, andTransferEvent.StatusEnum,FxSell/FxBuytoTransferData.TypeEnum, andUsAchCorrectionReasonCodetoNetworkReason.NamespaceEnum. (#1788) - Add
transferWebhooks.TransferData.CategoryEnum.Interest(interest) andTypeEnum.InterestPayout(interestPayout) for business-account interest settlements. (#1818)
Transfers API
- Add
transfers.IssuedCard.networkVariantandNetworkVariantEnumvaluesMaestroUs,Mastercard, andVisa; addReversalReceived(reversalReceived) toModification.StatusEnum,Transfer.StatusEnum,TransferData.StatusEnum, andTransferEvent.StatusEnum,FxSell/FxBuytoTransfer.TypeEnumandTransferData.TypeEnum, andUsAchCorrectionReasonCodetoNetworkReason.NamespaceEnum. (#1790) - Add
Interest(interest) toTransfer.CategoryEnumandTransferData.CategoryEnum, andInterestPayout(interestPayout) to both modelsβTypeEnumfor business-account interest settlements. (#1819)
Fixes βοΈ
Legal Entity Management API
- Resolve bank-account identification variants using the
typediscriminator by addingBankAccountInfoAccountIdentificationClass.mapping, so serialization and deserialization select the correct country-specific or IBAN model. (#1806)
Other
- Decode HTTP response streams as UTF-8 across chunk boundaries in
HttpURLConnectionClient, preserving non-ASCII characters in successful responses, error bodies, and API error messages. Fix issue #1807. (#1808)
Contributor Notes π§
- Update the development dependency lockfile from
fast-uri3.1.6 to 3.1.8. (#1802) - Update the development dependency lockfile from
handlebars4.7.9 to 4.7.10. (#1803) - Override
@istanbuljs/load-nyc-configto usejs-yaml^4.3.2, removing the obsolete YAML v3 dependency chain and itssprintf-jsdependency from the lockfile. Runtime and optional dependency declarations remain unchanged. (#1804) - Update the development dependency lockfile from
brace-expansion1.1.18 to 1.1.21. (#1805)
Other Changes ποΈ
Legal Entity Management API
- Clarify server-side name and address validation requirements in
Name,Address,Organization,SoleProprietorship,Trust, andUnincorporatedPartnershipdocumentation; these generated comments do not add client-side validation. (#1806)
Other
- Expose JSDoc for
Config.region,liveEndpointUrlPrefix, andenable308Redirectin published type declarations and IDE help, including the LIVE Terminal API region requirement. (#1815)
PRs ποΈ
- [configurationwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1736
- [managementwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1787
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1788
- [transactionwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1789
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #1790
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #1793
- [sessionauthentication] Code generation: update services and models by @AdyenAutomationBot in #1794
- fix: validate Terminal Cloud API endpoint configuration by @cobanfurkanx in #1796
- Unit test for checkout PR - 1793 by @poojah-adyen in #1801
- Bump fast-uri from 3.1.6 to 3.1.8 by @dependabot[bot] in #1802
- Bump handlebars from 4.7.9 to 4.7.10 by @dependabot[bot] in #1803
- Fix vulnerable sprintf-js development dependency by @gcatanese in #1804
- Bump brace-expansion from 1.1.18 to 1.1.21 by @dependabot[bot] in #1805
- [legalentitymanagement] Code generation: update services and models by @AdyenAutomationBot in #1806
- fix: decode response bodies as UTF-8 across chunk boundaries by @ujjawal-yadav in #1808
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #1809
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1810
- [acswebhooks] Code generation: update services and models by @AdyenAutomationBot in #1811
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #1812
- feat: add REVERSAL webhook event code by @ashwaniarya-adyen in #1813
- [disputewebhooks] Code generation: update services and models by @AdyenAutomationBot in #1814
- docs(config): surface field documentation in type declarations by @ashwaniarya-adyen in #1815
- fix(hmac): reject malformed HMAC keys and compare signatures exactly by @ratomirjovanovic in #1817
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #1818
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #1819
Contributors
- @AdyenAutomationBot
- @ashwaniarya-adyen
- @cobanfurkanx
- @dependabot[bot]
- @gcatanese
- @poojah-adyen
- @ratomirjovanovic
- @ujjawal-yadav
Full Changelog: v32.2.0...HEAD