> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The Recurring PayIn Registration object (PayPal)

### Description

Mangopay relies on the Recurring PayIn Registration object to store all the relevant information about a series of recurring pay-ins.

To use the recurring registration with PayPal, set the `PaymentType` to `PAYPAL` during the POST call. The same object is used to link [recurring card payments](/api-reference/recurring-payin-registrations/recurring-payin-registration-object), but with different features available.

For more information about recurring payments with PayPal, refer to the [PayPal](/guides/payment-methods/paypal) guide.

### Attributes

<ResponseField name="Id" type="string">
  Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)

  The unique identifier of the object.
</ResponseField>

<ResponseField name="Status" type="string">
  **Returned values:** `CREATED`, `AUTHENTICATION_NEEDED`, `IN_PROGRESS`, `ENDED`

  The status of the recurring registration for PayPal:

  * `CREATED` – The recurring registration was created, but no recurring pay-in has yet been made.
  * `AUTHENTICATION_NEEDED` – A customer-initiated transaction (CIT) has been initiated against the registration but not authenticated. Note that there is no re-authentication process with PayPal: this status is only returned after the CIT is initiated but not yet successful.
  * `IN_PROGRESS` – The CIT has was successful and subsequent merchant-initiated transactions (MIT) can be requested.
  * `ENDED` – The registration can no longer be modified nor reused. A new one can be created for the same user.
</ResponseField>

<ResponseField name="ResultCode" type="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.
</ResponseField>

<ResponseField name="ResultMessage" type="string">
  The explanation of the result code.
</ResponseField>

<ResponseField name="CurrentState" type="object">
  Information about the recurring pay-ins related to the registration object.

  **Note:** If the `LastPayinId` references a transaction older than 13 months, it may have been <a href="/api-reference/overview/data-availability-periods">archived</a>.

  <Expandable title="properties">
    <ResponseField name="PayinsLinked" type="integer">
      The number of recurring pay-ins already made for the registration object.
    </ResponseField>

    <ResponseField name="CumulatedDebitedAmount" type="object">
      The sum of the `DebitedFunds` amounts of the recurring pay-ins made for the registration.

      <Expandable title="properties">
        <ResponseField name="Currency" type="string">
          **Returned 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 debited funds.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CumulatedFeesAmount" type="object">
      The sum of the `Fees` amounts of the recurring pay-ins made for the registration.

      <Expandable title="properties">
        <ResponseField name="Currency" type="string">
          **Returned 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 fees.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="LastPayinId" type="string">
      The unique identifier of the last recurring pay-in made for the registration.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="RecurringType" type="string">
  **Returned values:** `CUSTOM`

  For PayPal recurring registrations, this value is always `CUSTOM`.
</ResponseField>

<TotalAmount1Response />

<ResponseField name="CycleNumber" type="integer">
  For PayPal recurring registrations, this value is returned `null`.
</ResponseField>

<ResponseField name="AuthorId" type="string">
  The unique identifier of the user at the source of the transaction.
</ResponseField>

<ResponseField name="CardId" type="string">
  For PayPal recurring registrations, this value is returned `null`.
</ResponseField>

<ResponseField name="CreditedUserId" type="string">
  **Default value:** The unique identifier of the owner of the credited wallet.

  The unique identifier of the user whose wallet is credited.
</ResponseField>

<ResponseField name="CreditedWalletId" type="string">
  The unique identifier of the credited wallet.
</ResponseField>

<Billing4Response />

<ResponseField name="Shipping" type="object">
  Information about the end user's shipping address.

  <Expandable title="properties">
    <ResponseField name="FirstName" type="string">
      The first name of the user.
    </ResponseField>

    <ResponseField name="LastName" type="string">
      Max. length: 100 characters

      The last name of the user.
    </ResponseField>

    <ResponseField name="Address" type="object">
      Information about the shipping address.

      <Expandable title="properties">
        <ResponseField name="AddressLine1" type="string">
          Max. length: 255 characters

          The first line of the address.
        </ResponseField>

        <ResponseField name="AddressLine2" type="string">
          Max. length: 255 characters

          The second line of the address.
        </ResponseField>

        <ResponseField name="City" type="string">
          Max. length: 255 characters

          The city of the address.
        </ResponseField>

        <ResponseField name="Region" type="string">
          Max. length: 255 characters

          The region of the address. This field is optional except if the `Country` is US, CA, or MX.
        </ResponseField>

        <ResponseField name="PostalCode" type="string">
          Max. length: 255 characters

          The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
        </ResponseField>

        <ResponseField name="Country" type="string">
          Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats))

          The country of the address.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="EndDate" type="Unix timestamp">
  For PayPal recurring registrations, this value is returned `null`.
</ResponseField>

<ResponseField name="Frequency" type="string">
  For PayPal recurring registrations, this value is returned `null`.
</ResponseField>

<ResponseField name="FixedNextAmount" type="boolean">
  For PayPal recurring registrations, this value is ignored if sent and automatically returned `false`. However, you can specify `NextTransactionDebitedFunds` and `NextTransactionFees` to set up a fixed-amount recurrence.
</ResponseField>

<ResponseField name="FractionedPayment" type="boolean">
  For PayPal recurring registrations, this value is returned `null`.
</ResponseField>

<ResponseField name="FreeCycles" type="integer">
  For PayPal recurring registrations, this value is returned `0`.
</ResponseField>

<ResponseField name="FirstTransactionDebitedFunds" type="object">
  The amount of the first recurring pay-in.\
  This value can be different from the `NextTransactionDebitedFunds`

  <Expandable title="properties">
    <ResponseField name="Currency" type="string">
      **Returned 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 debited funds.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="FirstTransactionFees" type="object">
  The fees of the first recurring pay-in.\
  This amount can be different from the `NextTransactionDebitedFunds`.

  <Expandable title="properties">
    <ResponseField name="Currency" type="string">
      **Returned 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 fees.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
    </ResponseField>
  </Expandable>
</ResponseField>

<NextTransactionDebitedFunds1Response />

<ResponseField name="NextTransactionFees" type="object">
  The fees of the subsequent recurring pay-ins.

  <Expandable title="properties">
    <ResponseField name="Currency" type="string">
      **Returned 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 fees.
    </ResponseField>

    <ResponseField name="Amount" type="integer">
      An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="Migration" type="boolean" deprecated>
  For PayPal recurring registrations, this value is returned `false`.
</ResponseField>

<ParamField body="ProfilingAttemptReference" type="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.
</ParamField>

### Related resources

<Card title="Guide" href="/guides/payment-methods/paypal">
  Learn more about recurring PayPal payments
</Card>
