> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/release-notes/sdk/net/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.
# .NET SDK
**Package:** [mangopay4-net-sdk](https://www.nuget.org/packages/mangopay4-net-sdk)
---
## 4.1.0 - Oct 1, 2026
#### [4.1.0 - Oct 1, 2026](/release-notes/sdk/net/4-1-0)
Added
* Extended Preauthorization feature to rename Deposit Preauthorization
* Extended Preauthorization event types
* `ProfilingAttemptReference` on users
* Settlement event types
Deprecated
* Deposit Preauthorization feature deprecated
Changed
* Regex timeouts
Fixed
* Event type deserialization breaking pagination
## 4.0.0 - Sep 2, 2026
#### [4.0.0 - Sep 2, 2026](/release-notes/sdk/net/4-0-0)
Breaking change
* Target frameworks updated to .NET 6.0 and .NET 8.0
Changed
* Dependency updates
## 3.46.0 - Sep 1, 2026
#### [3.46.0 - Sep 1, 2026](/release-notes/sdk/net/3-46-0)
Added
* `KycInformation` containing `KycRenewalDeadline` on user block status
* Account funding on card direct pay-ins
* Get PayPal data collection
## 3.45.0 - Aug 18, 2026
#### [3.45.0 - Aug 18, 2026](/release-notes/sdk/net/3-45-0)
Added
* Support for multi-session PSC flow on hosted KYB for Business
* Identity verification event types
* GET List Intent external providers
* `Tag` on intents and splits
* Idempotency error details for failed calls
## 3.44.0 - Jul 14, 2026
#### [3.44.0 - Jul 14, 2026](/release-notes/sdk/net/3-44-0)
Fixed
* Echo Settlement validation errors response mapping
Deprecated
* Non-SCA user methods and models
* Deposit preauthorized pay-in complement methods
## 3.43.0 - Jun 24, 2026
#### [3.43.0 - Jun 24, 2026](/release-notes/sdk/net/3-43-0)
Added
* `FlowDescriptor` for declaring pay-in `Beneficiaries`
* Support for `Email` on webhooks
Changed
* Support for `ReportPostDTO.DateRangeBy` on reports
## 3.42.0 - May 21, 2026
#### [3.42.0 - May 21, 2026](/release-notes/sdk/net/3-42-0)
Added
* Apple Pay and Google Pay recurring pay-ins
* Newly named recurring pay-in registration methods for cards
* PayPal deposit preauthorizations
* Deposit preauthorization types and methods with cleaner names
* `DateFilterBy` on `ReportPostDTO`
* Local Virtual Account properties for DK, AU, LI
Deprecated
* Card-prefixed recurring registration methods
* Card-prefixed deposit preauthorization methods
Changed
* `CurrentState` moved to `RecurringPayInRegistrationDTO`
* `MethodKey` renamed
## 3.41.0 - Mar 30, 2026
#### [3.41.0 - Mar 30, 2026](/release-notes/sdk/net/3-41-0)
Breaking change
* Idempotency resource mapping overhaul
* Payconiq PayIn removed following discontinuation
Added
* Klarna discount property on line items
---
## 3.40.0 - Mar 23, 2026
### Added
#### Support for mTLS authentication
To support mTLS authentication for [SCA on platforms](/guides/sca/platform), which is required for platforms taking [SCA-triggering action under proxy](/guides/sca/proxy-management):
* Added `ClientCertificate`, `ClientCertificateString`, `ClientCertificatePassword` to `Configuration.cs`
* Added `GetEffectiveCertificate()` method to `Configuration.cs` which returns an instance of `X509Certificate2` based on the provided configuration
* Updated the `RestSharpDto()` method in `RestTool.cs` to take account for the certificate
* Moved global `private readonly RestClientOptions _options;` to a local variable inside the `RestSharpDto()` method
* Updated the `GetInstance()` to include the certificate param (optional)
* Updated `README.md` file with details on [how to configure mTLS for the SDK](/guides/sca/platform#4-integrate-mtls-in-the-sdk)
**Note:** The SDK requires **TLS 1.2+** for TLS compliance, even for non-mTLS connections, in line with [Mangopay's security guidelines](/security#2-a-tls-and-https).
## 3.39.1 - Feb 23, 2026
### Added
#### ChargeBearer body parameter on payouts
On [POST Create a Payout](/api-reference/payouts/create-payout), platforms can now request to pay all SWIFT fees using the `OUR` value of the new `ChargeBearer` property ([API release note](/release-notes/api/2026-02-16)):
* Added `ChargeBearer` param (String) to `PayOutDTO` and `PayOutBankWirePostDTO` classes
* Updated tests
### Added
#### AuthenticationType response property on card pay-ins
The `AuthenticationResult.AuthenticationType` response property is now returned on card pay-ins ([API release note](/release-notes/api/2026-02-23)):
* Added the `AuthenticationResult` class
* Added `AuthenticationResult` param (Object containing AuthenticationType) to `CardPreAuthorizationDTO`, `CardValidationDTO`, `DepositDTO`, `ApplePayDirectPayInDTO`, `GooglePayDirectPayInDTO`, `PayInCardDirectDTO`, `PayInCardWebDTO`, `PayInGooglePayDirectDTO`, `RecurringPayInDTO` classes
* Updated tests
### Added
#### TelephoneOrder body parameter on recurring card pay-ins (CIT and MIT)
To support the `TelephoneOrder` property on [POST Create a Recurring PayIn](/api-reference/recurring-card-payins/create-recurring-card-payin) (both CIT and MIT payloads):
* Added `PaymentCategory` (String) to `RecurringPayInCITPostDTO`, `RecurringPayInMITPostDTO`, `RecurringPayInDTO` classes
* Updated tests
## 3.39.0 - Feb 12, 2026
### FX
### Breaking change
#### Custom fees
To support percentage-based FX fees ([API release note](/release-notes/api/2026-02-11)):
> **Warning**
>
> **Caution - Breaking change**
>
> * The `InstantConversionPostDTO.Fees` type is now `CustomFees` instead of `Money`
* Added `Fees` to `ConversionQuotePostDTO`
* Added `Fees, RequestedFees` to `ConversionQuoteDTO`
* Added `RequestedFees` to `ConversionDTO`
### Added
#### User margin
To support the FX user margin ([API release note](/release-notes/api/2026-02-11)):
* Added `UserMargin` to `ConversionQuotePostDTO`, `InstantConversionPostDTO`
* Added `MarginsResponse` to `ConversionDTO`, `ConversionQuoteDTO`
### Echo
### Breaking change
#### Settlement upload endpoints
To support the new behavior of the [POST Create a Settlement](/api-reference/settlements/create-settlement) endpoint to obtain an `UploadUrl`:
* Updated `settlement_sample.csv` and tests
> **Warning**
>
> **Caution - Breaking change**
>
> * Replaced `upload` method in `ApiSettlements` with `GenerateUploadUrl`:
>
> ```c# .NET
> var dto = new GenerateSettlementUploadUrlPostDTO { FileName = "settlement_sample.csv" };
> await Api.ApiSettlements.GenerateUploadUrl(dto);
> ```
> **Warning**
>
> **Caution - Breaking change**
>
> * Replaced `update` method in `ApiSettlements` with: `GenerateNewUploadUrl`
>
> ```c# .NET
> var dto = new GenerateSettlementUploadUrlPutDTO { FileName = "settlement_sample_new.csv" };
> await Api.ApiSettlements.GenerateNewUploadUrl(dto, settlement.SettlementId);
> ```
* Added `FileName` and `UploadUrl` to `IntentSettlementDTO`
* Added `GenerateSettlementUploadUrlPostDTO` class
* Added `GenerateSettlementUploadUrlPutDTO` class
### Added
#### GET validations for a Settlement endpoint
To support the [GET View validation errors for a Settlement](/api-reference/settlements/view-settlement-validations) endpoint:
* Added `SettlementValidationDTO, SettlementValidationFooterDTO`, `SettlementValidationLineDTO` classes
* Added `GetValidations` method to `ApiSettlements`
**`.NET`**
```c# .NET
await Api.ApiSettlements.GetValidations(settlement.SettlementId);
```
#### PUT Cancel a Settlement endpoint
To support the [PUT Cancel a Settlement](/api-reference/settlements/cancel-settlement) endpoint:
* Added `Cancel` method to `ApiSettlements`
**`.NET`**
```c# .NET
await Api.ApiSettlements.Cancel(settlement.SettlementId);
```
#### Intent unfunded amounts and source wallet
* Added `SplitOriginWalletId` to `PayInIntentLineItem` and `PayInIntentSplitPostDTO`
* Added `UnfundedSellerAmount` to `PayInIntentLineItem`
* Added `UnfundedAmount` to `PayInIntentDTO`, `PayInIntentAuthorizationPostDTO`
#### POST Create an Intent Refund
To support [POST Create an Intent Refund](/api-reference/intents/create-intent-refund):
* Added `PayInIntentRefund` and `PayInIntentCapture` to `PayInIntentDTO`
* Added `CreatePayInIntentPartialRefundAsync`, `CreatePayInIntentFullRefundAsync` methods to `ApiPayIns`
* Added `PayInIntentPartialRefundPostDTO`, `PayInIntentFullRefundPostDTO` classes
**`.NET`**
```c# .NET
await Api.PayIns.CreatePayInIntentPartialRefundAsync(dto, intent.Id);
await Api.PayIns.CreatePayInIntentFullRefundAsync(dto, intent.Id);
```
#### POST Reverse an Intent Refund
To support [POST Reverse an Intent Refund](/api-reference/intents/create-intent-refund):
* Added `FullReversePayInIntentRefundPostDTO`, `PartialReversePayInIntentRefundPostDTO` classes
* Added `FullReversePayInIntentRefundAsync`, `PartialReversePayInIntentRefundAsync` methods to `ApiPayIns`
**`.NET`**
```c# .NET
await Api.PayIns.PartialReversePayInIntentRefundAsync(dto, intent.Id, intent.Refund.Id);
await Api.PayIns.FullReversePayInIntentRefundAsync(dto, intent.Id, intent.Refund.Id);
```
#### POST Create an Intent Dispute
To support [POST Create an Intent Dispute](/api-reference/intents/create-intent-refund):
* Added `PayInIntentDispute` to `PayInIntentDTO`
* Added `PayInIntentPartialDisputePostDTO`, `PayInIntentFullDisputePostDTO` classes
* Added `CreateFullPayInIntentDisputeAsync`, `CreatePartialPayInIntentDisputeAsync` methods to `ApiPayIns`
**`.NET`**
```c# .NET
await Api.PayIns.CreateFullPayInIntentDisputeAsync(dto, intent.Id, intent.Capture.Id);
await Api.PayIns.CreatePartialPayInIntentDisputeAsync(dto, intent.Id, intent.Capture.Id);
```
#### PUT Update an Intent Dispute
To support [PUT Update an Intent Dispute](/api-reference/intents/create-intent-dispute):
* Added `Decision` to `PayInIntentDTO`
* Added `DisputeOutcomePutDTO` class
* Added `UpdatePayInIntentDisputeOutcomeAsync` method to `ApiPayIns`
**`.NET`**
```c# .NET
await Api.PayIns.UpdatePayInIntentDisputeOutcomeAsync(putDto, intent.Id, intent.Capture.Id, intent.Dispute.Id);
```
## 3.38.0 - Jan 30, 2026
### Added
#### Support for new SCA status endpoint
The SDK now supports the new [GET View the SCA status of a User](/api-reference/users/view-user-sca-status) endpoint.
Added MangoPay.SDK/Entities/GET/ConsentScopeDTO.cs:
```csharp
public class ConsentScopeDTO
{
public string ContactInformationUpdate { get; set; }
public string RecipientRegistration { get; set; }
public string Transfer { get; set; }
public string ViewAccountInformation { get; set; }
}
```
Added MangoPay.SDK/Entities/GET/ScaStatusDTO.cs:
```csharp
public class ScaStatusDTO : EntityBase
{
public string UserStatus { get; set; }
public bool IsEnrolled { get; set; }
[JsonConverter(typeof(UnixDateTimeConverter))]
public DateTime? LastEnrollmentDate { get; set; }
[JsonConverter(typeof(UnixDateTimeConverter))]
public DateTime? LastConsentCollectionDate { get; set; }
public ConsentScopeDTO ConsentScope { get; set; }
}
```
Added new method in MangoPay.SDK/Core/APIs/ApiUsers.cs:
```csharp
///
/// Get SCA status
///
/// User identifier
/// ScaStatusDTO instance
public async Task GetScaStatusAsync(string userId)
{
return await this.GetObjectAsync(MethodKey.UsersScaStatusGet, entitiesId: userId);
}
```
#### New event types
Added new values to MangoPay.SDK/Core/Enumerations/EventType.cs:
```csharp
namespace MangoPay.SDK.Core.Enumerations
{
/// Event types enumeration.
public enum EventType
{
SCA_CONTACT_INFORMATION_UPDATE_CONSENT_GIVEN,
SCA_CONTACT_INFORMATION_UPDATE_CONSENT_REVOKED,
SCA_TRANSFER_CONSENT_GIVEN,
SCA_TRANSFER_CONSENT_REVOKED,
SCA_RECIPIENT_REGISTRATION_CONSENT_GIVEN,
SCA_RECIPIENT_REGISTRATION_CONSENT_REVOKED,
SCA_VIEW_ACCOUNT_INFORMATION_CONSENT_GIVEN,
SCA_VIEW_ACCOUNT_INFORMATION_CONSENT_REVOKED,
SCA_EMAIL_VERIFIED,
SCA_PHONE_NUMBER_VERIFIED,
}
}
```
#### RecipientId property on payouts
The SDK now supports the `RecipientId` property on payouts:
* Updated MangoPay.SDK/Entities/GET/PayOutBankWireDTO.cs (marked `BankAccountId` nullable and added `RecipientId`)
* Updated MangoPay.SDK/Entities/POST/PayOutBankWirePostDTO.cs (marked `BankAccountId` nullable and added `RecipientId`)
* Updated corresponding tests
## 3.37.0 - Nov 28, 2025
### Changed
* Migrated to V4 naming convention
## 3.36.1 - Nov 25, 2025
### Added
* Support for `ScaContext` on [POST Create a Recipient](/api-reference/recipients/create-recipient) for platforms taking action by [proxy with consent](/guides/sca/proxy-management) from the user ([API release note](/release-notes/api/2025-11-17))
## 3.36.0 - Oct 28, 2025
### Added
* New [POST Manage proxy consent for a User](/api-reference/users/manage-proxy-consent) endpoint to obtain and manage user consent via the hosted SCA experience (if proxy is activated). A proxy and user consent are now required to use the `USER_NOT_PRESENT` value for `ScaContext` ([API release note](/release-notes/api/2025-10-23))
* `ScaContext` request parameter newly added on all user POST and PUT endpoints, enabling the platform to request these actions with `USER_NOT_PRESENT` – provided the proxy is in place, activated, and the user has given consent ([API release note](/release-notes/api/2025-10-23#sca%3A-scacontext-request-parameter-on-user-endpoints))
* Support for the `Licensor` property on [GET View a Client](/api-reference/client/view-client)
### Changed
* `x-tenant-id` deprecated as no longer necessary for UK platforms; the parameter is ignored by Mangopay
## 3.35.0 - Oct 1, 2025
### Added
* [Verification of Payee (VOP)](/guides/vop/recipients-payouts) API response fields (`RecipientVerificationOfPayee` and sub-properties) on the endpoints [GET View a Recipient](/api-reference/recipients/view-recipient), [POST Create a Recipient](/api-reference/recipients/create-recipient), [POST Create a Payout](/api-reference/payouts/create-payout) ([API release note](/release-notes/api/2025-09-30))
* Support for the [POST Cancel an Intent](/api-reference/intents/cancel-intent) endpoint for [Echo](/guides/echo), Mangopay's solution for platforms working with another third-party PSP for funds acquisition
* Support for [POST Submit data for a PayPal PayIn](/api-reference/paypal/submit-data-paypal-payin) endpoint
## 3.34.3 - Sep 23, 2025
### Added
* Support for `ProfilingAttemptReference` on all payment methods for Mangopay's Fraud Prevention solution
* Webhook event types for [Echo](/guides/echo), Mangopay's solution for third-party PSP integrations: `INTENT_AUTHORIZED`,`INTENT_CAPTURED`,`INTENT_REFUNDED`,`INTENT_REFUND_REVERSED`,`INTENT_DISPUTE_CREATED`,`INTENT_DISPUTE_DEFENDED`,`INTENT_DISPUTE_WON`,`INTENT_DISPUTE_LOST`,`INTENT_SETTLED_NOT_PAID`,`INTENT_PAID`,`SPLIT_CREATED`,`SPLIT_PENDING_FUNDS_RECEPTION`,`SPLIT_AVAILABLE`,`SPLIT_REJECTED`,`SPLIT_REVERSED`
* Support for `VirtualAccountPurpose` on Banking Alias object
## 3.34.2 - Sep 3, 2025
### Added
* Support for missing properties on `UserDTO` base class: `UserCategory`, `TermsAndConditionsAccepted`, `TermsAndConditionsAcceptedDate` (the properties have been moved to `UserDTO`)
* Support for missing `DisputeReasonType` enum value
### Changed
* OAuth token refresh buffer before expiry updated to 30s
* Removed unused `ApiPermissionGroups` and `ApiSingleSignOn`, API endpoints no longer available
### Fixed
* Error parsing to avoid `ArgumentNullException`
* Tests
## 3.34.1 - Aug 14, 2025
### Added
* Support for [POST Create a Quoted Conversion between Client Wallets](/api-reference/conversions/create-quoted-conversion-client-wallets) and [POST Create an Instant Conversion between Client Wallets](/api-reference/conversions/create-instant-conversion-client-wallets)
## 3.34.0 - Aug 7, 2025
### Added
Support for new Splits endpoints for Echo ([API release note](/release-notes/api/2025-07-16)):
* [PUT Update an Intent Split](/api-reference/intents/update-intent-split)
* [POST Execute an Intent Split](/api-reference/intents/execute-intent-split)
* [POST Reverse an Intent Split](/api-reference/intents/reverse-intent-split)
* [GET View an Intent Split](/api-reference/intents/view-intent-split)
New `ReportTypes` for Echo ([API release note](/release-notes/api/2025-08-06)):
* `ECHO_INTENT`
* `ECHO_INTENT_ACTION`
* `ECHO_SETTLEMENT`
* `ECHO_SPLIT`
## 3.33.1 - Jul 28, 2025
### Added
* `Sku` parameter on LineItem, for [Klarna PayIns](/api-reference/klarna/create-klarna-payin)
* handle new endpoint [View supported banks for Pay by Bank](/api-reference/pay-by-bank/view-supported-banks-pay-by-bank), to enable presentation of banks to user before Pay by Bank payment request
## 3.33.0 - Jul 18, 2025
### Added
Endpoints for [Mangopay Echo](/guides/echo), a solution for platforms working with another third-party PSP for funds acquisition (including via the Mirakl Connector):
* [POST Create an Intent](/api-reference/intents/create-intent)
* [GET View an Intent](/api-reference/intents/view-intent)
* [POST Create a Capture for an Intent](/api-reference/intents/create-intent-capture)
* [POST Create a Settlement](/api-reference/settlements/create-settlement)
* [PUT Update a Settlement](/api-reference/settlements/update-settlement)
* [GET View a Settlement](/api-reference/settlements/view-settlement)
* [POST Create an Intent Split](/api-reference/intents/create-intent-split)
## 3.32.0 - Jun 16, 2025
### Added
* New endpoint [POST Create a Bizum PayIn](/api-reference/bizum/create-bizum-payin)
* New webhook event types for SCA enrollment ([API release note](/release-notes/api/2025-06-23)), note that these are triggered on enrollment not authentication:
* `SCA_ENROLLMENT_SUCCEEDED`
* `SCA_ENROLLMENT_FAILED`
* `SCA_ENROLLMENT_EXPIRED`
* New webhook event types for `UserCategory` change ([API release note](/release-notes/api/2025-06-23)):
* `USER_CATEGORY_UPDATED_TO_OWNER`
* `USER_CATEGORY_UPDATED_TO_PAYER`
* `USER_CATEGORY_UPDATED_TO_PLATFORM`
* Support for `PLATFORM` value to `UserCategory` enum
* Support for [GET List Transactions for a Card Fingerprint](/api-reference/transactions/list-transactions-card-fingerprint)
## 3.31.1 - Jun 16, 2025
### Added
* [US and CA virtual accounts](/release-notes/api/2025-06-12) for local pay-in collection
## 3.31.0 - Jun 10, 2025
### Added
Endpoints for [new Reporting Service](/release-notes/api/2025-06-05) feature:
* [POST Create a Report](/api-reference/reporting/create-report)
* [GET View a Report](/api-reference/reporting/view-report)
* [GET List all Reports](/api-reference/reporting/list-reports)
Webhook [event types](/webhooks/event-types) for new Reporting Service:
* `REPORT_GENERATED`
* `REPORT_FAILED`
Support for [GET List Disputes for a PayIn](/api-reference/disputes/list-disputes-payin) endpoint.
## 3.30.1 - Jun 6, 2025
### Added
* Support for `RecipientScope` query parameter on [GET List Recipients for a User](/api-reference/recipients/list-recipients-user)
* [POST Validate the format of User data](/api-reference/user-data-format/validate-user-data-format)
### Fixed
* `Status` enum value on Identity Verification object changed from `OUTDATED` to `OUT_OF_DATE`