---
title: "Create a Web Direct-Debit PayIn"
method: POST
path: "/v2.01/{ClientId}/payins/directdebit/web"
tags: ["webDirectDebitPayins"]
deprecated: true
---

# Create a Web Direct-Debit PayIn

`POST /v2.01/{ClientId}/payins/directdebit/web`

> **Deprecated.**

<Warning icon="fa-regular fa-triangle-exclamation">
**Warning – Deprecated endpoint**

This endpoint is deprecated and will be removed. Both payment methods available via this endpoint, Sofort and Giropay, are no longer available.
</Warning>

<Warning icon="fa-regular fa-triangle-exclamation">
**Warning – Giropay no longer available after June 30, 2024**

Giropay's operator Paydirekt has decided to cease the payment method's services at the end of June, without providing a direct alternative. This decision by Paydirekt impacts the entire industry and is beyond our control.

Effective July 1, 2024: 
- Pay-ins will fail with the <a href="/errors/codes/101101">101101</a> error
- Refunds will be possible for one year 

This change affects both the <a href="/api-reference/giropay">new</a> integration and this legacy one.

Our team is ready to assist you with your integration of alternatives like <a href="/guides/payment-methods/klarna">Klarna</a>, <a href="/guides/payment-methods/paypal">PayPal</a>, or <a href="/guides/payment-methods/banking/virtual-iban">virtual IBANs</a> for the German market. Please reach out <a href="https://hub.mangopay.com/" target="_blank">via the Dashboard</a>. 
</Warning>

<Warning icon="fa-regular fa-triangle-exclamation">
**Caution – Sofort no longer available after June 1, 2024** 

These endpoints are the legacy integration of Sofort with Mangopay (`DirectDebitType` is `SOFORT`).  

As of June 1, 2024, the Sofort payment method was no longer available with Mangopay. Klarna acquired deprecated the Sofort brand and technical solution.

Platforms looking for Sofort are invited to integrate [Klarna](/guides/payment-methods/klarna).
</Warning>

## Path parameters

- `ClientId` string, required

## Headers

- `Authorization` string, required

## Request body

- DeprecatedCreateAWebDirectDebitPayInRequest
  - `DirectDebitType` string, required — **Allowed values:** `GIROPAY`, `SOFORT` The type of direct debit.
  - `Tag` string — Max. length: 255 characters Custom data that you can add to this object.
  - `AuthorId` string, required — The unique identifier of the user at the source of the transaction.
  - `CreditedUserId` string — **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited.
  - `DebitedFunds` DeprecatedCreateAWebDirectDebitPayInRequestDebitedFunds, required — Information about the debited funds.
    - `Currency` string, required — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer, required — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `Fees` DeprecatedCreateAWebDirectDebitPayInRequestFees, required — Information about the fees.
    - `Currency` string, required — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer, required — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `CreditedWalletId` string, required — The unique identifier of the credited wallet.
  - `FlowDescriptor` FlowDescriptorRequest — Information about the Owner beneficiaries targeted by the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made ([read more](/guides/payin-beneficiaries)). If the `FlowDescriptor.Beneficiaries` is sent in the API request, then: - The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks. - **ALL** `UserId` values in the array must be one of: - `OWNER` whose `KYCLevel` is `REGULAR` - `PLATFORM` The pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is: - `PAYER` - `OWNER` whose `KYCLevel` is `LIGHT` If the `FlowDescriptor.Beneficiaries` is not sent in the API request, then the `CreditedWalletId` holder is subject to KYC/KYB checks. This property is optional for backwards compatibility but is recommended for all pay-in flows, even when the `CreditedWalletId` holder is a `PAYER` or the same value as one of the `FlowDescriptor.Beneficiaries`.
    - `Beneficiaries` FlowDescriptorRequestBeneficiariesItems[], nullable — Max. length: 5 items The list of up to 5 Natural or Legal Users declared as beneficiaries of the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made. The pay-in also fails if the `Beneficiaries` array contains nulled objects or invalid `UserId` values.
      - `UserId` string — The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
  - `ReturnURL` string, required — Max. length: 220 characters The URL to which the user is returned after the payment, whether the transaction is successful or not.
  - `TemplateURLOptions` DeprecatedCreateAWebDirectDebitPayInRequestTemplateUrlOptions — **Caution:** This customization feature is deprecated and must no longer be used. The URL of the SSL page of your customized payment page.
    - `PaylineV2` string — **Caution:** This customization feature is deprecated and must no longer be used. The URL of the corresponding template with the Javascript widget.
  - `Culture` string, required — **Allowed values:** One of the supported languages in the [ISO 639-1 format](/api-reference/overview/data-formats): CS, DA, DE, EL, EN, ES, FI, FR, HU, IT, NL, NO, PL, PT, SK, SV. The language in which the payment page is to be displayed.
  - `ProfilingAttemptReference` string — The unique reference generated for the profiling session, used by the <a href="/guides/fraud-prevention">fraud prevention</a> solution to produce recommendations for the transaction using the profiling data. **Note:** Parameter not returned by the API. Profiling feature available on request – contact Mangopay <a href="https://hub.mangopay.com/" target="_blank">via the Dashboard</a> for more information.

## Response `200`

Success

- DeprecatedWebDirectDebitPayInResponse — A web direct debit pay-in: - `PaymentType` – `DIRECT_DEBIT` - `ExecutionType` – `WEB`
  - `DirectDebitType` string — **Returned values:** `GIROPAY`, `SOFORT` The type of direct debit.
  - `Id` string — Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object.
  - `Tag` string — Max. length: 255 characters Custom data that you can add to this object.
  - `CreationDate` integer — Unix timestamp (UTC) of the date and time the object was created.
  - `ResultCode` string — The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.
  - `ResultMessage` string — The explanation of the result code.
  - `AuthorId` string — The unique identifier of the user at the source of the transaction.
  - `CreditedUserId` string — **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited.
  - `FlowDescriptor` FlowDescriptorResponse — Information about the Owner beneficiaries targeted by the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made ([read more](/guides/payin-beneficiaries)). If the `FlowDescriptor.Beneficiaries` is sent in the API request, then: - The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks. - **ALL** `UserId` values in the array must be one of: - `OWNER` whose `KYCLevel` is `REGULAR` - `PLATFORM` The pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is: - `PAYER` - `OWNER` whose `KYCLevel` is `LIGHT` If the `FlowDescriptor.Beneficiaries` is not sent in the API request, then the `CreditedWalletId` holder is subject to KYC/KYB checks. This property is optional for backwards compatibility but is recommended for all pay-in flows, even when the `CreditedWalletId` holder is a `PAYER` or the same value as one of the `FlowDescriptor.Beneficiaries`.
    - `FlowId` string — Unique identifier of the payment flow, used by Mangopay for internal purposes.
    - `Beneficiaries` FlowDescriptorResponseBeneficiariesItems[], nullable — Max. length: 5 items The list of up to 5 Natural or Legal Users declared as beneficiaries of the pay-in, who must all be KYC/KYB verified when the pay-in request is made. The pay-in also fails if the `Beneficiaries` array contains nulled objects or invalid `UserId` values.
      - `UserId` string — The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
  - `DebitedFunds` DeprecatedWebDirectDebitPayInResponseDebitedFunds — Information about the debited funds.
    - `Currency` string — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `CreditedFunds` DeprecatedWebDirectDebitPayInResponseCreditedFunds — Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
    - `Currency` string — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `Fees` DeprecatedWebDirectDebitPayInResponseFees — Information about the fees.
    - `Currency` string — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `Status` string — **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED` The status of the transaction.
  - `ExecutionDate` integer — Unix timestamp (UTC) of the date and time the status changed to `SUCCEEDED`, indicating that the transaction occurred. The statuses `CREATED` and `FAILED` return an `ExecutionDate` of `null`.
  - `Type` string — **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT` The type of the transaction.
  - `Nature` string — **Returned values:** `REGULAR`, `REPUDIATION`, `REFUND`, `SETTLEMENT` The nature of the transaction, providing more information about the context in which the transaction occurred: - `REGULAR` – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow. - `REPUDIATION` – Automatic withdrawal of funds from the platform's repudiation wallet as part of the dispute process (when the user has requested a chargeback). - `REFUND` – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay). - `SETTLEMENT` – Transfer made to the repudiation wallet by the platform to settle a lost dispute.
  - `CreditedWalletId` string — The unique identifier of the credited wallet.
  - `DebitedWalletId` string — The unique identifier of the debited wallet. In the case of a pay-in, this value is always `null` since there is no debited wallet.
  - `PaymentType` string — **Returned values:** `DIRECT_DEBIT` The payment type of the pay-in.
  - `ExecutionType` string — **Returned values:** `WEB` The execution type of the pay-in.
  - `RedirectURL` string — The URL to which to redirect the user to complete the payment. **Caution:** This variable URL is specific to each payment. You must rely on the returned URL in full (host, path, and queries) and not hardcode any part of it.
  - `ReturnURL` string — Max. length: 220 characters The URL to which the user is returned after the payment, whether the transaction is successful or not.
  - `TemplateURL` string — **Caution:** This customization feature is deprecated and must no longer be used. You must redirect on the `RedirectURL` instead. The customized URL to which to redirect the user to complete the payment.
  - `Culture` string — **Returned values:** One of the supported languages in the [ISO 639-1 format](/api-reference/overview/data-formats): CS, DA, DE, EL, EN, ES, FI, FR, HU, IT, NL, NO, PL, PT, SK, SV. The language in which the payment page is to be displayed.

---

[API](https://skmtc.dev/mangopay/apis/api-reference.md) · [All operations](https://skmtc.dev/mangopay/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mangopay/api-reference/revisions/fafbd0c69654/schema)
