Apple Pay Integration Guide
In this guide, you will learn how to directly integrate Apple Pay with SumUp.
Prerequisites
Section titled “Prerequisites”- You have a merchant profile with SumUp and have already filled in your profile details.
- Get familiar with Apple Pay on the Web guide.
- Offering Apple Pay requires registering with Apple on all web domains that will expose an Apple Pay button (includes TLD and subdomains). This is a requirement for production AND test environments.
- If you want to test payments without involving real funds, create a test profile.
- Complete the domain onboarding setup steps described in your Dashboard under Settings > For developers > Payment wallets.
 
 Accepting Apple Pay Payments With SumUp
Section titled “Accepting Apple Pay Payments With SumUp”To begin your implementation, follow these steps:
- Create a checkout
- Create an Apple Payment request
const applePaymentRequest = {  currencyCode: "EUR",  countryCode: "DE",  merchantCapabilities: ["supports3DS"],  supportedNetworks: ["masterCard", "visa"],  total: {    label: "Demo",    amount: "0.00",    type: "final",  },};- Initiate an Apple Pay session and call the begin method
- Listen for the onvalidatemerchantcallback and collect thevalidateUrlproperty. Create the following payload
{  "target": "https://apple-pay-gateway-cert.apple.com/paymentservices/startSession",  "context": "your_domain_name"}and initiate a merchant session by calling
PUT https://api.sumup.com/v0.1/checkouts/${checkoutId}/apple-pay-session- 
The response from the previous step is needed to complete the merchant validation with the completeMerchantValidationmethod
- 
Submitting the payment dialogue triggers the onpaymentauthorizedcallback, this is when you need to process the checkout. The process checkout request body needs to include apayment_typeofapple_payand anapple_payobject, containing the response from step 7
{  "payment_type": "apple_pay",  "id": "9be2da07-a7bd-4877-bc0a-e16cd909a876",  "amount": 12,  "currency": "EUR",  "apple_pay": {    "token": {      "paymentData": {        "data": "si2xuT2ArQo689SfE-long-token",        "signature": "MIAGCSqGSIb3DQEHA-long-signature",        "header": {          "publicKeyHash": "PWfjDi3TSwgZ20TY/A7f3V6J/1rhHyRDCspbeljM0io=",          "ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaBtz7UN2MNV0qInJVEEhXy10PU0KfO6KxFjXm93oKWL6lCsxZZGDl/EKioUHVSlKgpsKGin0xvgldfxeJVgy0g==",          "transactionId": "62e0568bc9258e9d0e059d745650fc8211d05ef7a7a1589a6411bf9b12cdfd04"        },        "version": "EC_v1"      },      "paymentMethod": {        "displayName": "MasterCard 8837",        "network": "MasterCard",        "type": "debit"      },      "transactionIdentifier": "62E0568BC9258E9D0E059D745650FC8211D05EF7A7A1589A6411BF9B12CDFD04"    }  }}