> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# .NET SDK

**Package:** <a href="https://www.nuget.org/packages/mangopay4-net-sdk" target="_blank">mangopay4-net-sdk</a>

***

<div class="release-notes-cards">
  ## 3.42.0 - May 21, 2026

  <Card title="3.42.0 - May 21, 2026" href="/release-notes/sdk/net/3-42-0">
    <div class="pill pill-green">Added</div>

    * 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

    <div class="pill pill-orange">Deprecated</div>

    * Card-prefixed recurring registration methods
    * Card-prefixed deposit preauthorization methods

    <div class="pill pill-orange">Changed</div>

    * `CurrentState` moved to `RecurringPayInRegistrationDTO`
    * `MethodKey` renamed
  </Card>

  ## 3.41.0 - Mar 30, 2026

  <Card title="3.41.0 - Mar 30, 2026" href="/release-notes/sdk/net/3-41-0">
    <div class="pill pill-red">Breaking change</div>

    * Idempotency resource mapping overhaul
    * Payconiq PayIn removed following discontinuation

    <div class="pill pill-green">Added</div>

    * Klarna discount property on line items
  </Card>
</div>

***

## 3.40.0 - Mar 23, 2026

### <div class="pill pill-green">Added</div>

#### 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

### <div class="pill pill-green">Added</div>

#### 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

### <div class="pill pill-green">Added</div>

#### 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

### <div class="pill pill-green">Added</div>

#### TelephoneOrder body parameter on recurring card pay-ins (CIT and MIT)

To support the `TelephoneOrder` property on [POST Create a Recurring PayIn (MIT)](/api-reference/recurring-card-payins/create-recurring-payin-cit) and [POST Create a Recurring PayIn (CIT)](/api-reference/recurring-card-payins/create-recurring-payin-mit):

* Added `PaymentCategory` (String) to `RecurringPayInCITPostDTO`, `RecurringPayInMITPostDTO`, `RecurringPayInDTO` classes
* Updated tests

## 3.39.0 - Feb 12, 2026

### FX

### <div class="pill pill-red">Breaking change</div>

#### 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`
</Warning>

* Added `Fees` to `ConversionQuotePostDTO`
* Added `Fees, RequestedFees` to `ConversionQuoteDTO`
* Added `RequestedFees` to `ConversionDTO`

### <div class="pill pill-green">Added</div>

#### 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

### <div class="pill pill-red">Breaking change</div>

#### 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 theme={null}
  var dto = new GenerateSettlementUploadUrlPostDTO { FileName = "settlement_sample.csv" };
  await Api.ApiSettlements.GenerateUploadUrl(dto);
  ```
</Warning>

<Warning>
  **Caution - Breaking change**

  * Replaced `update` method in `ApiSettlements` with: `GenerateNewUploadUrl`

  ```c# .NET theme={null}
  var dto = new GenerateSettlementUploadUrlPutDTO { FileName = "settlement_sample_new.csv" };
  await Api.ApiSettlements.GenerateNewUploadUrl(dto, settlement.SettlementId);
  ```
</Warning>

* Added `FileName` and `UploadUrl` to `IntentSettlementDTO`
* Added `GenerateSettlementUploadUrlPostDTO` class
* Added `GenerateSettlementUploadUrlPutDTO` class

### <div class="pill pill-green">Added</div>

#### GET validations for a Settlement endpoint

To support the [GET View validations for a Settlement](/api-reference/settlements/view-settlement-validations) endpoint:

* Added `SettlementValidationDTO, SettlementValidationFooterDTO`, `SettlementValidationLineDTO` classes
* Added `GetValidations` method to `ApiSettlements`

```c# .NET theme={null}
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`

```c# .NET theme={null}
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

```c# .NET theme={null}
 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`

```c# .NET theme={null}
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`

```c# .NET theme={null}
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`

```c# .NET theme={null}
await Api.PayIns.UpdatePayInIntentDisputeOutcomeAsync(putDto, intent.Id, intent.Capture.Id, intent.Dispute.Id);
```

## 3.38.0 - Jan 30, 2026

### <div class="pill pill-green">Added</div>

#### 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 theme={null}
   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 theme={null}
   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 theme={null}

       /// <summary>
       /// Get SCA status
       /// </summary>
       /// <param name="userId">User identifier</param>
       /// <returns>ScaStatusDTO instance</returns>
       public async Task<ScaStatusDTO> GetScaStatusAsync(string userId)
       {
           return await this.GetObjectAsync<ScaStatusDTO>(MethodKey.UsersScaStatusGet, entitiesId: userId);
       }
```

#### New event types

Added new values to MangoPay.SDK/Core/Enumerations/EventType.cs:

```csharp theme={null}
namespace MangoPay.SDK.Core.Enumerations
{
    /// <summary>Event types enumeration.</summary>
    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

### <div class="pill pill-orange">Changed</div>

* Migrated to V4 naming convention

## 3.36.1 - Nov 25, 2025

### <div class="pill pill-green">Added</div>

* 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

### <div class="pill pill-green">Added</div>

* 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)

### <div class="pill pill-orange">Changed</div>

* `x-tenant-id` deprecated as no longer necessary for UK platforms; the parameter is ignored by Mangopay

## 3.35.0 - Oct 1, 2025

### <div class="pill pill-green">Added</div>

* [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

### <div class="pill pill-green">Added</div>

* 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

### <div class="pill pill-green">Added</div>

* Support for missing properties on `UserDTO` base class: `UserCategory`, `TermsAndConditionsAccepted`, `TermsAndConditionsAcceptedDate` (the properties have been moved to `UserDTO`)
* Support for missing `DisputeReasonType` enum value

### <div class="pill pill-orange">Changed</div>

* OAuth token refresh buffer before expiry updated to 30s
* Removed unused `ApiPermissionGroups` and `ApiSingleSignOn`, API endpoints no longer available

### <div class="pill pill-blue">Fixed</div>

* Error parsing to avoid `ArgumentNullException`
* Tests

## 3.34.1 - Aug 14, 2025

### <div class="pill pill-green">Added</div>

* 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

### <div class="pill pill-green">Added</div>

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

### <div class="pill pill-green">Added</div>

* `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

### <div class="pill pill-green">Added</div>

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

### <div class="pill pill-green">Added</div>

* 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

### <div class="pill pill-green">Added</div>

* [US and CA virtual accounts](/release-notes/api/2025-06-12) for local pay-in collection

## 3.31.0 - Jun 10, 2025

### <div class="pill pill-green">Added</div>

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#reports) 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

### <div class="pill pill-green">Added</div>

* 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)

### <div class="pill pill-blue">Fixed</div>

* `Status` enum value on Identity Verification object changed from `OUTDATED` to `OUT_OF_DATE`
