Kartenzahlung mit Apple Pay
Apple Pay kann zum Bezahlen von Käufen verwendet werden, die in Ladengeschäften, in Apps und auf Websites getätigt werden.
Kartenzahlung in Geschäften
Wenn das iPhone oder die Apple Watch eingeschaltet ist und ein NFC-Feld erkennt, bietet es dem Benutzer entweder die angeforderte Karte (sofern für diese Karte die automatische Auswahl aktiviert ist) oder alternativ die Standardkarte an, die in den Einstellungen festgelegt wurde. Der Benutzer kann auch Apple Wallet öffnen und eine Karte auswählen oder, falls das Gerät gesperrt ist:
Auf Geräten mit Face ID zweimal auf die Seitentaste drücken
Auf Geräten mit Touch ID zweimal auf die Home-Taste drücken
Die Funktionen der Bedienungshilfen verwenden, die Apple Pay auf dem Sperrbildschirm erlauben
Anschließend muss sich der Benutzer mit Face ID, Touch ID oder dem Code authentifizieren, bevor die Zahlungsinformationen übertragen werden. Wenn die Apple Watch nicht gesperrt ist, kann durch Doppelklicken auf die Seitentaste die Standardkarte zur Bezahlung aktiviert werden. Ohne Benutzerauthentifizierung werden keine Zahlungsinformationen gesendet.
Nach der Authentifizierung werden die Device Account Number und der transaktionsspezifische dynamische Sicherheitscode für die Zahlungsabwicklung verwendet. Weder Apple noch das Gerät des Benutzers sendet die vollständige Kartennummer an den Händler. Apple kann anonymisierte Informationen zur Zahlung erhalten, z. B. ungefähre Zeit und Ort der Transaktion, mit denen Apple Pay und andere Produkte und Dienste von Apple verbessert werden können.
Kartenzahlung in Apps
Apple Pay kann auch für Zahlungen in Apps auf iPhone, iPad-, Mac- und Apple Watch-Geräten verwendet werden. Wenn Benutzer innerhalb von Apps mit Apple Pay bezahlen, erhält Apple die verschlüsselten Transaktionsdaten. Bevor diese Daten an den Entwickler oder Händler gesendet werden, entschlüsselt Apple die Transaktion mit einem entwicklerspezifischen Schlüssel. Apple Pay speichert anonymisierte Informationen zu Transaktionen, wie den ungefähren Betrag. Diese Informationen können nicht mit dem Benutzer verknüpft werden und enthalten keine Angaben dazu, wofür der Benutzer gezahlt hat.
Wenn in einer App eine Apple Pay-Transaktion gestartet wird, erhalten die Apple Pay-Server die verschlüsselte Transaktion vom Gerät, bevor sie an den Händler gesendet wird. Die Apple Pay-Server verschlüsseln sie dann erneut mit einem händlerspezifischen Schlüssel, bevor sie die Transaktion an den Händler weiterleiten.
Wenn eine App eine Zahlung anfordert, ruft sie eine API auf, um festzustellen, ob das Gerät Apple Pay unterstützt und der Benutzer Kredit- oder Debitkarten besitzt, mit denen auf einem vom Händler akzeptierten Zahlungsnetzwerk Zahlungen abgewickelt werden können. Die App fragt an, welche Informationen für die Transaktion benötigt werden, z. B. Rechnungs- und Lieferadresse oder Kontaktdaten. Danach ergeht an iOS, iPadOS oder watchOS die Aufforderung, die Apple Pay-Seite anzuzeigen, um Informationen für die App und andere benötigte Informationen abzufragen, z. B. welche Karte verwendet werden soll.
Zu diesem Zeitpunkt erhält die App die Adressdaten (Ort, Staat/Land und PLZ), um die Versandkosten berechnen zu können. Die App erhält erst dann alle Informationen, wenn der Benutzer die Zahlung mit Face ID, Touch ID oder dem Code bestätigt. Ist die Zahlung autorisiert, werden die Informationen der Apple Pay-Seite an den Händler übertragen.
Autorisierung von Zahlungen in Apps
Wenn der Benutzer eine Zahlung bestätigt, erfolgt ein Aufruf an die Apple Pay-Server, um eine kryptografische Nonce anzufordern, die eine ähnliche Funktion erfüllt wie der vom NFC-Terminal für In-Store-Transaktionen gesendete Wert. Die Nonce wird zusammen mit anderen Daten zur Transaktion an das Secure Element weitergegeben, um die Zahlungsdaten zu erzeugen, die mit einem Apple-Schlüssel verschlüsselt werden. Die verschlüsselten Zahlungsdaten werden an die Apple Pay-Server zurückgegeben, die die Daten entschlüsseln, die enthaltene Nonce mit der ursprünglich von den Apple Pay-Servern gesendeten Nonce abgleichen und die Zahlungsdaten mit dem zur Händler-ID gehörenden Händlerschlüssel erneut verschlüsseln. Die Zahlungsdaten werden anschließend an das Gerät zurückgegeben, das sie über die API an die App zurückgibt. Die App überträgt sie dann an das Händlersystem zur Bearbeitung. Der Händler kann nun die Zahlungsdaten mit seinem privaten Schlüssel zur Bearbeitung entschlüsseln. Dadurch und mit der Signatur der Server von Apple kann der Händler überprüfen, ob diese Transaktion für ihn bestimmt ist.
Die APIs benötigen eine Berechtigung, die die unterstützten Händler-IDs angibt. Eine App kann auch weitere Daten bereitstellen, etwa eine Bestellnummer oder Kunden-ID, die zum Signieren an das Secure Element gesendet werden, sodass sichergestellt ist, dass die Transaktion nicht mit einem anderen Kunden vertauscht werden kann. Der App-Entwickler kann „applicationData“ bei „PKPaymentRequest“ angeben. Ein Hash-Wert dieser Daten wird dann mit den anderen Zahlungsdaten verschlüsselt. Der Händler muss nun überprüfen, ob sein „applicationData“ Hash-Wert mit dem in den Zahlungsdaten übereinstimmt.
Kartenzahlung auf Websites
Apple Pay kann verwendet werden, um auf iPhone-, iPad-, Apple Watch- und Mac-Geräten mit Touch ID Käufe zu bezahlen, die auf Websites getätigt werden. Apple Pay-Transaktionen können auch auf einem Mac begonnen und dann unter Verwendung desselben iCloud-Accounts auf einem iPhone oder einer Apple Watch, auf dem bzw. der Apple Pay aktiviert ist, abgeschlossen werden.
Apple Pay im Internet setzt voraus, dass alle teilnehmenden Websites bei Apple registriert sind. Nachdem die Domain registriert wurde, wird ihr Name verifiziert; dies geschieht allerdings erst, nachdem Apple ein TLS-Client-Zertifikat ausgegeben hat. Websites mit Apple Pay-Unterstützung müssen ihre Inhalte über HTTPS bereitstellen. Für jede Zahlungstransaktion müssen Websites mit dem von Apple ausgestellten TLS-Client-Zertifikat eine sichere und eindeutige Händlersitzung mit einem Apple-Server starten. Die Daten der Händlersitzung werden von Apple signiert. Nachdem die Signatur der Händlersitzung verifiziert wurde, kann eine Website abfragen, ob der Benutzer über ein Apple Pay-fähiges Gerät verfügt und ob eine Kredit-, Debit- oder Prepaid-Karte auf dem Gerät aktiviert ist. Eine Freigabe weiterer Details erfolgt nicht. Wenn der Benutzer seine Informationen nicht teilen möchte, kann er Apple Pay-Anfragen auf seinem iPhone-, iPad- oder Mac-Gerät in den Datenschutzeinstellungen von Safari deaktivieren.
Nach der Validierung einer Händlersitzung sind alle Datenschutz- und Sicherheitsmaßnahmen identisch mit denen, die bei Zahlungsvorgängen des Benutzers innerhalb einer App gelten.
Beim Handoff vom Mac zum iPhone oder zur Apple Watch nutzt Apple Pay das Ende-zu-Ende-verschlüsselte Apple IDS-Protokoll (Identity Service), um zahlungsrelevante Informationen zwischen dem Mac des Benutzers und dem autorisierenden Gerät zu übertragen. Der IDS-Client auf dem Mac nutzt die Benutzergeräteschlüssel für die Verschlüsselung, sodass kein anderes Gerät diese Informationen entschlüsseln kann. Diese Schlüssel stehen Apple nicht zur Verfügung. Die Geräteerkennung für Apple Pay-Handoff umfasst den Typ und die eindeutige Kennung der Kreditkarten des Benutzers sowie einige Metadaten. Die gerätespezifische Accountnummer der Karte des Benutzers wird nicht preisgegeben und verbleibt sicher auf dem iPhone oder der Apple Watch des Benutzers. Apple sorgt mit dem iCloud-Schlüsselbund für die sichere Übertragung der kürzlich verwendeten Kontakt-, Liefer- und Rechnungsadressen des Benutzers.
Nachdem der Benutzer die Zahlung per Face ID, Touch ID, Code oder durch Doppelklicken auf die Seitentaste der Apple Watch autorisiert hat, wird ein für das Händlerzertifikat jeder Website verschlüsselter Zahlungs-Token auf sichere Weise vom iPhone bzw. von der Apple Watch des Benutzers an den Mac übertragen und dann der Website des Händlers bereitgestellt.
Nur Geräte, die sich in unmittelbarer Nähe zueinander befinden, können eine Zahlung anfordern und abschließen. Die Nähe wird durch Bluetooth Low Energy-Ankündigungen (BLE) bestimmt.