> 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 Google Pay PayIn object

### Description

The Recurring Google Pay PayIn object represents a Google Pay pay-in linked to a [Recurring PayIn Registration](/api-reference/recurring-payin-registrations/recurring-payin-registration-object) object.

There are two types of recurring pay-ins:

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

> **Note**
>
> **Note – Prerequisites to using Google Pay**
>
> Using Google Pay requires activation from Mangopay. See the [Google Pay guide](/guides/payment-methods/google-pay) for more details and contact our teams [via the Dashboard](https://hub.mangopay.com/).
>
> Your platform also needs to integrate with Google Pay. For more information, see the [Google Pay documentation](https://developers.google.com/pay/api).

> **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 (`RecurringGooglePayPayInResponse`)

```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
    RecurringGooglePayPayInResponseDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: Information about the debited funds.
      title: RecurringGooglePayPayInResponseDebitedFunds
    RecurringGooglePayPayInResponseCreditedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the credited funds (`CreditedFunds` = `DebitedFunds` -
        `Fees`).
      title: RecurringGooglePayPayInResponseCreditedFunds
    RecurringGooglePayPayInResponseFees:
      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: RecurringGooglePayPayInResponseFees
    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
    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
    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
    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
    RecurringGooglePayPayInResponse:
      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/RecurringGooglePayPayInResponseDebitedFunds'
          description: Information about the debited funds.
        CreditedFunds:
          $ref: '#/components/schemas/RecurringGooglePayPayInResponseCreditedFunds'
          description: >-
            Information about the credited funds (`CreditedFunds` =
            `DebitedFunds` - `Fees`).
        Fees:
          $ref: '#/components/schemas/RecurringGooglePayPayInResponseFees'
          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:** `GOOGLE_PAY`

            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'
        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.
        BrowserInfo:
          $ref: '#/components/schemas/BrowserInfo'
        IpAddress:
          $ref: '#/components/schemas/IpAddress'
        CardInfo:
          $ref: '#/components/schemas/CardInfo'
        AuthenticationResult:
          $ref: '#/components/schemas/AuthenticationResult'
        RecurringPayinRegistrationId:
          type: string
          description: The unique identifier of the recurring pay-in registration.
        Billing:
          $ref: '#/components/schemas/Billing_DefaultsShippingUser_Response'
        Shipping:
          $ref: '#/components/schemas/Shipping_DefaultsBillingUser_Response'
      title: RecurringGooglePayPayInResponse
```

### Related resources

#### [Guide](/guides/payment-methods/google-pay#recurring-payments)

Learn more about recurring Google Pay payments