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

# Overview

## About

Apple Pay allows users to pay securely using cards saved to their Apple Pay Wallet, in iOS apps and on websites.

<table>
  <tbody>
    <tr>
      <th class="header">Region</th>

      <td class="table-content">
        International
      </td>
    </tr>

    <tr>
      <th class="header">Currencies</th>

      <td class="table-content">
        See the <a href="/guides/currencies">currencies</a> page for details
      </td>
    </tr>

    <tr>
      <th class="header">[Refunds](/guides/refunds)</th>

      <td class="table-content">
        Yes, within 11 months
      </td>
    </tr>

    <tr>
      <th class="header">[Disputes](/guides/disputes)</th>

      <td class="table-content">
        Yes
      </td>
    </tr>

    <tr>
      <th class="header">Preauthorization</th>

      <td class="table-content">
        No
      </td>
    </tr>

    <tr>
      <th class="header">Recurring payments</th>

      <td class="table-content">
        No
      </td>
    </tr>
  </tbody>
</table>

<Note>
  **Note - Supported by Checkout SDK**

  Apple Pay is supported by Mangopay’s Checkout SDK, which can power the payment page of your website or app. [Read more](/sdks/checkout) **→**
</Note>

## Activation

To offer Apple Pay with Mangopay you need to set up an Apple Pay merchant identifier and Payment Processing Certificate as described in the [certificates guide](/guides/payment-methods/apple-pay/certificates).

You also need to integrate directly with Apple Pay:

* <a href="https://developer.apple.com/documentation/apple_pay_on_the_web" target="_blank">Apple Pay on web</a> (see also their <a href="https://applepaydemo.apple.com/" target="_blank">demo</a>)
* <a href="https://developer.apple.com/documentation/passkit/setting-up-apple-pay" target="_blank">Apple Pay on iOS</a> (PassKit)

If not using Checkout SDK, you also need to adhere to their <a href="https://developer.apple.com/design/human-interface-guidelines/apple-pay" target="_blank">design guidelines</a>.

## How to process a payment

The basic flow of an Apple Pay payment is given in the diagram below.

<div>
  <iframe width="100%" height="480" src="https://cdn.swimlanes.io/dist/embeded.html#ZY9BDoIwEEX3PcU/gMQ9CxOiC1kYiXCBKqMSocV2SOPOO3hDTyLUEKiu/3vz/xQV1xQjaduakMkH3s8XttqhYjhtblYIbUoyHsESjo62YlogqyWftWkW2El10W2vJlkqRIAhWs1O93mMA907soxeaEgxRJAj+hrTicHgzqiBGISNZPlfMq6JkZMqA3aMBmw+NUa2zwusDUn2/amCq/gayHPBb5uKplm9aFlyZ4Ouny/8Lt3xSTf0AQ==#ZY9Q" />
</div>

### 1. Present Apple Pay to user

The user selects Apple Pay at the checkout on your app or website and confirms payment.

The user's card must be registered in their Apple Pay wallet (see [testing information](/testing/payment-methods#apple-pay)).

### 2. Request the payment from Apple Pay

Use the Apple Pay <a href="https://developer.apple.com/documentation/passkit/pkpaymentrequest" target="_blank">PKPaymentRequest</a> to request the payment, specifying the `visa` and `masterCard` values as the `supportedNetworks`.

The order of the array determines the order of display to the user, and the first position in the array is the default network (see <a href="https://developer.apple.com/documentation/passkit/pkpaymentrequest/supportednetworks" target="_blank">Apple Pay's documentation</a>).

<Note>
  **Note – Platforms in France should send CB first**

  If your platform offers CB co-branded cards in France, you should also include the value `cartesBancaires` first in the array to comply with regional standards to present the co-branded network first.

  For example:

  ```swift Swift - CB co-branded cards theme={null}
  let request = PKPaymentRequest()
  // Other parameters
  request.supportedNetworks = [.cartesBancaires, .visa, .masterCard]
  // 
  ```
</Note>

In response, Apple Pay returns encrypted data specific to the payment.

### 3. Request the pay-in from Mangopay

Call the [POST Create an Apple Pay PayIn](/api-reference/apple-pay/create-apple-pay-payin) endpoint, including the `PaymentData` as received from Apple Pay. The amount and currency of your pay-in request must match your Apple Pay request.

```json theme={null}
...
"PaymentData": {
    "transactionId": "97e64d87f13a89ff6443cdcc205d5ccf7e15368b0d64126a8a2e0888a3a5c2a0",
    "network": "MasterCard",
    "tokenData": "{\"data\":\"2TihgKbmyPje02jYvkB6P+a6LCNmvKTFi4b7UN32sP4FJkllQP8CXIUPdv71xpIpBHetQ6TL7ON3Yex3L0Sc9hm15pME46/5fehwUxmgiumiK1eTupckAST6Zc0IYy2f9iJB9XpX+6dnKqTj7di12bo/iDXW4g2rbenNiDI0caiWebDaUG9DHSFjDxipQWx3Z8rf+zDiMGuDwO41LVh2SA1hRVbdINLpPpLtpxvyDeDkPQVohakcE+sK83QCHx0cEahAUKj6gAv6QuOLtWTsTtad04/ct3G0GnGeRp9p0fE0yJ+s4ybPj4WuV8lKNm6Lsg/WS9TqzT3RFgdjDjGdZ8W1CaEb/deG+Hh4MCebVJBP7iEdyfkB1afjJa0AqfbOBW2SIKXULtjP84QP\",\"signature\":\"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\",\"header\":{\"publicKeyHash\":\"xUyeFb75d359bfPEiq2JJMQj694UAxtTuBsaTWMOJxQ=\",\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkeuICjZ7x15b7hPEBEBT5Zp43l95wCmJCU3QNxBvOCusG9w9sJMULuXlT4K8LOlPgaZzAcyWlfNwnLivVdOPfg==\",\"transactionId\":\"97e64d87f13a89ff6443cdcc205d5ccf7e15368b0d64126a8a2e0888a3a5c2a0\"},\"version\":\"EC_v1\"}"
}
...
```

<Note>
  **Note - 3DS redirection not required for Apple Pay**

  With Apple Pay, SCA-compliant authentication is handled by the user’s device (iPhone or Mac), meaning that the payment data received from Apple Pay is already authenticated and no 3DS redirection is required.
</Note>

### 4. Handle the outcome

The transaction is complete when the pay-in status changes from `CREATED` to `SUCCEEDED` or `FAILED`, indicating the outcome.

Set up [webhooks](/webhooks) for the `PAYIN_NORMAL_SUCCEEDED` and `PAYIN_NORMAL_FAILED` [event types](/webhooks/event-types) to be notified of this.

## Related resources

<CardGroup col={2}>
  <Card title="Guide" href="/guides/payment-methods/apple-pay/certificates">
    Set up and renew your Apple Pay certificate
  </Card>

  <Card title="Endpoint" href="/api-reference/apple-pay/apple-pay-payin-object">
    The Apple Pay PayIn object
  </Card>

  <Card title="Testing" href="/testing/payment-methods#apple-pay">
    Learn about testing Apple Pay
  </Card>
</CardGroup>
