Last Updated: 15 July 2025 | Change Log
Add Apple Pay to iOS apps, watchOS apps and to websites for these supported countries.
Make an Apple Pay payment by providing the encrypted payload (wallet token) in the payments
request.
Mastercard, Visa, Amex and Discover branded Apple Pay payments receive liability shift.
- Apple Pay decrypted support
- Apple Pay when setting up a recurring payment
- Read through Apple's overview.
- Create an Apple Merchant ID.
- Ask your Worldpay Implementation Manager to enable Apple Pay.
- Get your Certificate Signing Request (CSR) from your Implementation Manager.
- Use your CSR to get your payment processing certificate from Apple.
Enable Apple Pay in-app
- Enable Apple Pay in Xcode.
- Set
merchantCapabilities
toPKMerchantCapability3DS
, as Worldpay only supports 3DS.
Enable Apple Pay on the web
- Register and verify any domains that will host Apple Pay.
- Create a merchant identity certificate. This is used to establish a secure connection between your servers and Apple's servers.
- Set
merchantCapabilities
toPKMerchantCapability3DS
, as Worldpay only supports 3DS.
The paymentInstrument.walletToken
is taken from payment.paymentToken.paymentData
in the Apple Pay payment request.
- Try
https://try.access.worldpay.com/api/payments
- Live
https://access.worldpay.com/api/payments
- Payload
- curl
- Python
- Java
- Node.js
- Go
- PHP
- Ruby
- C#
Provide the encrypted Apple Pay payload
{ "transactionReference": "Memory265-13/08/1876", "merchant": { "entity": "default" }, "instruction": { "method": "applepay", "paymentInstrument": { "type": "encrypted", "walletToken": "{\"version\": \"EC_v1\",\"data\": \"kdHd..GQ==\",\"signature\": \"MIAGCSqGSIb3DQEH...AAA\",\"header\": {\"transactionId\": \"d3b28af..f8\",\"ephemeralPublicKey\": \"MFkwE..Q==\",\"publicKeyHash\": \"dxCK..6o=\"}}" }, "narrative": { "line1": "trading name" }, "value": { "currency": "GBP", "amount": 42 } } }
Note: 3DS (for Googlepay) and FraudSight are not yet available for wallets
Auto Settlement
Automatically settle a payment following the authorization.
Account Funding Transactions (AFT)
Transfer funds from a card account to another destination, rather than for the provision of goods or services.
Financial Service (MCC 6012/6051)
For domestic Financial Services providers (MCC 6012) based in the Visa Europe Region, you must supply this additional data.
Payment Facilitator
Facilitate transactions on behalf of your sub-merchants.
Certain features add additional requests and responses:
- Auto Settlement - automatic
202
-sentForSettlement
following authorization.- If any of the AVS/CVC response riskFactors are marked as
notMatched
the payment issentForCancellation
automatically by default but can be disabled.
- If any of the AVS/CVC response riskFactors are marked as
Example of an authorized response. Use the action settlePayment
to complete the transaction
{ "outcome": "authorized", "transactionReference": "Memory265-13/08/1876", "schemeReference": "060720116005060", "issuer": { "authorizationCode": "675725" }, "riskFactors": [ { "risk": "notChecked", "type": "cvc" }, { "risk": "notChecked", "detail": "address", "type": "avs" }, { "risk": "notChecked", "detail": "postcode", "type": "avs" } ], "paymentInstrument": { "type": "card/plain+masked", "cardBin": "400000", "lastFour": "1000", "countryCode": "GB", "expiryDate": { "year": 2035, "month": 5 }, "cardBrand": "mastercard", "fundingType": "debit", "category": "consumer", "issuerName": "BANK LIMITED", "paymentAccountReference": "3001DBT34Q41D6J7PFC5W0UACOT4C" }, "_links": { "self": { "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D" } }, "_actions": { "cancelPayment": { "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/cancellations", "method": "POST" }, "settlePayment": { "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/settlements", "method": "POST" }, "partiallySettlePayment": { "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhYjYzMiIsImxpbmtWZXJzaW9uIjoiNS4wLjAifQ%3D%3D.sN%3Ag8wd64bwkbrp0md%2BbPxcanBnk2zLdsIqSa1pR99GeDrCwEtsymFb5gQw9WlrStDTK3eIWPy93y%3A7njc4649JSrU7%2BvFDl1J36%2BcwOkX0lW4Z%2BfnZKMutoUGX3m1%3AmZ%2BxHZ9nDpadu%2BBh7pRyJwnWeiSFTlqKvbrBxNm3HV0xann55pFjZ7qi4DNGZtx9zW6eOLVNOsPL6ecsn3Dp377s7pWRQKSZJKSFIJvAisP8cBzFPzqireuqfCu5ojcm60gRSsqS3glurO24RJkg5SrpRjgY6g7ca8uoA7tKDk9OVOIwORF5sGPHSSGMa2bEl2lMUkAANoWclQHiGzxWQQ%3AAwSoo6RsrBugbhEp0K8HxZkfVrqy4oVlW8FdQ7kIuZOH78i6pPLzArc%2BOtMdnU%3ArZ%3AVhRHFzbbwymcuTiRbNw%3D/partialSettlements", "method": "POST" } } }