> 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.

# Create a Recurring Apple Pay PayIn (CIT or MIT)

POST https://api.sandbox.mangopay.com/v2.01/{ClientId}/payins/payment-methods/applepay/recurring
Content-Type: application/json

Request a recurring Apple Pay pay-in based on a `RecurringPayinRegistrationId` with `PaymentType` `APPLEPAY`, 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. With Apple Pay, authentication is handled by the user's device (iPhone or Mac) so there is no need for redirection.
- **MIT** – Subsequent merchant-initiated transactions in the absence of the user, based on the initial successful authentication, unless and until re-authentication is required.

Read more about [Apple Pay recurring payments](/guides/payment-methods/apple-pay#recurring-payments) **&rarr;**

Reference: https://docs.mangopay.com/api-reference/apple-pay/create-recurring-apple-pay-payin

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token. If 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.

## Servers

- `https://api.sandbox.mangopay.com` (Sandbox, default)
- `https://api.mangopay.com` (Production)
- `https://api-mtls.sandbox.mangopay.com` (mTLS Sandbox)
- `https://api-mtls.mangopay.com` (mTLS Production)

## Request

### Path parameters

- `ClientId` (string, required) — Platform's API account identifier, associated with the API key.

### Body (application/json)

This endpoint expects a recurringApplePayPayins_create_recurring_apple_pay_payin_Request.

- `recurringApplePayPayins_create_recurring_apple_pay_payin_Request`

## Response

### 200

Success

- `Id` (string, optional) — Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object.
- `Tag` (string, optional) — 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}"`.
- `CreationDate` (integer, optional) — Unix timestamp (UTC) of the date and time the object was created.
- `AuthorId` (string, optional) — The unique identifier of the user at the source of the transaction.
- `DebitedFunds` (RecurringApplePayPayInResponseDebitedFunds, optional) — Information about the debited funds. The values must match those requested from Apple Pay, because they are encrypted in the `PaymentData`.
- `CreditedFunds` (RecurringApplePayPayInResponseCreditedFunds, optional) — Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
- `Fees` (RecurringApplePayPayInResponseFees, optional) — Information about the fees.
- `Status` (string, optional) — **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED` The status of the transaction.
- `ResultCode` (string, optional) — The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.
- `ResultMessage` (string, optional) — The explanation of the result code.
- `ExecutionDate` (integer, optional) — 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, optional) — **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT` The type of the transaction.
- `Nature` (string, optional) — **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, optional) — The unique identifier of the credited wallet.
- `CreditedUserId` (string, optional) — **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited.
- `PaymentType` (string, optional) — **Returned values:** `APPLEPAY` The payment type of the pay-in.
- `ExecutionType` (string, optional) — **Returned values:** `DIRECT` The execution type of the pay-in.
- `StatementDescriptor` (string, optional) — 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 Customizing bank statement references article for details.
- `DebitedWalletId` (string, optional) — 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.
- `SecurityInfo` (AVSResult, optional) — Information regarding security and anti-fraud tools.
- `SecureMode` (string, optional) — The mode applied for the 3DS2 protocol. On Apple Pay, this value is returned `null` as 3DS redirection is not applicable.
- `CardId` (string, optional) — For Apple Pay recurring registrations, this value is returned `null`.
- `SecureModeReturnURL` (string, optional) — Max. length: 255 characters The URL to which users are automatically returned after 3DS2 if it is triggered. On Apple Pay, `null` is returned as 3DS redirection does not apply.
- `SecureModeRedirectURL` (string, optional) — Max. length: 255 characters The URL to which to redirect the user to proceed to 3DS2 validation. On Apple Pay, `null` is returned as 3DS redirection does not apply.
- `SecureModeNeeded` (boolean, optional) — Whether or not the `SecureMode` was used.
- `Culture` (string, optional) — The language in which the payment page is to be displayed. On Apple Pay, `null` is returned.
- `BrowserInfo` (RecurringApplePayPayInResponseBrowserInfo, optional) — Information about the browser used by the end user (author) to perform the payment. On Apple Pay, `null` is returned as 3DS redirection does not apply.
- `IpAddress` (string, optional) — The IP address of the end user initiating the transaction, in IPV4 or IPV6 format. On Apple Pay, `null` is returned as 3DS redirection does not apply.
- `Requested3DSVersion` (string, optional) — **Returned values:** `V1`, `V2_1` The 3DS protocol version to be applied to the transaction.
- `Applied3DSVersion` (string, optional) — **Returned values:** `V1`, `V2_1` The 3DS protocol version applied to the transaction.
- `RecurringPayinRegistrationId` (string, optional) — The unique identifier of the recurring pay-in registration.
- `PreferredCardNetwork` (string, optional, nullable) — Not applicable to Apple Pay pay-ins, so this value is returned `null`. For Apple Pay, the network is resolved by Apple Pay and returned in `PaymentData.Network` instead.
- `PaymentCategory` (string, optional) — **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).
- `CardInfo` (CardInfo, optional) — Information about the card used for the transaction. If the information or data is not available, `null` is returned.
- `AuthenticationResult` (AuthenticationResult, optional) — 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).
- `Billing` (RecurringApplePayPayInResponseBilling, optional) — Information about the end user billing address. On Apple Pay, `null` is returned as 3DS redirection does not apply.
- `Shipping` (RecurringApplePayPayInResponseShipping, optional) — Information about the end user's shipping address. On Apple Pay, `null` is returned as 3DS redirection does not apply.

## Types

### CreateARecurringApplePayPayInCITRequest

Request body for an Apple Pay customer-initiated transaction (CIT).

- `RecurringPayinRegistrationId` (string, required) — The unique identifier of the recurring pay-in registration.
- `Tag` (string, optional) — 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}"`.

### CreateARecurringApplePayPayInMITRequest

Request body for an Apple Pay merchant-initiated transaction (MIT).

- `DebitedFunds` (CreateARecurringApplePayPayInMitRequestDebitedFunds, required) — 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`.
- `RecurringPayinRegistrationId` (string, required) — The unique identifier of the recurring pay-in registration.
- `Tag` (string, optional) — 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}"`.
- `Fees` (CreateARecurringApplePayPayInMitRequestFees, optional) — 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`.
- `StatementDescriptor` (string, optional) — 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 Customizing bank statement references article for details.

### RecurringApplePayPayInResponseDebitedFunds

Information about the debited funds. The values must match those requested from Apple Pay, because they are encrypted in the `PaymentData`.

- `Currency` (string, optional) — **Allowed values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the amount.
- `Amount` (integer, optional) — 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`.

### RecurringApplePayPayInResponseCreditedFunds

Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).

- `Currency` (string, optional) — **Allowed values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the amount.
- `Amount` (integer, optional) — 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`.

### RecurringApplePayPayInResponseFees

Information about the fees.

- `Currency` (string, optional) — **Allowed values:** The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings). The currency of the amount.
- `Amount` (integer, optional) — 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`.

### AVSResult

Information regarding security and anti-fraud tools.

- `AVSResult` (string, optional) — The result of the Address Verification System check (only available for UK, US, and Canada).

### RecurringApplePayPayInResponseBrowserInfo

Information about the browser used by the end user (author) to perform the payment. On Apple Pay, `null` is returned as 3DS redirection does not apply.

### CardInfo

Information about the card used for the transaction. If the information or data is not available, `null` is returned.

- `BIN` (string, optional) — The bank identification number (BIN) of the card.
- `IssuingBank` (string, optional) — The name of the bank that issued the card.
- `IssuerCountryCode` (string, optional) — The country code of the card issuer.
- `Type` (string, optional) — The type of card (for example, `CREDIT` or `DEBIT`).
- `SubType` (string, optional, nullable) — The sub-type of the card, if available.
- `Brand` (string, optional) — The card brand (for example, `VISA` or `MASTERCARD`).

### 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, optional, 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.

### RecurringApplePayPayInResponseBilling

Information about the end user billing address. On Apple Pay, `null` is returned as 3DS redirection does not apply.

### RecurringApplePayPayInResponseShipping

Information about the end user's shipping address. On Apple Pay, `null` is returned as 3DS redirection does not apply.

### CreateARecurringApplePayPayInMitRequestDebitedFunds

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 ISO 4217 code (EUR, GBP, etc.) of a supported currency (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`.

### CreateARecurringApplePayPayInMitRequestFees

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 ISO 4217 code (EUR, GBP, etc.) of a supported currency (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`.

## Examples

### Apple Pay CIT

**Request**

```json
{
  "body": {
    "DebitedFunds": {
      "Amount": 10,
      "Currency": "EUR"
    },
    "Fees": {
      "Amount": 1,
      "Currency": "EUR"
    },
    "RecurringPayinRegistrationId": "recpayinreg_wt_91291107-4170-4af7-8894-8d27283d8ccc"
  }
}
```

**Response**

```json
{
  "Id": "wt_d98f78fb-79fe-4895-b46b-c7fec25b6038",
  "Tag": null,
  "CreationDate": 1774969748,
  "AuthorId": "user_m_01KN1H4ENA23ATBA54ZWN21VKD",
  "DebitedFunds": {
    "Currency": "EUR",
    "Amount": 10
  },
  "CreditedFunds": {
    "Currency": "EUR",
    "Amount": 1
  },
  "Fees": {
    "Currency": "EUR",
    "Amount": 1
  },
  "Status": "SUCCEEDED",
  "ResultCode": "000000",
  "ResultMessage": "Success",
  "ExecutionDate": 1774969748,
  "Type": "PAYIN",
  "Nature": "REGULAR",
  "CreditedWalletId": "wlt_m_01JERJF53QMJE1HHRV7GGDACGM",
  "CreditedUserId": "user_m_01JERJEJAYP6NETHYZ3W9VKET4",
  "PaymentType": "APPLEPAY",
  "ExecutionType": "DIRECT",
  "StatementDescriptor": null,
  "DebitedWalletId": null,
  "SecurityInfo": {
    "AVSResult": "NO_CHECK"
  }
}
```

### Apple Pay MIT

**Request**

```json
{
  "body": {
    "AuthorId": "user_m_01JERJEJAYP6NETHYZ3W9VKET4",
    "CreditedWalletId": "wlt_m_01JERJF53QMJE1HHRV7GGDACGM",
    "DebitedFunds": {
      "Amount": 20001,
      "Currency": "EUR"
    },
    "Fees": {
      "Amount": 50,
      "Currency": "EUR"
    },
    "RecurringPayinRegistrationId": "recpayinreg_wt_91291107-4170-4af7-8894-8d27283d8ccc",
    "StatementDescriptor": "Example123",
    "Tag": "MIT"
  }
}
```

**Response**

```json
{
  "Id": "wt_90796fe7-fae4-41fd-b6dc-3f3a67c07d4b",
  "Tag": "MIT",
  "CreationDate": 1774970101,
  "AuthorId": "user_m_01KN1H4ENA23ATBA54ZWN21VKD",
  "DebitedFunds": {
    "Currency": "EUR",
    "Amount": 20001
  },
  "CreditedFunds": {
    "Currency": "EUR",
    "Amount": 19951
  },
  "Fees": {
    "Currency": "EUR",
    "Amount": 50
  },
  "Status": "SUCCEEDED",
  "ResultCode": "000000",
  "ResultMessage": "Success",
  "ExecutionDate": 1774970101,
  "Type": "PAYIN",
  "Nature": "REGULAR",
  "CreditedWalletId": "wlt_m_01JERJF53QMJE1HHRV7GGDACGM",
  "CreditedUserId": "user_m_01JERJEJAYP6NETHYZ3W9VKET4",
  "PaymentType": "APPLEPAY",
  "ExecutionType": "DIRECT",
  "StatementDescriptor": "Example123",
  "DebitedWalletId": null,
  "SecurityInfo": {
    "AVSResult": "NO_CHECK"
  },
  "SecureMode": null,
  "CardId": null,
  "SecureModeReturnURL": null,
  "SecureModeRedirectURL": null,
  "SecureModeNeeded": false,
  "Culture": null,
  "BrowserInfo": null,
  "IpAddress": null,
  "Requested3DSVersion": null,
  "Applied3DSVersion": null,
  "RecurringPayinRegistrationId": "recpayinreg_wt_91291107-4170-4af7-8894-8d27283d8ccc",
  "PreferredCardNetwork": null,
  "PaymentCategory": null,
  "CardInfo": {
    "BIN": "481749913",
    "IssuingBank": "INTL HDQTRS-CENTER OWNED",
    "IssuerCountryCode": "BR",
    "Type": "DEBIT",
    "SubType": "CLASSIC",
    "Brand": "VISA"
  },
  "AuthenticationResult": {
    "AuthenticationType": "FRICTIONLESS"
  }
}
```