Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Reference Web Direct Debit Payins API
version: 1.0.0
servers:
- url: https://api.sandbox.mangopay.com
description: Sandbox
- url: https://api.mangopay.com
description: Production
- url: https://api-mtls.sandbox.mangopay.com
description: mTLS Sandbox
- url: https://api-mtls.mangopay.com
description: mTLS Production
- url: '%7BCardRegistrationUrl%7D'
description: "The full dynamic URL returned by the Create a Card Registration call, including host, path, and query parameters. \n"
- url: '%7BSettlementFileUploadUrl%7D'
description: 'The unique URL returned by the [POST Create a Settlement and secure URL](/api-reference/settlements/create-settlement) endpoint.
**Note:** Use the full dynamic URL including the host, path, and all query parameters. The URL is already authenticated, so this call does not require an Authorization header.
'
tags:
- name: webDirectDebitPayins
paths:
/v2.01/{ClientId}/payins/directdebit/web:
post:
operationId: webDirectDebitPayins_create_web_direct_debit_payin
summary: Create a Web Direct-Debit PayIn
description: '**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 – 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 101101 error
- Refunds will be possible for one year
This change affects both the new integration and this legacy one.
Our team is ready to assist you with your integration of alternatives like Klarna, PayPal, or virtual IBANs for the German market. Please reach out via the Dashboard.
**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.'
tags:
- webDirectDebitPayins
parameters:
- name: ClientId
in: path
description: Platform's API account identifier, associated with the API key.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeprecatedWebDirectDebitPayInResponse'
deprecated: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeprecatedCreateAWebDirectDebitPayInRequest'
security:
- oauth2: []
components:
schemas:
Amount:
type: integer
description: 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`.
title: Amount
FlowDescriptorRequestBeneficiariesItems:
type: object
properties:
UserId:
type: string
description: The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
title: FlowDescriptorRequestBeneficiariesItems
DeprecatedWebDirectDebitPayInResponse:
type: object
properties:
DirectDebitType:
type: string
description: '**Returned values:** `GIROPAY`, `SOFORT`
The type of direct debit.'
Id:
$ref: '#/components/schemas/Id'
Tag:
$ref: '#/components/schemas/Tag'
CreationDate:
$ref: '#/components/schemas/CreationDate'
ResultCode:
$ref: '#/components/schemas/ResultCode'
ResultMessage:
$ref: '#/components/schemas/ResultMessage'
AuthorId:
$ref: '#/components/schemas/AuthorId'
CreditedUserId:
$ref: '#/components/schemas/CreditedUserId'
FlowDescriptor:
$ref: '#/components/schemas/FlowDescriptorResponse'
DebitedFunds:
$ref: '#/components/schemas/DeprecatedWebDirectDebitPayInResponseDebitedFunds'
description: Information about the debited funds.
CreditedFunds:
$ref: '#/components/schemas/DeprecatedWebDirectDebitPayInResponseCreditedFunds'
description: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
Fees:
$ref: '#/components/schemas/DeprecatedWebDirectDebitPayInResponseFees'
description: Information about the fees.
Status:
$ref: '#/components/schemas/TransactionStatus'
ExecutionDate:
$ref: '#/components/schemas/TransactionExecutionDate'
Type:
$ref: '#/components/schemas/TransactionType'
Nature:
$ref: '#/components/schemas/TransactionNature'
CreditedWalletId:
type: string
description: The unique identifier of the credited wallet.
DebitedWalletId:
type: string
description: '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:
type: string
description: '**Returned values:** `DIRECT_DEBIT`
The payment type of the pay-in.'
ExecutionType:
type: string
description: '**Returned values:** `WEB`
The execution type of the pay-in.'
RedirectURL:
type: string
description: '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:
$ref: '#/components/schemas/ReturnURL_220'
TemplateURL:
type: string
description: '**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:
type: string
description: '**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.'
description: 'A web direct debit pay-in:
- `PaymentType` – `DIRECT_DEBIT`
- `ExecutionType` – `WEB`'
title: DeprecatedWebDirectDebitPayInResponse
DeprecatedWebDirectDebitPayInResponseDebitedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the debited funds.
title: DeprecatedWebDirectDebitPayInResponseDebitedFunds
DeprecatedCreateAWebDirectDebitPayInRequestDebitedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
required:
- Currency
- Amount
description: Information about the debited funds.
title: DeprecatedCreateAWebDirectDebitPayInRequestDebitedFunds
DeprecatedWebDirectDebitPayInResponseFees:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the fees.
title: DeprecatedWebDirectDebitPayInResponseFees
FlowDescriptorResponseBeneficiariesItems:
type: object
properties:
UserId:
type: string
description: The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
title: FlowDescriptorResponseBeneficiariesItems
TransactionExecutionDate:
type: integer
description: 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`.
title: TransactionExecutionDate
AuthorId:
type: string
description: The unique identifier of the user at the source of the transaction.
title: AuthorId
ProfilingAttemptReference:
type: string
description: '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.'
title: ProfilingAttemptReference
FlowDescriptorRequest:
type: object
properties:
Beneficiaries:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/FlowDescriptorRequestBeneficiariesItems'
description: '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.'
description: "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)).\n\nIf the `FlowDescriptor.Beneficiaries` is sent in the API request, then:\n- The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks.\n- **ALL** `UserId` values in the array must be one of:\n - `OWNER` whose `KYCLevel` is `REGULAR`\n - `PLATFORM`\n \nThe pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is:\n- `PAYER`\n- `OWNER` whose `KYCLevel` is `LIGHT`\n\nIf 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`. \n"
title: FlowDescriptorRequest
TransactionStatus:
type: string
description: '**Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`
The status of the transaction.'
title: TransactionStatus
DeprecatedCreateAWebDirectDebitPayInRequestFees:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
required:
- Currency
- Amount
description: Information about the fees.
title: DeprecatedCreateAWebDirectDebitPayInRequestFees
FlowDescriptorResponse:
type: object
properties:
FlowId:
type: string
description: Unique identifier of the payment flow, used by Mangopay for internal purposes.
Beneficiaries:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/FlowDescriptorResponseBeneficiariesItems'
description: '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.'
description: "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)).\n\nIf the `FlowDescriptor.Beneficiaries` is sent in the API request, then:\n- The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks.\n- **ALL** `UserId` values in the array must be one of:\n - `OWNER` whose `KYCLevel` is `REGULAR`\n - `PLATFORM`\n \nThe pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is:\n- `PAYER`\n- `OWNER` whose `KYCLevel` is `LIGHT`\n\nIf 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`.\n"
title: FlowDescriptorResponse
CreditedUserId:
type: string
description: '**Default value:** The unique identifier of the owner of the credited wallet.
The unique identifier of the user whose wallet is credited.'
title: CreditedUserId
Currency:
type: string
description: '**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.'
title: Currency
ResultMessage:
type: string
description: The explanation of the result code.
title: ResultMessage
TransactionNature:
type: string
description: '**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.'
title: TransactionNature
Tag:
type: string
description: 'Max. length: 255 characters
Custom data that you can add to this object, such as unique identifiers in your system. To store multiple values, you can serialize them into a single string, for example a JSON object: `"{\"id_1\":AB123,\"id_2\":DE456}"`.'
title: Tag
CreationDate:
type: integer
description: Unix timestamp (UTC) of the date and time the object was created.
title: CreationDate
DeprecatedCreateAWebDirectDebitPayInRequestTemplateUrlOptions:
type: object
properties:
PaylineV2:
type: string
description: '**Caution:** This customization feature is deprecated and must no longer be used.
The URL of the corresponding template with the Javascript widget.'
description: '**Caution:** This customization feature is deprecated and must no longer be used.
The URL of the SSL page of your customized payment page.'
title: DeprecatedCreateAWebDirectDebitPayInRequestTemplateUrlOptions
DeprecatedCreateAWebDirectDebitPayInRequest:
type: object
properties:
DirectDebitType:
type: string
description: '**Allowed values:** `GIROPAY`, `SOFORT`
The type of direct debit.'
Tag:
$ref: '#/components/schemas/Tag'
AuthorId:
$ref: '#/components/schemas/AuthorId'
CreditedUserId:
$ref: '#/components/schemas/CreditedUserId'
DebitedFunds:
$ref: '#/components/schemas/DeprecatedCreateAWebDirectDebitPayInRequestDebitedFunds'
description: Information about the debited funds.
Fees:
$ref: '#/components/schemas/DeprecatedCreateAWebDirectDebitPayInRequestFees'
description: Information about the fees.
CreditedWalletId:
type: string
description: The unique identifier of the credited wallet.
FlowDescriptor:
$ref: '#/components/schemas/FlowDescriptorRequest'
ReturnURL:
$ref: '#/components/schemas/ReturnURL_220'
TemplateURLOptions:
$ref: '#/components/schemas/DeprecatedCreateAWebDirectDebitPayInRequestTemplateUrlOptions'
description: '**Caution:** This customization feature is deprecated and must no longer be used.
The URL of the SSL page of your customized payment page.'
Culture:
type: string
description: '**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:
$ref: '#/components/schemas/ProfilingAttemptReference'
required:
- DirectDebitType
- AuthorId
- DebitedFunds
- Fees
- CreditedWalletId
- ReturnURL
- Culture
title: DeprecatedCreateAWebDirectDebitPayInRequest
Id:
type: string
description: 'Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)
The unique identifier of the object.'
title: Id
ReturnURL_220:
type: string
description: 'Max. length: 220 characters
The URL to which the user is returned after the payment, whether the transaction is successful or not.'
title: ReturnURL_220
ResultCode:
type: string
description: 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.
title: ResultCode
TransactionType:
type: string
description: '**Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT`
The type of the transaction.'
title: TransactionType
DeprecatedWebDirectDebitPayInResponseCreditedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
title: DeprecatedWebDirectDebitPayInResponseCreditedFunds
securitySchemes:
oauth2:
type: http
scheme: bearer
description: "Bearer authentication of the form `Bearer <token>`, where token is your auth token. \n\nIf your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL."
x-provenance:
method: harvested
publisher: Mangopay
source: https://docs.mangopay.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)