---
title: "Create a Recurring Card PayIn (CIT or MIT)"
method: POST
path: "/v2.01/{ClientId}/payins/recurring/card/direct"
tags: ["recurringCardPayins"]
---

# Create a Recurring Card PayIn (CIT or MIT)

`POST /v2.01/{ClientId}/payins/recurring/card/direct`

Request a recurring card pay-in based on a `RecurringPayinRegistrationId` with `PaymentType` `CARD`, obtained from [POST Create a Recurring PayIn Registration](/api-reference/recurring-payin-registrations/create-recurring-payin-registration).

There are two possible paylods: 
- **CIT** – Customer-initiated transaction when the user is on session, requiring them to authenticate on the `SecureModeRedirectURL` returned.
- **MIT** – Subsequent merchant-initiated transactions in the absence of the user, based on the initial successful authentication, unless and until re-authentication is required.

## Path parameters

- `ClientId` string, required

## Headers

- `Authorization` string, required

## Request body

- union
  - CreateARecurringCardPayInCITRequest — Request body for a card customer-initiated transcation (CIT).
    - `Tag` string — Max. length: 255 characters Custom data that you can add to this object.
    - `SecureModeReturnURL` string, required — Max. length: 255 characters The URL to which users are automatically returned after 3DS2 if it is triggered (i.e., if the `SecureModeNeeded` parameter is set to `true`).
    - `Culture` string — The language in which the payment page is to be displayed. This deprecated parameter defaults to `EN`.
    - `StatementDescriptor` string — Max. length: 22 characters; only alphanumeric and spaces Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.
    - `BrowserInfo` BrowserInfo, required — Information about the browser used by the end user (author) to perform the payment.
      - `AcceptHeader` string, required — The exact content of the HTTP accept headers as sent to the platform from the end user's browser.
      - `JavaEnabled` boolean, required — Whether or not the end user's browser has the ability to execute Java.
      - `Language` string, required — Format: Two-letter language code (ISO 639-1 alpha-2) followed by two-letter country code (ISO 3166-1 alpha-2), separated by a hyphen (example: `en-US`; pattern:`^[a-zA-Z]{2}(-[a-zA-Z]{2})?$`) The language of the browser.
      - `ColorDepth` integer, required — The value representing the depth of the screen's color palette for displaying images, in bits per pixel.
      - `ScreenHeight` integer, required — The height of the screen in pixels.
      - `ScreenWidth` integer, required — The width of the screen in pixels.
      - `TimeZoneOffset` integer, required — The difference in minutes between the browser's timezone and UTC.
      - `UserAgent` string, required — The exact content of the HTTP User-Agent header.
      - `JavascriptEnabled` boolean, required — Whether or not the end user's browser has the ability to execute JavaScript.
    - `IpAddress` string, required — The IP address of the end user initiating the transaction, in IPV4 or IPV6 format.
    - `RecurringPayinRegistrationId` string, required — The unique identifier of the recurring pay-in registration.
    - `PreferredCardNetwork` string — **Allowed values:** `VISA`, `MASTERCARD`, `CB`, `MAESTRO` The card network to use, as chosen by the cardholder, in case of <a href="/guides/payment-methods/card/co-branded">co-branded cards</a>.
    - `PaymentCategory` string — **Default value:** `ECommerce` **Allowed values:** `ECommerce`, `TelephoneOrder` The channel through which the user provided their card details, used to indicate mail-order and telephone-order (MOTO) payments: - `ECommerce` – Payment received online. - `TelephoneOrder` – Payment received via mail order or telephone order (MOTO).
  - CreateARecurringCardPayInMITRequest — Request body for a card merchant-initiated transaction (MIT).
    - `Tag` string — Max. length: 255 characters Custom data that you can add to this object.
    - `DebitedFunds` CreateARecurringCardPayInMitRequestDebitedFunds — Information about the debited funds. This property overrides the `NextTransactionDebitedFunds` of the Registration, and is **required if** that property is empty. **Caution:** An amount must be provided in either the Registration's `NextTransactionDebitedFunds` or the pay-in's `DebitedFunds`.
      - `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` CreateARecurringCardPayInMitRequestFees — Information about the fees. This property overrides the `NextTransactionFees` of the Registration, and is **required if** that property is empty. **Caution:** An amount must be provided in either the Registration's `NextTransactionFees` or the pay-in's `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`.
    - `StatementDescriptor` string — Max. length: 22 characters; only alphanumeric and spaces Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.
    - `RecurringPayinRegistrationId` string, required — The unique identifier of the recurring pay-in registration.
    - `PaymentCategory` string — **Default value:** `ECommerce` **Allowed values:** `ECommerce`, `TelephoneOrder` The channel through which the user provided their card details, used to indicate mail-order and telephone-order (MOTO) payments: - `ECommerce` – Payment received online. - `TelephoneOrder` – Payment received via mail order or telephone order (MOTO).

## Response `200`

Success

- RecurringCardPayInResponse — A recurring direct card pay-in: - `PaymentType` – `CARD` - `ExecutionType` – `DIRECT` - Object includes `RecurringPayinRegistrationId`
  - `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.
  - `AuthorId` string — The unique identifier of the user at the source of the transaction.
  - `DebitedFunds` RecurringCardPayInResponseDebitedFunds — 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` RecurringCardPayInResponseCreditedFunds — 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` RecurringCardPayInResponseFees — Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
    - `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.
  - `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.
  - `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.
  - `CreditedUserId` string — **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited.
  - `PaymentType` string — **Returned values:** `CARD` The payment type of the pay-in.
  - `ExecutionType` string — **Returned values:** `DIRECT` The execution type of the pay-in.
  - `StatementDescriptor` string — Max. length: 22 characters; only alphanumeric and spaces Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.
  - `Billing` BillingDefaultsShippingUserResponse — **Default values:** `FirstName`, `LastName`, and `Address` information of the `Shipping` object if sent, otherwise of the `AuthorId` (if address values present). Information about the billing address.
    - `FirstName` string — The first name of the user.
    - `LastName` string — The last name of the user.
    - `Address` Address — The postal address.
      - `AddressLine1` string — The first line of the address.
      - `AddressLine2` string — The second line of the address.
      - `City` string — The city of the address.
      - `Region` string — Required if `Country` is US, CA, or MX. The region of the address.
      - `PostalCode` string — The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
      - `Country` string — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of the address.
  - `Shipping` ShippingDefaultsBillingUserResponse — **Default values:** `FirstName`, `LastName`, and `Address` information of the `Billing` object if sent, otherwise of the `AuthorId` (if address values present). Information about the shipping address.
    - `FirstName` string — The first name of the user.
    - `LastName` string — The last name of the user.
    - `Address` AddressSubPropsRequired — The postal address.
      - `AddressLine1` string, required — The first line of the address.
      - `AddressLine2` string — The second line of the address.
      - `City` string, required — The city of the address.
      - `Region` string — Required if `Country` is US, CA, or MX. The region of the address.
      - `PostalCode` string, required — The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
      - `Country` string, required — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of the address.
  - `SecureMode` string — **Returned values:** `DEFAULT`, `FORCE`, `NO_CHOICE` The mode applied for the 3DS2 protocol for CB, Visa, and Mastercard. The options are: - `DEFAULT` – Requests an exemption to strong customer authentication (SCA), and thus a frictionless payment experience, if allowed by your Mangopay contract and accepted by the issuer. - `FORCE` – Requests SCA. - `NO_CHOICE` – Leaves the choice to the issuer whether to allow for a frictionless payment experience or to enforce SCA.
  - `SecureModeNeeded` boolean — Whether or not the `SecureMode` was used.
  - `SecureModeReturnURL` string — Max. length: 255 characters The URL to which users are automatically returned after 3DS2 if it is triggered (i.e., if the `SecureModeNeeded` parameter is set to `true`).
  - `SecureModeRedirectURL` string — Max. length: 255 characters The URL to which to redirect the user to proceed to 3DS2 validation.
  - `SecurityInfo` AVSResult — Information regarding security and anti-fraud tools.
    - `AVSResult` string — The result of the Address Verification System check (only available for UK, US, and Canada).
  - `BrowserInfo` BrowserInfo — Information about the browser used by the end user (author) to perform the payment.
    - `AcceptHeader` string, required — The exact content of the HTTP accept headers as sent to the platform from the end user's browser.
    - `JavaEnabled` boolean, required — Whether or not the end user's browser has the ability to execute Java.
    - `Language` string, required — Format: Two-letter language code (ISO 639-1 alpha-2) followed by two-letter country code (ISO 3166-1 alpha-2), separated by a hyphen (example: `en-US`; pattern:`^[a-zA-Z]{2}(-[a-zA-Z]{2})?$`) The language of the browser.
    - `ColorDepth` integer, required — The value representing the depth of the screen's color palette for displaying images, in bits per pixel.
    - `ScreenHeight` integer, required — The height of the screen in pixels.
    - `ScreenWidth` integer, required — The width of the screen in pixels.
    - `TimeZoneOffset` integer, required — The difference in minutes between the browser's timezone and UTC.
    - `UserAgent` string, required — The exact content of the HTTP User-Agent header.
    - `JavascriptEnabled` boolean, required — Whether or not the end user's browser has the ability to execute JavaScript.
  - `IpAddress` string — The IP address of the end user initiating the transaction, in IPV4 or IPV6 format.
  - `CardId` string — The unique identifier of the Card object, obtained during the card registration process.
  - `CardInfo` CardInfo — Information about the card used for the transaction. If the information or data is not available, `null` is returned.
    - `BIN` string — The bank identification number (BIN) of the card.
    - `IssuingBank` string — The name of the bank that issued the card.
    - `IssuerCountryCode` string — The country code of the card issuer.
    - `Type` string — The type of card (for example, `CREDIT` or `DEBIT`).
    - `SubType` string, nullable — The sub-type of the card, if available.
    - `Brand` string — The card brand (for example, `VISA` or `MASTERCARD`).
  - `Requested3DSVersion` string — **Returned values:** `V1`, `V2_1` The 3DS protocol version to be applied to the transaction.
  - `Applied3DSVersion` string — **Returned values:** `V1`, `V2_1` The 3DS protocol version applied to the transaction.
  - `RecurringPayinRegistrationId` string — The unique identifier of the recurring pay-in registration.
  - `PreferredCardNetwork` string — **Allowed values:** `VISA`, `MASTERCARD`, `CB`, `MAESTRO` The card network to use, as chosen by the cardholder, in case of <a href="/guides/payment-methods/card/co-branded">co-branded cards</a>.
  - `Culture` string — **Returned values:** One of the supported languages in the [ISO 639-1 format](/api-reference/overview/data-formats): DE, EN, ES, FR, IT, NL, PL, PT. The language in which the payment page is to be displayed.
  - `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.
  - `PaymentCategory` string — **Default value:** `ECommerce` **Allowed values:** `ECommerce`, `TelephoneOrder` The channel through which the user provided their card details, used to indicate mail-order and telephone-order (MOTO) payments: - `ECommerce` – Payment received online. - `TelephoneOrder` – Payment received via mail order or telephone order (MOTO).
  - `AuthenticationResult` AuthenticationResult — Information about the authentication result, based on the request made by Mangopay and the decision of the issuer regarding the type of authentication to be enforced (if applicable).
    - `AuthenticationType` string, nullable — **Returned values:** `CHALLENGE`, `FRICTIONLESS`, `DIRECT_AUTHORIZATION` The type of authentication: - `CHALLENGE` – The issuer requested SCA to be enforced (for example, using 3DS). - `FRICTIONLESS` – The transaction was exempted from SCA because an exemption was granted by the issuer. - `DIRECT_AUTHORIZATION` – The transaction was sent to the issuer for authorization without any frictionless or challenge (for example, if SCA doesn't apply). A `null` value typically indicates that authentication was not requested (for example, because the request failed before being sent) or a decision was not received. A `null` value typically indicates that authentication was not requested (for example, because the request failed before being sent) or a decision was not received.

## Other responses

- `400` — Bad Request

## Changes

- **2026-08-22** `fafbd0c69654` — 1 info
  - request property `oneOf[subschema #1: CreateARecurringCardPayInCITRequest]/Culture` deprecated

[Change history](https://skmtc.dev/mangopay/apis/api-reference/changes/v2.01/:ClientId/payins/recurring/card/direct/post.md)

---

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