> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.

# The Recurring Card PayIn object

### Description

The Recurring Card PayIn object represents a card pay-in linked to a Recurring PayIn Registration object.

There are two types of recurring pay-ins:

* Customer-initiated transaction (CIT) – First pay-in of the series, which requires the cardholder to authenticate via the 3DS protocol.
* Merchant-initiated transaction (MIT) – All the pay-ins occurring after a successful CIT, which are executed in the absence of the cardholder.

> **Note**
>
> **Note – Max. 99 pay-ins possible against each registration**
>
> A maximum of 99 pay-ins, CIT and MIT included, can be made against each Recurring PayIn Registration. Once you reach this limit, the 100th pay-in will fail with the error [205001](/errors/codes/205001).
>
> You need to create a new registration object to restart the recurrence (with a CIT).

### Attributes

### Schema (`RecurringCardPayInResponse`)

```yaml
components:
  schemas:
    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
    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
    AuthorId:
      type: string
      description: The unique identifier of the user at the source of the transaction.
      title: AuthorId
    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
    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
    RecurringCardPayInResponseDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: Information about the debited funds.
      title: RecurringCardPayInResponseDebitedFunds
    RecurringCardPayInResponseCreditedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the credited funds (`CreditedFunds` = `DebitedFunds` -
        `Fees`).
      title: RecurringCardPayInResponseCreditedFunds
    RecurringCardPayInResponseFees:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the fees taken by the platform for this transaction
        (and hence transferred to the Fees Wallet).
      title: RecurringCardPayInResponseFees
    TransactionStatus:
      type: string
      description: |-
        **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`

        The status of the transaction.
      title: TransactionStatus
    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
    ResultMessage:
      type: string
      description: The explanation of the result code.
      title: ResultMessage
    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
    TransactionType:
      type: string
      description: |-
        **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT`

        The type of the transaction.
      title: TransactionType
    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
    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
    StatementDescriptor_22:
      type: string
      description: >-
        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.
      title: StatementDescriptor_22
    Address:
      type: object
      properties:
        AddressLine1:
          type: string
          description: The first line of the address.
        AddressLine2:
          type: string
          description: The second line of the address.
        City:
          type: string
          description: The city of the address.
        Region:
          type: string
          description: Required if `Country` is US, CA, or MX. The region of the address.
        PostalCode:
          type: string
          description: >-
            The postal code of the address. The postal code can contain the
            following characters: alphanumeric, dashes, and spaces.
        Country:
          type: string
          description: >-
            Format: Two-letter country code ([ISO 3166-1 alpha-2
            format](/api-reference/overview/data-formats))


            The country of the address.
      description: The postal address.
      title: Address
    Billing_DefaultsShippingUser_Response:
      type: object
      properties:
        FirstName:
          type: string
          description: The first name of the user.
        LastName:
          type: string
          description: The last name of the user.
        Address:
          $ref: '#/components/schemas/Address'
      description: >-
        **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. 
      title: Billing_DefaultsShippingUser_Response
    Address_SubPropsRequired:
      type: object
      properties:
        AddressLine1:
          type: string
          description: The first line of the address.
        AddressLine2:
          type: string
          description: The second line of the address.
        City:
          type: string
          description: The city of the address.
        Region:
          type: string
          description: Required if `Country` is US, CA, or MX. The region of the address.
        PostalCode:
          type: string
          description: >-
            The postal code of the address. The postal code can contain the
            following characters: alphanumeric, dashes, and spaces.
        Country:
          type: string
          description: >-
            Format: Two-letter country code ([ISO 3166-1 alpha-2
            format](/api-reference/overview/data-formats))


            The country of the address.
      required:
        - AddressLine1
        - City
        - PostalCode
        - Country
      description: The postal address.
      title: Address_SubPropsRequired
    Shipping_DefaultsBillingUser_Response:
      type: object
      properties:
        FirstName:
          type: string
          description: The first name of the user.
        LastName:
          type: string
          description: The last name of the user.
        Address:
          $ref: '#/components/schemas/Address_SubPropsRequired'
      description: >-
        **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. 
      title: Shipping_DefaultsBillingUser_Response
    SecureModeReturnURL:
      type: string
      description: >-
        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`).
      title: SecureModeReturnURL
    AVSResult:
      type: object
      properties:
        AVSResult:
          type: string
          description: >-
            The result of the Address Verification System check (only available
            for UK, US, and Canada).
      description: Information regarding security and anti-fraud tools.
      title: AVSResult
    BrowserInfo:
      type: object
      properties:
        AcceptHeader:
          type: string
          description: >-
            The exact content of the HTTP accept headers as sent to the platform
            from the end user's browser.
        JavaEnabled:
          type: boolean
          description: >-
            Whether or not the end user's browser has the ability to execute
            Java.
        Language:
          type: string
          description: >-
            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:
          type: integer
          description: >-
            The value representing the depth of the screen's color palette for
            displaying images, in bits per pixel.
        ScreenHeight:
          type: integer
          description: The height of the screen in pixels.
        ScreenWidth:
          type: integer
          description: The width of the screen in pixels.
        TimeZoneOffset:
          type: integer
          description: The difference in minutes between the browser's timezone and UTC.
        UserAgent:
          type: string
          description: The exact content of the HTTP User-Agent header.
        JavascriptEnabled:
          type: boolean
          description: >-
            Whether or not the end user's browser has the ability to execute
            JavaScript.
      required:
        - AcceptHeader
        - JavaEnabled
        - Language
        - ColorDepth
        - ScreenHeight
        - ScreenWidth
        - TimeZoneOffset
        - UserAgent
        - JavascriptEnabled
      description: >-
        Information about the browser used by the end user (author) to perform
        the payment.
      title: BrowserInfo
    IpAddress:
      type: string
      description: >-
        The IP address of the end user initiating the transaction, in IPV4 or
        IPV6 format.
      title: IpAddress
    CardInfo:
      type: object
      properties:
        BIN:
          type: string
          description: The bank identification number (BIN) of the card.
        IssuingBank:
          type: string
          description: The name of the bank that issued the card.
        IssuerCountryCode:
          type: string
          description: The country code of the card issuer.
        Type:
          type: string
          description: The type of card (for example, `CREDIT` or `DEBIT`).
        SubType:
          type:
            - string
            - 'null'
          description: The sub-type of the card, if available.
        Brand:
          type: string
          description: The card brand (for example, `VISA` or `MASTERCARD`).
      description: >-
        Information about the card used for the transaction. If the information
        or data is not available, `null` is returned.
      title: CardInfo
    PreferredCardNetwork:
      type: string
      description: >-
        **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>.
      title: PreferredCardNetwork
    PaymentCategory:
      type: string
      description: >-
        **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).
      title: PaymentCategory
    AuthenticationResult:
      type: object
      properties:
        AuthenticationType:
          type:
            - string
            - 'null'
          description: >-
            **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.
      description: >-
        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).
      title: AuthenticationResult
    RecurringCardPayInResponse:
      type: object
      properties:
        Id:
          $ref: '#/components/schemas/Id'
        Tag:
          $ref: '#/components/schemas/Tag'
        CreationDate:
          $ref: '#/components/schemas/CreationDate'
        AuthorId:
          $ref: '#/components/schemas/AuthorId'
        DebitedFunds:
          $ref: '#/components/schemas/RecurringCardPayInResponseDebitedFunds'
          description: Information about the debited funds.
        CreditedFunds:
          $ref: '#/components/schemas/RecurringCardPayInResponseCreditedFunds'
          description: >-
            Information about the credited funds (`CreditedFunds` =
            `DebitedFunds` - `Fees`).
        Fees:
          $ref: '#/components/schemas/RecurringCardPayInResponseFees'
          description: >-
            Information about the fees taken by the platform for this
            transaction (and hence transferred to the Fees Wallet).
        Status:
          $ref: '#/components/schemas/TransactionStatus'
        ResultCode:
          $ref: '#/components/schemas/ResultCode'
        ResultMessage:
          $ref: '#/components/schemas/ResultMessage'
        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.
        CreditedUserId:
          $ref: '#/components/schemas/CreditedUserId'
        PaymentType:
          type: string
          description: |-
            **Returned values:** `CARD`

            The payment type of the pay-in.
        ExecutionType:
          type: string
          description: |-
            **Returned values:** `DIRECT`

            The execution type of the pay-in.
        StatementDescriptor:
          $ref: '#/components/schemas/StatementDescriptor_22'
        Billing:
          $ref: '#/components/schemas/Billing_DefaultsShippingUser_Response'
        Shipping:
          $ref: '#/components/schemas/Shipping_DefaultsBillingUser_Response'
        SecureMode:
          type: string
          description: >-
            **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:
          type: boolean
          description: Whether or not the `SecureMode` was used.
        SecureModeReturnURL:
          $ref: '#/components/schemas/SecureModeReturnURL'
        SecureModeRedirectURL:
          type: string
          description: |-
            Max. length: 255 characters

            The URL to which to redirect the user to proceed to 3DS2 validation.
        SecurityInfo:
          $ref: '#/components/schemas/AVSResult'
        BrowserInfo:
          $ref: '#/components/schemas/BrowserInfo'
        IpAddress:
          $ref: '#/components/schemas/IpAddress'
        CardId:
          type: string
          description: >-
            The unique identifier of the Card object, obtained during the card
            registration process.
        CardInfo:
          $ref: '#/components/schemas/CardInfo'
        Requested3DSVersion:
          type: string
          description: |-
            **Returned values:** `V1`, `V2_1`

            The 3DS protocol version to be applied to the transaction.
        Applied3DSVersion:
          type: string
          description: |-
            **Returned values:** `V1`, `V2_1`

            The 3DS protocol version applied to the transaction.
        RecurringPayinRegistrationId:
          type: string
          description: The unique identifier of the recurring pay-in registration.
        PreferredCardNetwork:
          $ref: '#/components/schemas/PreferredCardNetwork'
        Culture:
          type: string
          description: >-
            **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:
          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.
        PaymentCategory:
          $ref: '#/components/schemas/PaymentCategory'
        AuthenticationResult:
          $ref: '#/components/schemas/AuthenticationResult'
      title: RecurringCardPayInResponse
```

### Related resources

#### [Guide](/guides/payment-methods/card/recurring)

Learn more about recurring card payments