1. Über Apple Pay

1.1 Was ist Apple Pay

Apple Pay ist eine digitale Geldbörse, die Zahlungsdetails speichert und einen ebenso bequemen wie sicheren Weg bietet, um in iOS-Apps, Webseiten im Browser Safari und an kontaktlosen POS-Terminals zu bezahlen. In Apps und für Webseiten können die Benutzer schnell und sicher ihre Informationen für Bezahlung, Versand und Kontakt bereitstellen, um den Kassenprozess mit nur einem Antippen mittels Touch ID zu erledigen. Die Einfachheit von Apple Pay erhöht die Konversionsraten und die bringt durch die Akzeptanz neue Benutzer hinzu.

Die First Cash Solution-Lösung für Apple Pay unterstützt derzeit folgende Szenarien:

  • In-App-Zahlungen (auch Teil der 1cs Online Bezahlsystem SDK)
  • Web-Zahlungen

1.2 Web-Zahlung

Apple Pay im Internet ermöglicht Einkäufe mittels Apple Pay beim Surfen mit dem Browser Safari. Beim Einkauf auf iPhone oder iPad erscheint nach der Auswahl von Apple Pay als Zahlungsmethode eine Zahlungsseite, die den Kunden auffordert, die Zahlung mittels Touch ID zu bestätigen. Beim Einkauf auf dem Mac müssen Kunden ein iOS-Gerät in der Nähe haben und werden auf diesem Gerät aufgefordert, die Zahlung zu autorisieren. Das wird dann mit dem Browser synchronisiert. Auf dem neuesten Mac Book kann die Zahlung auch direkt auf dem Mac Book autorisiert werden.

Anforderungen für Apple Pay:

  • iOS 10. Apple Pay Web-Zahlungen werden auf allen iOS-Geräten mit einem Secure Element unterstützt.
  • macOS 10.12. Apple Pay Web-Zahlungen werden in Safari unterstützt.
    • Der Anwender muss ein iPhone oder eine Apple Watch haben, um die Zahlung autorisieren zu können.
    • Auf dem neuesten Mac Book Pro können Zahlungen direkt mittels Touch ID autorisiert werden
  • Alle Webseiten, die Apple Pay einbeziehen, müssen gesichert über HTTPS übertragen werden.
  • Ihre Webseite muss die Richtlinien von Apple Pay einhalten. Weitere Informationen finden Sie unter Apple Pay on the Web Acceptable Use Guidelines
  • Serveranforderungen

1.3 In-App-Zahlung

Apple Pay als Zahlungsmethode kann für Zahlungen innerhalb von iOS-Apps verwenden werden. Der Hauptvorteil der Zahlung mit Apple Pay ist der reibungslose Ablauf, ohne dass Kreditkartendaten, Liefer- oder Rechnungsadressen neu eingegeben werden müssen, was auf kleineren iPhone-Display mitunter mühsam ist. Der Kunde wählt lediglich die Zahlungsmethode Apple Pay und bestätigt die Zahlung mittels Touch ID.

Der Händler kann auch das First Cash Solution SDK einsetzen, um In-App-Zahlungen zu erleichtern und die Integration schneller und einfacher zu gestalten.

Anforderungen für Apple Pay:

  • Apple Pay In-App-Zahlungen werden auf allen iOS-Geräten mit einem Secure Element unterstützt.

1.4 Diagramm zum Prozessablauf

 

Apple Pay process flow

 

1.4.1 Schaltfläche für Apple Pay anzeigen

Innerhalb von Apps stellt PassKit die APIs bereit, mit denen Ihre App bestimmt, ob sie auf einem Gerät mit einem Secure Element läuft und ob dem Gerät Zahlungskarten bekannt sind, die Sie unterstützen. Auf Webseiten stellt das WebKit die APIs bereit, damit Ihre Webseite prüfen kann, ob derjenige Nutzer ein für Apple Pay fähiges Gerät hat und ob dieses eingerichtet ist.

Wenn das Gerät Apple Pay fähig ist, sollten Sie die Schaltfläche Mit Apple Pay kaufen innerhalb von Apps mit Hilfe der APIs aus dem PassKit sowie innerhalb von Safari mit den APIs aus dem WebKit anzeigen.

 

1.4.2 Die Zahlungsseite anzeigen

Wenn Ihr Nutzer Waren oder Dienstleistungen zum Kauf auswählt und Apple Pay als Zahlungsmethode wählt, erzeugen Sie eine Zahlungsanfrage und bitten das PassKit in Apps oder das Webkit auf Ihrer Webseite darum, dem Benutzer die Zahlungsseiten anzuzeigen. Die Zahlungsseite muss sofort ohne Zwischenbildschirme oder Popups folgen, wenn der Benutzer auf Apple Pay getippt hat, außer zur Bestätigung der nötigen Produktdetails wie Größe oder Menge.

Ihr App gibt den Inhalt der Zahlungsseite an, aber sie steuert nicht die Interaktion des Nutzers mit dieser Seite. Sie müssen entscheiden, ob Sie dem Benutzer weitere Informationen wie aktuelle Liefer- und Rechnungsangaben, Liefermethode und andere Positionen anzeigen. Sie sollten nur die für die Verarbeitung der Transaktion erforderlichen Informationen abfragen.

 

1.4.3 Zahlungen verarbeiten

Nach der Autorisierung durch den Benutzer mittels Touch ID (und in China auch Bank PIN-Code) erhält Ihre App ein Zahlungs-Token von PassKit. Das Zahlungs-Token enthält eingekapselt die nötigen Informationen zum Abschluss der Zahlungstransaktion wie die gerätespezifische Kontonummer, den Betrag und ein eindeutiges Einmal-Kryptogramm. Das verschlüsselte Zahlungspaket wird von der First Cash Solution entschlüsselt, wo dann auch die gesamte Verarbeitung der Transaktion erfolgt.

2 Einrichtung für Apple Pay, Schritt für Schritt

Wenn sich der Händler für Apple Pay entschieden hat, sind einige Schritte zu erledigen:

1. Überprüfen, ob der Acquirer des Händlers Apple Pay unterstützt

a. Nicht alle Acquirer unterstützen Apple Pay für In-App- und Web-Zahlungen

b. Die First Cash Solution kann Informationen zu den unterstützenden Acquirern geben

2. Anlegen einer Merchant ID, einer eindeutigen Kennung, die einen Händler gegenüber Apple Pay ausweist

a. Öffnen Sie Ihr Apple-Entwicklerkonto und besuchen den Bereich Zertifikate, Kennungen & Profile im Apple Mitgliederzentrum. Navigieren Sie zu Merchant IDs und klicken auf Hinzufügen.

b. Legen Sie Ihre Merchant ID fest. Ihre eingegebene Kennung sollte eine Kennung vom Typ Reverse- DNS sein mit dem Wort Merchant als Präfix


3. Erzeugen Sie ein Zertifikat zur Zahlungsverarbeitung (Payment Processing Certificate), das zur sicheren Übertragung der Zahlungsdaten verwendet wird. Die Server von Apple Pay nutzen den öffentlichen Schlüssel dieses Zertifikats zur Zahlungsverarbeitung, um die Zahlungsdaten zu entschlüsseln.

a. Den Zertifikatantrag (Certificate Signing Request, CSR) von der First Cash Solution erhalten

i. Wenden Sie sich an support@1cs.de und fragen nach Apple Pay CSR. Stellen Sie uns die Angaben zu Ihrer Apple Merchant ID zur Verfügung.

ii. CSR wird von Apple benötigt, um das Zertifikat zur Signierung des Payment Token zu generieren

b. Laden Sie den CSR bei Apple hoch

i. In Mitgliederzentrum wählen Sie Zertifikate, Kennungen & Profile. Unter Kennungen wählen Sie Merchant IDs. Wählen Sie die Merchant ID aus der Liste aus und klicken auf Bearbeiten.

ii. Klicken Sie auf Datei wählen, wählen den von der First Cash Solution erhaltenen CSR aus und klicken auf Generieren.

iii. Laden Sie das Zertifikat per Klick auf Download herunter und klicken dann auf Fertig

c. Zertifikat an die First Cash Solution weitergeben

i. Senden Sie das heruntergeladene Zertifikat (CER-Datei) zusammen mit Ihrer Apple Merchant ID an support@1cs.de

4. Aktivieren von Apple Pay für Ihre App in Xcode

a. Öffnen Sie die Ebene Fähigkeiten (Capabilities)

b. Wählen Sie den Schalter in der Zeile Apple Pay und wählen dann die Merchant IDs, die die App verwenden soll.

5. (NUR WEB) Erzeugen des Händleridentitätszertifikats (Merchant Identity Certificate). Ein TLS-Zertifikat (Transport Layer Security, TLS) dient zur Authentisierung Ihrer Händler-Sitzungen bei den Servern von Apple Pay.

Um Ihre Domain zu registrieren, zu bestätigen und Ihr Händleridentitätszertifikat zu erzeugen, führen Sie folgende Schritte aus:

a. Im Mitgliederzentrum wählen Sie Zertifikate, Kennungen und Profile.

b. Unter Kennungen wählen Sie Merchant IDs.

c. Wählen Sie die Merchant ID aus der Liste aus und klicken auf Bearbeiten.

d. Im Bereich Apple Pay im Web klicken Sie auf die Schaltfläche Domain hinzufügen.



e. Geben Sie Ihren vollständigen qualifizierten Domainnamen ein und klicken auf Weiter.

f. Die Seite erzeugt eine Datei und stellt sie zum Download zur Verfügung. Laden Sie diese Datei herunter und hosten sie am angegebenen Ort.

g. Sobald die Datei auf Ihrem Server verfügbar ist, klicken Sie auf die Schaltfläche Überprüfen. Wenn die Überprüfung erfolgreich ist, kehrt die Seite zur Einstellungsseite der iOS Merchant ID zurück und zeigt eine grüne Statuskennung Verifiziert.

h. Im Bereich Apple Pay im Web klicken Sie auf die Schaltfläche Zertifikat erzeugen. Folgen Sie den Anweisungen, um Ihr Händleridentitätszertifikat zu erzeugen und herunterzuladen. Verwenden Sie dieses Zertifikat zur Anforderung einer Händler-Sitzung während der Zahlungsvalidierung. Weitere Informationen finden Sie unter Merchant Validation in ApplePaySession.

6. Apple Pay in Ihre App oder den Web-Shop integrieren

a. Folgen Sie den Richtlinien: https://developer.apple.com/apple-pay

b. Wichtig: Beim Erzeugen von PKPaymentRequest, request.merchantCapabilities = PKMerchantCapability3DS. Die First Cash Solution unterstützt nur 3DS-Typen.

3 1cs Online Bezahlsystem-Schnittstelle

3.1 Definitionen

3.1.1 Datenformate

Format Beschreibung
a alphabetisch
as alphabetisch mit Sonderzeichen
n numerisch
an alphanumerisch
ans alphanumerisch mit Sonderzeichen
ns numerisch mit Sonderzeichen
bool Bool’scher Ausdruck (true oder false)
3 feste Länge mit 3 Stellen/Zeichen
..3 variable Länge mit maximal 3 Stellen/Zeichen
enum
Aufzählung erlaubter Werte
dttm ISODateTime (JJJJ-MM-TTThh:mm:ss)

3.1.2 Abkürzungen

Abkürzung Beschreibung
CND
Bedingung (condition)
M Pflicht (mandatory)
O Optional
C Bedingt (conditional)

Hinweis: Bitte beachten Sie, dass die Bezeichnungen der Parameter in Groß- oder Kleinbuchstaben zurückgegeben werden können.

3.2 Aufruf der Schnittstelle

Bei einer Kreditkartenzahlung über Apple Pay werden zwei Transaktionen angelegt. In der Apple-Pay-Transaktion werden zunächst die benötigten Kreditkartendaten ermittelt und dann automatisch die eigentliche Kreditkarten-Transaktion ausgeführt. Diese erfolgt über eine Server-zu-Server-Verbindung und unterstützt dabei alle Möglichkeiten der üblichen Kreditkartentransaktionen. Im Unterschied dazu übergeben Sie jedoch nicht die Ihnen unbekannten Kreditkartendaten, sondern den von Apple Pay generierten PKPaymentToken, der die benötigten Kreditkartendaten in verschlüsselter Form enthält.

Um eine Kreditkartenzahlung über Apple Pay abzuwickeln, rufen Sie folgende URL auf:

https://www.computop-paygate.com/applepay.aspx

Hinweis: Aus Sicherheitsgründen lehnt das 1cs Online Bezahlsystem alle Zahlungsanfragen mit Formatfehlern ab. Bitte übergeben Sie deshalb bei jedem Parameter den korrekten Datentyp.

Die folgende Tabelle beschreibt die verschlüsselten Übergabeparameter für Apple Pay. Die Tabelle beschreibt nur die Basisparameter. Es können auch alle Kreditkartenparameter (ohne Kreditkartendaten) einbezogen werden. Hierzu finden Sie weitere Informationen im Dokument Kreditkarten. Stellen Sie bei der Verarbeitung wiederkehrender Zahlungen oder gespeicherter Zugangsdaten für Dateitransaktionen sicher, dass Sie alle nötigen Informationen im "COF Mandate Integration Guide" beachten. Wenn spezifische Parameter für die Kreditkartenzahlung Pflicht sind, dann sind diese Parameter für Apple Pay ebenfalls Pflicht.

Parameter
Format CND Beschreibung

MerchantID

ans..30

M

HändlerID, die von der First Cash Solution vergeben wird. Dieser Parameter ist zusätzlich auch unverschlüsselt zu übergeben.

TransID

ans..64

M

TransaktionsID, die für jede Zahlung eindeutig sein muss

RefNr

ns..30

C

Eindeutige Referenznummer. Pflicht, wenn dieser Parameter für die Kartentransaktion des Händlers Pflicht ist.

Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie ("Umlaute", ...) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, ...).

Amount

n..10

M

Betrag in der kleinsten Währungseinheit (z.B. EUR Cent)

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Currency

a3

M

Währung, drei Zeichen DIN / ISO 4217

MAC

an64

M

Hash Message Authentication Code (HMAC) mit SHA-256-Algorithmus. Details finden Sie hier:

UserData

ans..1024

O

Wenn beim Aufruf angegeben, übergibt das 1cs Online Bezahlsystem die Parameter mit dem Zahlungsergebnis an den Shop

RTF

a1

O

Einrichtung der Vereinbarung für hinterlegte Zugangsdaten (Karteninhaber stimmt zu, dass seine Kartendaten für weitere Transaktionen gespeichert werden dürfen).

Capture

ans..6

O

Bestimmt Art und Zeitpunkt der Buchung (engl. Capture). AUTO: Buchung sofort nach Autorisierung (Standardwert). MANUAL: Buchung erfolgt durch den Händler. <Zahl>: Verzögerung in Stunden bis zur Buchung (ganze Zahl; 1 bis 696).

OrderDesc

ans..64

M

Beschreibung der gekauften Waren, Einzelpreise etc.

URLNotify

ans..256

O

Vollständige URL, die das Paygate aufruft, um den Shop zu benachrichtigen. Die URL darf nur über Port 443 aufgerufen werden. Sie darf keine Parameter enthalten: Nutzen Sie stattdessen den Parameter UserData.

MerchantIDExt

ans..128

C

Merchant Identifier des Public Keys

Pflicht, wenn mehr als ein Merchant Identifier bei der First Cash Solution hinterlegt ist.

TokenExt

ans..6000

M

Apple Pay PKPaymentToken als JSON-String im Base64-Format

Channel

a..10

O

Kanal, über den die Bestellung abgewickelt wird.
Erlaubt sind die Werte WEBSITE und MOBILE_APP

Parameter für Apple Pay

 

Die folgende Tabelle beschreibt die Ergebnis-Parameter, die das 1cs Online Bezahlsystem an Ihr System zurückgibt:

Parameter Format CND Beschreibung
MID

ans..30

M

HändlerID, die von der First Cash Solution vergeben wird

PayID

an32

M

Vom 1cs Online Bezahlsystem vergebene ID für die Zahlung, z.B. zur Referenzierung in Batch-Dateien.

Diese ID bezieht sich auf die Kreditkarten-Transaktion, es sei denn, es kommt bereits bei der Apple-Pay-Transaktion zu einem Fehler.

XID

an32

M

Vom 1cs Online Bezahlsystem vergebene ID für alle einzelnen Transaktionen (Autorisierung, Buchung, Gutschrift), die für eine Zahlung durchgeführt werden

TransID

ans..64

M

Transaktionsnummer des Händlers

RefNr

ans..30

O

eindeutige Referenznummer

Es sind ausschließlich ASCII-Zeichen erlaubt. Sonderzeichen wie ("Umlaute", ...) sind nicht erlaubt und müssen ggf. durch ASCII-Zeichen ersetzt werden (z.B. ü → ue, é → e, ...).

Status

a..50

M

OK oder FAILED

Description

ans..1024

M

Nähere Beschreibung bei Ablehnung der Zahlung. Bitte nutzen Sie nicht den Parameter Description sondern Code für die Auswertung des Transaktionsstatus!

Code

n8

M

Fehlercode gemäß Excel-Datei 1cs Online Bezahlsystem Antwort Codes

schemeReferenceID ans..64 C Kartensystemspezifische Transaktions-ID, die für nachfolgende Zahlungen mit hinterlegten Daten, verzögerte Autorisierungen und Wiedereinreichungen erforderlich ist.

Ergebnis-Parameter für Apple Pay

3.3 Buchung/Gutschrift/Storno

Buchungen, Gutschriften und Stornos beziehen sich nicht auf die Transaktion bei Apple Pay, sondern direkt auf die Kreditkarten-Transaktion. Hierzu finden Sie weitere Informationen im Dokument Kreditkarten.

3.4 Batch-Nutzung der Schnittstelle

Buchungen, Gutschriften und Stornos über Batch beziehen sich nicht auf die Transaktion bei Apple Pay, sondern direkt auf die Kreditkarten-Transaktion. Hierzu finden Sie weitere Informationen im Dokument Kreditkarten.