Integration einrichten
Für den Einstieg in das iOS SDK sind vier Schritte erforderlich:
- Installieren Sie das SDK in Ihrer App
- Konfigurieren Sie Ihre App
- Richten Sie den ConnectionToken-Endpoint in Ihrer App und auf Ihrem Backend ein
- Initialisieren Sie das SDK in Ihrer App
SDK installierenClientseitig
Das Stripe Terminal iOS SDK ist mit Apps kompatibel, die:
- iOS 13 und höher unterstützen
- MIt CocoaPods, Swift Package Manager oder durch die manuelle Integration des Frameworks installiert werden
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung eines neuen Release eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen Repository oder abonnieren Sie den Feed von Github Releases RSS.
Informationen zur Migration von älteren Versionen des iOS SDK finden Sie im Migrationsleitfaden für Stripe Terminal SDK.
App konfigurierenClientseitig
Damit Ihre App mit dem Stripe Terminal SDK verwendet werden kann, müssen Sie in Xcode einige Änderungen an Ihrer Datei Info.plist vornehmen.
Aktivieren Sie Standortdienste mit dem folgenden Schlüssel-Wert-Paar.
Datenschutz – „Location When In Use Usage Description“ Schlüssel NSLocationWhenInUseUsageDescription Wert Zur Annahme von Zahlungen ist ein Standortzugriff erforderlich. Um das Risiko von Betrugsfällen bei Zahlungen zu reduzieren und Zahlungsanfechtungen zu minimieren, muss Stripe den Standort der getätigten Zahlungen kennen. Wenn das SDK den Standort des iOS-Geräts nicht ermitteln kann, werden alle Zahlungen bis zur Wiederherstellung des Standortzugriffs deaktiviert.
Stellen Sie sicher, dass Ihre App im Hintergrund ausgeführt wird und mit den Bluetooth-Lesegeräten verbunden bleibt.
Erforderliche Hintergrundmodi für Bluetooth-Lesegeräte Schlüssel UIBackgroundModes Wert bluetooth-central (Verwendet Zubehör von Bluetooth LE) Mit dem Festlegen des Hintergrundmodus bluetooth-central kann das Lesegerät im Standby-Modus bleiben, wenn die App im Hintergrund läuft oder wenn das iOS-Gerät gesperrt ist. Wird dieser Wert nicht angegeben, wird der Standby-Modus nicht aktiviert. Wenn Ihre App im Hintergrund läuft, kann sich das Lesegerät zum Energiesparen automatisch ausschalten.
Gestatten Sie Ihrer App, ein Dialogfeld für Bluetooth-Berechtigungen anzuzeigen. Der App-Store verlangt dies, auch wenn Ihre App die Verbindung mit Bluetooth-Lesegeräten nicht unterstützt.
Datenschutz – „Bluetooth Always Usage Description“ Schlüssel NSBluetoothAlwaysUsageDescription Wert Diese App verwendet Bluetooth, um sich mit unterstützten Kartenlesegeräten zu verbinden. iOS 13 führte spezifischere Berechtigungen für die Verwendung von Bluetooth-Peripheriegeräten durch eine App ein. Apps, die sich mit Core Bluetooth verbinden, müssen diesen Schlüssel in ihre Info.plist-Datei aufnehmen, um zu verhindern, dass die App beim ersten Start abstürzt.
App-Validierungsprüfungen bestehen, wenn Sie sie an den App Store übermittlen. Ab SDK-Version 3.4.0 ist diese Berechtigung nicht mehr erforderlich.
Datenschutz – „Bluetooth Peripheral Usage Description“ Schlüssel NSBluetoothPeripheralUsageDescription Wert Für die Verbindung mit unterstützten Kartenlesegeräten ist Bluetooth-Zugriff erforderlich. Es handelt sich hierbei um ein Beispiel – Sie können die Aufforderung zur Nutzerberechtigung in Ihrer App umformulieren.
Speichern Sie die Info.plist Ihrer App. Die App ist jetzt korrekt konfiguriert und kann mit dem Stripe Terminal SDK verwendet werden.
ConnectionToken-Endpoint einrichtenServerseitigClientseitig
Serverseitig
Um sich mit einem Lesegerät verbinden zu können, muss das Backend dem SDK erlauben, das Lesegerät in Ihrem Stripe-Konto zu nutzen. Dazu stellt es dem SDK das Geheimnis aus einem ConnectionToken zur Verfügung. Das Backend muss nur Verbindungstoken für vertrauenswürdige Clients erstellen.
Beziehen Sie das Geheimnis aus dem ConnectionToken auf Ihrem Server und übergeben Sie es an den Client.
Vorsicht
Mit dem Geheimnis aus dem ConnectionToken auf Ihrem Server können Sie sich mit einem Stripe Terminal-Lesegerät verbinden und Zahlungen mit Ihrem Stripe-Konto annehmen. Stellen Sie sicher, dass Sie den Endpoint zum Erstellen von Verbindungstoken authentifizieren und diesen vor Cross Site Request Forgery (CSRF) schützen.
Clientseitig
Um dem SDK Zugriff auf diesen Endpoint zu ermöglichen, implementieren Sie das ConnectionTokenProvider-Protokoll in Ihrer App, das eine einzelne Funktion definiert, die einen ConnectionToken aus Ihrem Backend anfordert.
Diese Funktion wird aufgerufen, wenn das SDK sich bei Stripe oder dem Lesegerät authentifizieren muss. Sie wird auch aufgerufen, wenn ein neues Verbindungstoken benötigt wird, um sich mit einem Lesegerät zu verbinden (z. B. wenn Ihre App sich von einem Lesegerät getrennt hat). Wenn das SDK kein neues Verbindungstoken von Ihrem Backend abrufen kann, schlägt die Verbindung zu einem Lesegerät mit einem Fehler von Ihrem Server fehl.
Vorsicht
Speichern Sie das Verbindungstoken nicht im Cache und codieren Sie es nicht fest. Der Lebenszyklus des Verbindungstokens wird vom SDK verwaltet.
Certificate Pinning
In den meisten Fällen sollten Sie Ihre Anwendung nicht mit Certificate Pinning konfigurieren. Erfordert Ihre Anwendung dies dennoch, so lesen Sie bitte die Dokumentation zum Certificate Pinning.
SDK initialisierenClientseitig
Die vom Stripe Terminal SDK bereitgestellte Terminal
-Klasse verfügt über eine allgemeine Nutzeroberfläche für die Suche nach Lesegeräten, die Verbindung mit einem Lesegerät und die Erstellung von Zahlungen.
Geben Sie als Erstes Ihren in Schritt 3 implementierten ConnectionTokenProvider
an. Sie können setTokenProvider
nur einmal in Ihrer App aufrufen und müssen es vor dem Zugriff auf Terminal.shared
aufrufen. Wir empfehlen, setTokenProvider
in der Methode application:didFinishLaunchingWithOptions
Ihres AppDelegates aufzurufen. Alternativ können Sie dispatch_once
in Objective-C oder einen Konstruktor vom Typ static
in Swift verwenden.
SDK-Aktualisierungen
Stripe veröffentlicht regelmäßig Updates, die neue Funktionen, Fehlerkorrekturen und Sicherheitsupdates enthalten können. Aktualisieren Sie Ihr SDK, sobald eine neue Version verfügbar ist. Die derzeit verfügbaren SDKs sind:
- Stripe Terminal Android SDK
- Stripe Terminal iOS SDK
- Stripe Terminal JavaScript SDK
- Stripe Terminal React Native SDK