worldline Direct
Sign up

Apple Pay

Intro

Apple Pay is Apple’s mobile payment product, which allows consumers an easy and secure way to pay for physical goods and services such as groceries, clothing, tickets and reservations in your iOS apps. By using Touch ID, users can quickly and securely provide their payment.

The consumer adds her/his credit or debit cards to their wallet on their iPhone and adds the payment and shipping information to the Apple Pay wallet. The payment details the consumer enters in the Apple Pay wallet are tokenized and then securely stored. If the consumer clicks the “Buy with Apple Pay” button in the app, the payment can immediately start, since the card with which the consumers wants to pay will be loaded from the Apple Pay wallet.

Our iOS SDK allows you to easily add Apple Pay to your mobile app. We will manage the decryption of the payment data for you. If you want to, you can also choose to decrypt the data yourself and send it over to us to process the payment.

Your customers can use cards from the following brands: 

Apple Pay - Visa
Apple Pay - MasterCard
Apple Pay - American Express
Apple Pay - Cartes Bancaires

Überblick

Kategorie:
Payment Product-ID:
302
Wichtigste Vorteile
  • A frictionless consumer experience using Apple’s native Touch ID
  • Easy integration for developers using our iOS SDK
  • A secure way of paying as the card data of the consumer is tokenized and the Device PAN (DPAN) is used to process the payment.
  • Increase your conversion for in-app payments
  • Huge potential in terms of usage, due to the millions of users on iOS devices.

Zahlungserfahrung

The image above shows the steps of Apple Pay flow.
  1. In countries in which Apple Pay is supported, the option to add a card to the wallet on the device of the consumer will be enabled. The consumer can add her/his payment details as well as shipping and billing address in the app..
  2. Within an app that supports Apple Pay, the button “Buy with Apple Pay” will appear when the consumer is ready to checkout.

  3. The card details of the consumer are visible and can be changed upon wish of the consumer. Next to that the total amount is also displayed. The consumer will need to use Touch ID to validate the payment.

  4. Once the payment is validated it will be sent via the typical purchase flow, so that we can process this payment.

Einstieg

To accept payments for this payment method regardless of the integration mode, make sure you have an acquisition contract with one of the supported acquirers. We will clarify this with you during the onboarding process.

Depending on the integration mode, further requirements are applicable:

  • Hosted Checkout Page: Accept Apple's terms and conditions as described in the dedicated chapter. This will allow you to register your Apple Merchant ID and to offer Apple Pay on our secure payment page.
  • Integration für Mobilgeräte: Get an active Apple developer account and a subscription to the iOS developer program. This will allow you to create your Apple Pay certificates as described in the dedicated chapter.

We will be happy to help you get started.

Länder & Währungen

Unterstützte Länder

Unterstützte Währungen

  • Albanischer Lek
  • Algerischer Dinar
  • Angolanischer Kwanza
  • Argentinischer Peso
  • Armenischer Dram
  • Aruba-Florin
  • Australischer Dollar
  • Aserbaidschan-Manat
  • Bahamas-Dollar
  • Bahrain-Dinar
  • Bangladesch-Taka
  • Barbados-Dollar
  • Weißrussischer Rubel
  • Belize-Dollar
  • Bermuda-Dollar
  • Bhutan-Ngultrum
  • Bolivianischer Boliviano
  • Konvertible Mark Bosnien und Herzegowina
  • Botswanischer Pula
  • Brasilianischer Real
  • Brunei-Dollar
  • Bulgarischer Lew
  • Burundi-Franc
  • Kambodschanischer Riel
  • Kanadischer Dollar
  • Cabo-Verde-Escudo
  • Kaiman-Dollar
  • CFA-Franc
  • CFA-Franc
  • CFP-Franc
  • Chilenischer Peso
  • Renminbi Yuan
  • Kolumbianischer Peso
  • Komoren-Franc
  • Kongo-Franc
  • Costa-Rica-Colón
  • Kroatischer Kuna
  • Tschechische Krone
  • Dänische Krone
  • Dschibuti-Franc
  • Dominikanischer Peso
  • Ostkaribischer Dollar
  • Ägyptisches Pfund
  • Eritreischer Nakfa
  • Äthiopischer Birr
  • Euro
  • Falkland-Pfund
  • Fidschi-Dollar
  • Gambia-Dalasi
  • Georgischer Lari
  • Ghanaischer Cedi
  • Gibraltar-Pfund
  • Guatemaltekischer Quetzal
  • Guinea-Franc
  • Guyana-Dollar
  • Haitianische Gourde
  • Honduras-Lempira
  • Hongkong-Dollar
  • Ungarischer Forint
  • Isländische Krone
  • Indische Rupie
  • Indonesische Rupiah
  • Irakischer Dinar
  • Israelischer Neuer Schekel
  • Jamaika-Dollar
  • Japanischer Yen
  • Jordanischer Dinar
  • Kasachischer Tenge
  • Kenia-Schilling
  • Kuwait-Dinar
  • Kirgisischer Som
  • Laotischer Kip
  • Libanesisches Pfund
  • Loti
  • Liberianischer Dollar
  • Libyscher Dinar
  • Macao-Pataca
  • Mazedonischer Denar
  • Madagaskar-Ariary
  • Malawi-Kwacha
  • Malaysischer Ringgit
  • Malediven-Rufiyaa
  • Mauretanischer Ouguiya
  • Mauritius-Rupie
  • Mexikanischer Peso
  • Moldau-Leu
  • Mongolischer Tögrög
  • Marokkanischer Dirham
  • Mosambikanischer Metical
  • Myanmarischer Kyat
  • Namibia-Dollar
  • Nepalesische Rupie
  • Niederländische-Antillen-Gulden
  • Neuer Taiwan-Dollar
  • Neuseeland-Dollar
  • Nicaragua-Córdoba
  • Nigerianischer Naira
  • Norwegische Krone
  • Omanischer Rial
  • Pakistanische Rupie
  • Panamaischer Balboa
  • Papua-neuguineischer Kina
  • Paraguayischer Guaraní
  • Peruanischer Sol
  • Philippinischer Peso
  • Polnischer Złoty
  • Britisches Pfund
  • Katar-Riyal
  • Rumänischer Leu
  • Russischer Rubel
  • Ruanda-Franc
  • St.-Helena-Pfund
  • El Salvador Colon
  • Samoanischer Tala
  • São-toméischer Dobra
  • Saudi-Rial
  • Serbischer Dinar
  • Seychellen-Rupie
  • Sierra-leonischer Leone
  • Singapur-Dollar
  • Salomonen-Dollar
  • Somalia-Schilling
  • Südafrikanischer Rand
  • Südkoreanischer Won
  • Sri-Lanka-Rupie
  • Suriname-Dollar
  • Swasiländischer Lilangeni
  • Schwedische Krone
  • Schweizer Franken
  • Tadschikistan-Somoni
  • Tansania-Schilling
  • Thailändischer Baht
  • Tongaischer Paʻanga
  • Trinidad-und-Tobago-Dollar
  • Tunesischer Dinar
  • Türkische Lira
  • Turkmenistan-Manat
  • Uganda-Schilling
  • Ukrainische Hrywnja
  • VAE-Dirham
  • US-Dollar
  • Uruguayischer Peso
  • Usbekistan-Sum
  • Vanuatu-Vatu
  • Venezolanischer Bolívar
  • Vietnamesischer Dong
  • Jemen-Rial
  • Kwacha
  • Simbabwe-Dollar

Integration

To make this payment method appear on our Hosted Checkout Page as a selectable payment method, your customers need to:

  • Be located in one of the supported countries.
  • Own at least one of the supported cards in their Apple Pay wallet:
    Apple Pay - Visa
    Apple Pay - MasterCard
    Apple Pay - American Express
    Apple Pay - Cartes Bancaires
    .
  • Browse with Safari.
  • Use one of the following devices:
    iPhones with Face ID and/or Touch ID (except iPhones 5S).
    iPad Pro, iPad Air, iPad, and iPad mini models with Touch ID or Face ID.
    Apple Watch Series 1 and 2 and later, Apple Watch (1st generation).
    Mac models with Touch ID, or Mac models introduced in 2012 or later with an Apple Pay-enabled iPhone or Apple Watch.

Make also sure to register your Merchant ID as described in the dedicated chapter.

We offer this payment methods for the following integration modes. Learn in our dedicated guides about the individual differences

Find a high level overview in the "Zahlungsablauf" chapter.

Depending on the integration mode, differences apply:

Hosted Checkout Page

Add the following properties to a standard CreateHostedCheckout request:

{
   "order":{
      "amountOfMoney":{
         "currencyCode":"EUR",
         "amount":1000
      }
   },
   "hostedCheckoutSpecificInput":{
      "locale":"en_GB",
      "returnUrl":"https://yourReturnUrl.com"
   },
   "mobilePaymentMethodSpecificInput":{
      "authorizationMode":"FINAL_AUTHORIZATION",
      "paymentProductId":302
   }
}
Properties Remarks

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order.
currencyCode: The ISO 4217 currency code for this amount.

hostedCheckoutSpecificInput
    locale
    returnUrl

locale: The language version of our Hosted Checkout Page and the Apple Pay payment sheet.

returnUrl: The URL we redirect your customers to after the payment has been finalised.

mobilePaymentMethodSpecificInput
     authorizationMode
     paymentProductId

authorizationMode: Set to either "FINAL_AUTHORIZATION"/"SALE" depending on whether you want to process payments in authorisation/direct sale mode.

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Überblick" chapter. It instructs our platform to send your customers directly to the Apple Pay payment sheet. If left out, our platform sends your customers to the Hosted Checkout Page instead, allowing them to choose this or any other payment method in your account.

Ausführliche Informationen über dieses Objekt und seine Eigenschaften finden Sie in unserer CreateHostedCheckoutAPI

Integration für Mobilgeräte

Depending on the decryption mode, differences apply:

We handle decryption

This mode outsources the complexity of the payment data decryption to our platform. Make sure to create certificates and upload them as described in the dedicated chapter

Add the following properties to a standard CreatePayment request when sending the decrypted data to our platform:

{
    "mobilePaymentMethodSpecificInput": {
        "encryptedPaymentData": "xxx",
        "paymentProductId": 302,
        "authorizationMode": "FINAL_AUTHORIZATION",
        "ephemeralKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYcF+GXB1DjbKLn5PgxVky2QTk53HjfoIXOvE7kH6+lixJKSTv1AuPlAUsBD2Nu2qHFwP50Abeh1onwvmvMYY/g==",
        "publicKeyHash": "uUhU0fJoEJNk11gR8Ptd5Uw+jAnudz24rC2EuVcrZhM="
    },
    "order": {
        "amountOfMoney": {
            "amount": 3000,
            "currencyCode": "EUR"
        }
    }
}
Properties Remarks

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order.
currencyCode: The ISO 4217 currency code for this amount.

mobilePaymentMethodSpecificInput
     authorizationMode
     paymentProductId
     ephemeralKey
     publicKeyHash

authorizationMode: Set to either "FINAL_AUTHORIZATION"/"SALE" depending on whether you want to process payments in authorisation/direct sale mode.

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Überblick" chapter.

encryptedPaymentData: The encrypted payment data which our platform decrypts for the actual transaction.

ephemeralKey: A unique key used by Apple to encrypt data.

publicKeyHash: A unique identifier to get the key used by Apple to encrypt data.

Ausführliche Informationen über dieses Objekt und seine Eigenschaften finden Sie in unserer CreatePaymentAPI

You handle decryption

This mode requires you to decrypt the payment data by yourself and send it to our platform. This might have an impact on your PCI compliance type. Contact your acquirer for more information. 

You also need to write the code for this solution by yourself. However, you can use our SDKs in two instances:

  1. iOS SDK: Adding the Apple Pay button to your app that opens the Apple Pay payment sheet. Read the Apple tutorial for more information.
  2. Server SDKs: Sending the decrypted payment data to our platform.

Make sure to create the certificates and upload them on your server as described in the dedicated chapter

Add the following properties to a standard CreatePayment request when sending the decrypted data to our platform:

{
    "mobilePaymentMethodSpecificInput": {
        "decryptedPaymentData": {
            "dpan": "4761120010000492",
            "cryptogram": "jiSRYgf6G2rjYwAAC0GPAHQAAAA=",
            "expiryDate": "1225",
            "cardholderName": "John Doe",
            "eci": "7"
        },
        "paymentProductId": 302,
        "authorizationMode": "FINAL_AUTHORIZATION"
    },
    "order": {
        "amountOfMoney": {
            "amount": 3000,
            "currencyCode": "EUR"
        }
    }
}
Properties Remarks

order.amountOfMoney
     amount
     currencyCode

amount: The gross amount you want to charge for this order.
currencyCode: The ISO 4217 currency code for this amount.

mobilePaymentMethodSpecificInput
     authorizationMode
     paymentProductId
     decryptedPaymentData
          dpan
          cryptogram
          expiryDate
          cardholderName
          eci

authorizationMode: Set to either "FINAL_AUTHORIZATION"/"SALE" depending on whether you want to process payments in authorisation/direct sale mode.

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Überblick" chapter.

decryptedPaymentData: The decrypted payment data for the actual transaction. Read the dedicated chapter for detailed information.

Map PKPayment properties to mobilePaymentMethodSpecificInput

After decrypting the payment token on your e-commerce server, you need to send this data via a CreatePayment request. As you cannot use our iOS SDK to create an encrypted blob, you need to pass this data via mobilePaymentMethodSpecificInput.decryptedPaymentData. This table shows how PKPayment maps to mobilePaymentMethodSpecificInput.decryptedPaymentData.

PKPayment object decryptedPaymentData property

token.data.applicationPrimaryAccountNumber

dpan

token.data.applicationExpirationDate

expiryDate

token.data.paymentData.onlinePaymentCryptogram

cryptogram

token.data.paymentData.eciIndicator

eci


Depending on the individual request, PKPayment may contain further order information. Apply the following mapping to include them in your CreatePayment request:

PKPayment object order.customer property

billingContact.emailAddress or shippingContact.emailAddress
billingContact.phoneNumber or shippingContact.phoneNumber

contactDetails
     emailAddress
     phoneNumber

billingContact.name
     familyName
     givenName
     namePrefix

personalInformation.name
     surname
     firstName
     title

billingContact.postalAddress
     street
     city
     state
     postalCode
     isoCountryCode

billingAddress
     street
     city
     state
     zip
     countryCode

order.customer.shippingAddress
     name
          surname
          firstName
          title
     street
     city
     state
     zip
     countryCode

shippingAddress
     name
          surname
          firstName
          title
      street
      city
      state
      zip
      countryCode

Ausführliche Informationen über dieses Objekt und seine Eigenschaften finden Sie in unserer CreatePaymentAPI

Zahlungsablauf

Depending on the integration mode and the decryption mode, differences apply:

Hosted Checkout Page

Make sure to register your Merchant ID as described here.

  1. Your customers finalise an order in your shop and select Apple Pay.
  2. You send this CreateHostedCheckout request to our platform.
  3. You redirect your customers via the redirectUrl to the Apple Pay payment sheet. Your customers confirm the payment.
  4. Our platform receives encrypted payment data from Apple.
  5. Our platform decrypts the payment data and sends it to your acquirer to process the payment.
  6. We receive the transaction result.
  7. You redirect your customers to your redirectUrl.
  8. You request the transaction result from our platform via GetHostedCheckout or receive the result via webhooks.
  9. If the transaction was successful, you can deliver the goods/services.

Integration für Mobilgeräte

Depending on whether you leave handling payment data decryption to us or do this by yourself, differences apply:

We handle decryption

Make sure to create Apple certificates as described here.

  1. Your customers finalise an order in your app and select Apple Pay.
  2. Your app sends the order request to your e-commerce server and opens the payment sheet.
  3. Your customers confirm the payment in the app.
  4. You send the encrypted payment data in property mobilePaymentMethodSpecificInput.encryptedPaymentdata via this CreatePayment request to our platform.
  5. Our platform decrypts the payment data and sends them to Apple.
  6. Our platform receives encrypted payment data from Apple.
  7. Our platform decrypts the payment data and sends it to your acquirer to process the payment.
  8. We receive the transaction result.
  9. You request the transaction result from our platform via GetPaymentDetails or receive the result via webhooks.
  10. Your app displays the transaction result.
  11. If the transaction was successful, you can deliver the goods/services.

You handle decryption 

Make sure to create Apple certificates and configure your Worldline/Apple developer account as described here.

  1. Your customers finalise an order in your app and select Apple Pay.
  2. Your app sends the order request to your e-commerce server and opens the payment sheet.
  3. Your customers confirm the payment in the app.
  4. Your e-commerce server receives the encrypted data from Apple.
  5. Your e-commerce server decrypts the data.
  6. You send the decrypted payment data in properties
    mobilePaymentMethodSpecificInput.decryptedPaymentData
    mobilePaymentMethodSpecificInput.publicKeyHash
    mobilePaymentMethodSpecificInput.ephemeralKey
    via this CreatePayment request to our platform.
  7. Our platform sends the decrypted payment data to your acquirer to process the payment.
  8. We receive the transaction result.
  9. You request the transaction result from our platform via GetPaymentDetails or receive the result via webhooks.
  10. Your app displays the transaction result.
  11. If the transaction was successful, you can deliver the goods/services.

Testdaten

In unseren Testszenarios finden Sie Testdaten und detaillierte Instruktionen. 

Stellen Sie sicher, den korrekten Endpunkt anzusteuern und zurück zum Live-Endpunkt zu wechseln, sobald Sie Ihre Tests abgeschlossen haben

Zusätzliche Informationen

Offering this payment method requires you to either register your Merchant ID (for Hosted Checkout Page integration mode) and/or created your Apple Pay certificates (for Integration für Mobilgeräte)

Register Merchant ID (Hosted Checkout Page)

Follow these steps:

  1. Log in to the Back Office. Go to Configuration > Payment Methods > Apple Pay > Hosted Checkout registration.
  2. Read the Apple Pay terms and conditions by clicking on the respective link. Click on "REGISTER" to approve them.
  3. Click on "CHECK ACCOUNT STATUS" and wait for the message "Your PSPID is correctly registered" to appear. This will take only a couple of seconds: You are ready to offer Apple Pay to your customers via Hosted Checkout Page integration mode.

Mind the following: 

  • You can repeat step 3 anytime to check your status.
  • You can revoke your approval any time by clicking on "UNSUBSCRIBE".
  • If you reject the Apple Pay terms & conditions, the payment method will not be available on our Hosted Checkout Page.
  • Apple's terms and conditions can change. Keep yourself up to date by accessing them regularly.

Create Apple Pay certificates (Mobile/Client integration)

For payments via Integration für Mobilgeräte, you need to create Apple certificates. Depending on whether you leave handling payment data decryption to us or do this by yourself, differences apply:

We handle decryption

This requires you to create certificates and upload them in the Back Office. To do so, follow these steps:

  1. Log in to the Back Office. Go to Configuration > Payment Methods > Apple Pay > Add new certificate.
  2. Follow the instructions on the page to
    a) Download the certificate signing request (CSR) on that page.
    b) Create the Apple Pay certificate on the Apple developer portal using that CSR.
    c) Upload the generated certificate via the Browse.../UPLOAD CERTIFICATE buttons.

Find detailed information about how to apply this decryption mode in the “Integration” and “Zahlungsablauf" chapters.

Mind the following: 

  • Make sure to create separate certificates for our test / production environment.
  • Apple allows you to create a maximum of three certificates per Merchant ID. Mind that only one certificate per Merchant ID can be active. Use the three slots to manage expiring certificates.
  • Due to this limitation, we recommend using different Merchant ID for our test / production environment.
  • Apple certificates expire after two years. Make sure to timely create and upload a new one. We will notify you via e-mail as soon as a certificate is about to expire.

You handle decryption

This requires you to create certificates and upload them on your server. To do so, follow these steps:

  1. Contact us to set up your Worldline account to allow handling decryption by yourself.
  2. Set up your Apple Developer account to allow handling Apple Pay token by yourself.
  3. Create the Apple Pay certificates on the Apple developer portal
    a) Create a Certificate signing request
    b) Create a Merchant Identity Certificate
    c) Create a payment processing Certificate
  4. Write the code for your app for data decryption.

Find detailed information about how to apply this decryption mode in the “Integration” and “Zahlungsablauf" chapters.

This decryption mode requires more effort on your side, most notably

  • Decrypting the Apple Pay payment token.
  • Generating of public keys.
  • Creating certificate signing requests (CSRs).

We recommend implementing it only if you

  • Prefer handling data encryption yourself.
  • Want to access the payment token before processing the actual payment.

If you choose this decryption mode, make sure to meet the necessary PCI compliance type. Apple Pay follows the EMV® Payment Tokenisation Specification – Technical Framework v1.0 regulation. As tokens are not PCI-relevant data, you need to comply to SAQ-A. However, if you use our JavaScript SDK, a different level may apply. Contact your acquirer for more information

Was this page helpful?

Do you have any comments?

Thank you for your response.