**Last updated**: 07 April 2026 | [**Change log**](/access/products/payments/changelog/)

# Apple Pay

Add [Apple Pay](https://developer.apple.com/apple-pay/) to iOS apps, watchOS apps and to websites for [these supported countries](https://www.apple.com/ios/feature-availability/#apple-pay).

Make an Apple Pay payment by providing the encrypted payload (wallet token) in the [`payments`](/access/products/payments/openapi/) request.

Mastercard, Visa, Amex and Discover branded Apple Pay payments receive liability shift.

Coming soon
* Apple Pay when [setting up a recurring payment](/access/products/payments/recurring-first)


Encrypted
## 1. Get started

1. Read through [Apple's overview](https://developer.apple.com/apple-pay/implementation/).
2. Create an Apple Merchant ID.
3. Ask your Worldpay Implementation Manager to enable Apple Pay.
4. Get your Certificate Signing Request (CSR) from your Implementation Manager.
5. Use your CSR to get your payment processing certificate from Apple.


### Enable [Apple Pay in-app](https://developer.apple.com/documentation/passkit/apple_pay/)

1. Enable Apple Pay in Xcode.
2. Set **`merchantCapabilities`** to **`PKMerchantCapability3DS`**, as Worldpay only supports 3DS.


### Enable [Apple Pay on the web](https://developer.apple.com/documentation/apple_pay_on_the_web)

1. Register and verify any domains that will host Apple Pay.
2. Create a merchant identity certificate. This is used to establish a secure connection between your servers and Apple's servers.
3. Set **`merchantCapabilities`** to **`PKMerchantCapability3DS`**, as Worldpay only supports 3DS.


## 2. Basic request

The `paymentInstrument.walletToken` is taken from `payment.paymentToken.paymentData` in the Apple Pay [payment request](https://developer.apple.com/documentation/apple_pay_on_the_web/payment_request_api).

Decrypted
## 1. Getting started

To send a payment request with a decrypted payload, you must follow the instructions on [Apple Pay's developer site](https://developer.apple.com/library/archive/documentation/PassKit/Reference/PaymentTokenJSON/PaymentTokenJSON.html) first.

## 2. Request

View the full API Request schema
## 3. Add additional features

Auto settlement
Automatically settle a payment following the authorization.
Enterprise
Worldpay eCommerce

Risk assessment
We assess the payment for fraud before proceeding with authorization.
Enterprise

Account Funding Transactions (AFT)
Transfer funds from a card account to another destination, rather than for the provision of goods or services.
Enterprise

Financial Services (MCC 6012/6051)
For domestic Financial Services providers (MCC 6012) based in the Visa Europe Region, you must supply this additional data.
Enterprise

Payment Facilitators (PayFacs)
Facilitate transactions on behalf of your sub-merchants.
Enterprise

## 4. Response

Features that change the API flow
Certain features add additional requests and responses:

- [Auto Settlement](/access/products/payments/enable-features/auto-settlement) - automatic `202` - `sentForSettlement` following authorization.
  - If any of the AVS/CVC response `riskFactors` are marked as `notMatched` the payment is `sentForCancellation` automatically by default but we can disable this.


View the full API Response schema