Terminal SDK-Migrationsleitfaden
Erfahren Sie, wie Sie zur Version 5.0.0 des Stripe-Terminal-SDK migrieren.
Die iOS und Android SDKs für Stripe Terminal wurden mit einer Reihe wichtiger Änderungen an APIs und Verhalten aktualisiert, von denen einige erfordern, dass Sie Ihre Integration mit dem Stripe Terminal SDK aktualisieren. Um die Konsistenz zwischen unseren SDKs zu verbessern und Ihre Anwendungslogik und -integration zu vereinfachen, nehmen wir im Rahmen wichtiger Versionsaktualisierungen nderungen vor vor, die sich auf die Funktionsweise oder das Verhalten Ihrer Integration auswirken können. In diesem Leitfaden werden die neuesten Änderungen erläutert, um Sie bei der Aktualisierung Ihrer Integration zu unterstützen.
Hinweis
Erstellen Sie gerade eine neue Stripe Terminal-Integration? Auf unserer Seite zum Entwerfen einer Integration erfahren Sie, wie Sie beginnen können.
Migration zu Version 5.0.0
Hier erfahren Sie, was Sie über die SDKs für 5.0.0 Stripe Terminal iOS und Android wissen müssen:
- Vereinfachte Integration von Zahlungen
- Zahlungsabwicklung, Setup Intents und Rückerstattungen mit einem einzigen Methodenaufruf, bei die Schritte der Erfassung und der Bestätigung kombiniert werden.
- Unterstützt moderne asynchrone Swift-Varianten und Kotlin Coroutines zur Vereinfachung komplexer asynchroner Abläufe
- Swift Concurrency (async/await) für iOS und Kotlin Coroutines für Android.
- Kundenstornierung standardmäßig aktiviert
- Auf unterstützten Lesegeräten können Kundinnen und Kunden jetzt standardmäßig Transaktionen während der Zahlung, Einrichtung, Rückerstattung und der Datenerfassung stornieren.
- Verbesserte Beobachtung der automatischen Wiederverbindung des mobilen Lesegeräts und des Tap-to-Pay-Lesegeräts
- Verbesserte automatische Behandlung der Wiederverbindung von Lesegeräten mit mehr Verbindungsstatus für mobile Lesegeräte (Bluetooth und USB) und Tap-to-Pay-Lesegeräte.
- Karten für Tap to Pay auf Android unterstützen Öffentliche Vorschau
- Discover-Kartenzahlungen mit Tap to Pay auf Android annehmen.
- Aktualisiert auf die unterstützten Mindestversionen der Plattformen von iOS 14.0 auf iOS 15.0
Wenn Ihre Anwendung derzeit eine Terminal-iOS-SDK-Version vor 5.0.0 verwendet, müssen Sie mehrere Änderungen für ein Upgrade vornehmen. Eine detaillierte Liste der Änderungen von Version 4.x auf 5.0.0 finden Sie im SDK-Änderungsprotokoll.
Aktualisieren Sie Ihre unterstützte Mindestversion auf iOS 15 oder höher
Wir aktualisieren regelmäßig die unterstützte Mindestversion unserer SDKs, um unseren Entwicklerinnen und Entwicklern die bestmögliche Erfahrung zu bieten.
Vorhandene 4.X-Versionen des Terminal iOS SDK unterstützen weiterhin Geräte mit iOS 14 und höher.
Vereinfachte Integration von Zahlungen
Aktualisierung auf einheitliche Zahlungsabwicklung
Das v5 SDK enthält Methoden, die die Schritte der Erfassung und Bestätigung in einem einzigen Vorgang kombinieren. Während die bestehenden Methoden collectPaymentMethod und confirmPaymentIntent weiterhin funktionieren, empfehlen wir für einfachere Integrationen die Verwendung der einheitlichen Methoden.
Zahlungen mit processPaymentIntent abwickeln
Ersetzen Sie die zweistufige Erfassung und Bestätigung durch einen einzigen Aufruf der Methode processPaymentIntent.
_Vorher _
_Nachher _
Abwicklung von Rückerstattungen mit processRefund
Die Methoden collectRefundPaymentMethod und confirmRefund sind jetzt veraltet. Verwenden Sie stattdessen processRefund.
_Vorher _
_Nachher _
SetupIntents mit processSetupIntent verarbeiten
Zweistufige Lösung zum Erfassen und Bestätigen durch einen einzigen Aufruf der Methode processSetupIntent ersetzen.
_Vorher _
_Nachher _
Support für Swift-async-Variante
Das SDK bietet jetzt asynchrone Varianten für Terminal-Methoden. Sie können saubereren, sequentiellen Code schreiben, anstatt Abschluss-Handler zu verschachteln.
_Vorher _
let cancelable = Terminal.shared.collectPaymentMethod(paymentIntent, collectConfig: collectConfig) { collectedPaymentIntent, collectError in guard let collectedPaymentIntent = collectedPaymentIntent else { // Payment method collection failed return } Terminal.shared.confirmPaymentIntent(collectedPaymentIntent) { confirmedPaymentIntent, confirmError in // Handle confirmation } }
_Nachher _
let collectTask = Task { do { let collectedIntent = try await Terminal.shared.collectPaymentMethod(paymentIntent, collectConfig: collectConfig) let confirmedIntent = try await Terminal.shared.confirmPaymentIntent(collectedIntent) // Payment successful } catch { // Handle error } } // Use collectTask.cancel() to cancel the operation when needed
Plattform und Initialisierung
Terminal Initialisierung aktualisieren
Die Methode setTokenProvider wurde entfernt. Sie müssen das SDK nun mit der statischen Methode Datenterminal. initialisieren, bevor Sie auf das Singleton Datenterminal. zugreifen können.
_Vorher _
_Nachher _
Erkennung und Verbindung des Lesegeräts
DiscoveryConfiguration-Initialisierung aktualisieren
Sie können DiscoveryConfiguration-Objekte nicht mehr direkt mit init oder new initialisieren. Sie müssen jetzt die zugehörigen Builder-Klassen verwenden.
_Vorher _
_Nachher _
Umgang mit Änderungen des Wiederverbindungsstatus
Ein neuer .-Wert wurde zur ConnectionStatus-Enumeration hinzugefügt. Während einer erneuten Verbindung ist Terminal. jetzt null, bis die erneute Verbindung erfolgreich war.
_Vorher _
_Nachher _
Optimierte Verbindung mit easyConnect
Für Smart Reader und Tap-to-Pay-Integrationen mit iOS SDK 5.1 oder neuer, können Sie jetzt Terminal.verwenden, das Entdeckung und Verbindung in einem einzigen Methodenaufruf vereint.
_Vorher _
_Nachher _
Erkennungsfilterung für Internet-Lesegeräte
Die Erkennung von Internet-Lesegeräten unterstützt jetzt die Filterung nach Lesegerät-ID oder Seriennummer. Legen Sie die Eigenschaft discoveryFilter in InternetDiscoveryConfigurationBuilder fest, um ein bestimmtes Lesegerät zu erkennen.
_Vorher _
_Nachher _
Annahme von Zahlungen und Datenerfassung
Kundenstornierung ist jetzt standardmäßig aktiviert
Auf unterstützten Lesegeräten ist die Möglichkeit für Kundinnen und Kunden, Transaktionen zu stornieren, jetzt standardmäßig aktiviert. Die Eigenschaft customerCancellation wurde von einem Bool in die neue Enumeration SCPCustomerCancellation geändert.
_Vorher _
_Nachher _
Aktualisierungen der Interac-Rückerstattungsparameter
Wenn Sie SCPRefundParameters für eine Interac-Rückerstattung mit einer PaymentIntent-ID erstellen, müssen Sie jetzt auch das clientSecret des PaymentIntents übergeben. Alternativ können Sie die ID der Zahlung weiter verwenden, für die kein clientSecret erforderlich ist.
_Vorher _
_Nachher _