Apple Pay
Intro
123
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 - Carte Bancaire
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.
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
Länder & Währungen
Unterstützte Länder
-
Australien
-
Belgien
-
Brasilien
-
Bulgarien
-
Kanada
-
China Volksrepublik
-
Kroatien
-
Zypern Republik
-
Tschechien
-
Danemark
-
Estland
-
Finnland
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
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 - Carte Bancaire - 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: The gross amount you want to charge for this order |
|
hostedCheckoutSpecificInput |
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: 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",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYcF+GXB1DjbKLn5PgxVky2QTk53HjfoIXOvE7kH6+lixJKSTv1AuPlAUsBD2Nu2qHFwP50Abeh1onwvmvMYY/g==",
"publicKeyHash": "uUhU0fJoEJNk11gR8Ptd5Uw+jAnudz24rC2EuVcrZhM="
},
"order": {
"amountOfMoney": {
"amount": 3000,
"currencyCode": "EUR"
}
}
}
| Properties | Remarks |
|---|---|
|
order.amountOfMoney |
amount: The gross amount you want to charge for this order |
|
mobilePaymentMethodSpecificInput |
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 |
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:
- iOS SDK: Adding the Apple Pay button to your app that opens the Apple Pay payment sheet. Read the Apple tutorial for more information
- 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: The gross amount you want to charge for this order |
|
mobilePaymentMethodSpecificInput |
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 |
contactDetails |
|
billingContact.name |
personalInformation.name |
|
billingContact.postalAddress |
billingAddress |
|
order.customer.shippingAddress |
shippingAddress |
Ausführliche Informationen über dieses Objekt und seine Eigenschaften finden Sie in unserer CreatePaymentAPI
Ausführliche Informationen über dieses Objekt und seine Eigenschaften finden Sie in unserer CreatePaymentAPI
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
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