> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.

# NodeJS SDK - 2.1.0

June 24, 2026

## Added

### `FlowDescriptor` for declaring pay-in `Beneficiaries`

* New `FlowDescriptor` object (`FlowId`, `Beneficiaries[].UserId`) added to pay-in, recurring pay-in registration, card preauthorization, and deposit create/data typings, allowing beneficiary information to be passed

Read more in the [API release note](/release-notes/api/2026-06-24) and [dedicated guide](/guides/payin-beneficiaries) **→**

### Unified recurring pay-in method

New `PayIns.createRecurringPayIn(recurringPayIn)` method that creates a recurring pay-in for Card, PayPal, Apple Pay, and Google Pay using the same object structure as the non-recurring pay-in methods.

The method routes to the correct endpoint based on the payment and execution type:

* [POST Create a Recurring Card PayIn](/api-reference/recurring-card-payins/create-recurring-card-payin)
* [POST Create a Recurring PayPal PayIn](/api-reference/paypal/create-recurring-paypal-payin)
* [POST Create a Recurring Apple Pay PayIn](/api-reference/apple-pay/create-recurring-apple-pay-payin)
* [POST Create a Recurring Google Pay PayIn](/api-reference/google-pay/create-recurring-google-pay-payin)

New recurring registration methods `getRecurringPayInRegistration`, `updateRecurringPayInRegistration`, and `createRecurringPayInRegistration`.

Read more about [Apple Pay and Google Pay recurring payments](/release-notes/api/2026-06-23) **→**

### Support for PayPal deposit preauthorizations

* New `Deposits.createPayPalPreauthorization(deposit)` method to call the [POST Create a PayPal Deposit Preauthorization](/api-reference/extended-preauthorizations/create-paypal-extended-preauthorization) endpoint
* New `PayPalDepositPreauthorization` model and `CreatePayPalDepositPreauthorization` TypeScript typing (fields include `PaypalPayerID`, `PaypalOrderID`, `Buyer*`, `Trackings`, `ShippingPreference`, `LineItems`, `DataCollectionId`, etc.)
* New `PayIns.createDepositPreauthorizedPayInWithoutComplement(payIn)` method to call the [POST Create a Deposit Preauthorized PayIn](/api-reference/extended-preauthorizations/create-extended-preauthorized-payin) endpoint
* `PayIns.createCardPreAuthorizedDepositPayIn` is now deprecated in favour of `createDepositPreauthorizedPayInWithoutComplement`

### Support for `Email` on webhooks

* The `Hook` model and `hook` typings now support an `Email` property on create and update (read more about [email alerts for consecutive failed notifications](/webhooks#email-alerts-for-consecutive-failed-notifications))

### `DateRangeBy` on Report V2

* The Report V2 model (`ReportsV2.create`) now supports the `DateRangeBy` field (e.g. `"ExecutionDate"`), with a matching `DateRangeBy?: string` typing on `ReportV2Data`

### Virtual account local account fields

* `LocalAccount` typings gained `BankCode`, `BSBCode`, and `BCNumber` fields, with documentation updates to existing local account fields

## Deprecated

### Older recurring pay-in methods

The following are now deprecated (still functional) in favor of the unified methods above:

* `createRecurringPayInRegistrationCIT`, `createRecurringPayInRegistrationMIT`, `createRecurringPayPalPayInCIT`, `createRecurringPayPalPayInMIT` → use `createRecurringPayIn`
* `getRecurringPayin` → use `getRecurringPayInRegistration`
* `updateRecurringPayin` → use `updateRecurringPayInRegistration`
* `createRecurringPayment` → use `createRecurringPayInRegistration`

## Changed

### Dependency upgrades

* `axios`
  * `1.16.0` → `1.17.0`
* `form-data`
  * `4.0.5` → `4.0.6`