Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
ÜbersichtZahlung annehmenAktualisieren Sie Ihre Integration
Online-Zahlungen
ÜbersichtIhren Use case finden
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
Verwenden Sie Managed PaymentsWiederkehrende Zahlungen
Präsenzzahlungen
Terminal
    Übersicht
    Persönliche Zahlungen akzeptieren
    Globale Verfügbarkeit
    Integrationsdesign
    Wählen Sie Ihr Lesegerät aus
    Konzipieren einer Integration
    Quickstart
    Beispielanwendungen
    Tests
    Terminal einrichten
    Integration einrichten
    Mehrparteien-Zahlungen mit Connect
    Mit einem Lesegerät verbinden
    Zahlung annehmen
    Kartenzahlungen einziehen
    Weitere Zahlungsmethoden
    Offline-Zahlungen annehmen
    Versand-/Telefonbezahlung
    Regionale Aspekte
    Während des Bezahlvorgangs
    Trinkgelder einziehen
    Zahlungsdetails erfassen und für die zukünftige Verwendung speichern
    Flexible Autorisierungen
    Nach dem Bezahlen
    Transaktionen zurückerstatten
    Belege zur Verfügung stellen
    Checkout anpassen
    Anzeige des Warenkorbs
    Eingaben auf dem Bildschirm erfassen
    Ausgelesene Daten erfassen
    Erfassen von Daten durch Tippen für NFC-Geräte
    Apps auf Geräten
    Lesegeräte verwalten
    Lesegeräte anfordern, zurückgeben, ersetzen
    Lesegerät registrieren
    Standorte und Zonen verwalten
    Lesegeräte konfigurieren
    Lesegeräte überwachen
    Quellen
    API-Referenzen
    Mobile Lesegeräte
    Intelligente Lesegeräte
    Tap-to-Pay-Lesegeräte
    SDK-Migrationsleitfaden
      Migrationsleitfaden SDK v4
      SDK v3-Migrationsleitfaden
    Bereitstellungscheckliste
    Produktdatenblätter für Lesegeräte von Stripe Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsvorgänge
Analytik
Salden und Abwicklungsdauer
Compliance und Sicherheit
Währungen
Abgelehnte Zahlungen
Anfechtungen
Betrugsprävention
Betrugsprävention von Radar
Auszahlungen
ZahlungsbelegeRückerstattungen und Stornierungen
Erweiterte Integrationen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Multiprozessor-Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenTerminal

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 _

Swift
Objective-C
No results
// Step 1: Collect payment method Terminal.shared.collectPaymentMethod(paymentIntent, collectConfig: collectConfig) { collectedPaymentIntent, collectError in guard let collectedPaymentIntent = collectedPaymentIntent else { // Payment method collection failed return } // Step 2: Confirm the payment Terminal.shared.confirmPaymentIntent(collectedPaymentIntent) { confirmedPaymentIntent, confirmError in if let confirmedPaymentIntent = confirmedPaymentIntent { // Payment successful } else { // Payment confirmation failed } } }

_Nachher _

Swift
Objective-C
No results
// Process and confirm the payment in one step Terminal.shared.processPaymentIntent(paymentIntent, collectConfig: collectConfig) { processedPaymentIntent, processError in if let processedPaymentIntent = processedPaymentIntent { // Payment successful } else { // Payment failed } }

Abwicklung von Rückerstattungen mit processRefund

Die Methoden collectRefundPaymentMethod und confirmRefund sind jetzt veraltet. Verwenden Sie stattdessen processRefund.

_Vorher _

Swift
Objective-C
No results
// Step 1: Collect refund payment method Terminal.shared.collectRefundPaymentMethod(refundParams) { collectError in guard collectError == nil else { // Refund collection failed return } // Step 2: Confirm the refund Terminal.shared.confirmRefund { refund, confirmError in if let refund = refund { // Refund successful } else { // Refund confirmation failed } } }

_Nachher _

Swift
Objective-C
No results
// Process the refund in one step Terminal.shared.processRefund(refundParams) { refund, refundError in if let refund = refund { // Refund successful } else { // Refund failed } }

SetupIntents mit processSetupIntent verarbeiten

Zweistufige Lösung zum Erfassen und Bestätigen durch einen einzigen Aufruf der Methode processSetupIntent ersetzen.

_Vorher _

Swift
Objective-C
No results
// Step 1: Collect setup intent payment method Terminal.shared.collectSetupIntentPaymentMethod(setupIntent, customerConsentCollected: true) { collectedSetupIntent, collectError in guard let collectedSetupIntent = collectedSetupIntent else { // Setup intent collection failed return } // Step 2: Confirm the setup intent Terminal.shared.confirmSetupIntent(collectedSetupIntent) { confirmedSetupIntent, confirmError in if let confirmedSetupIntent = confirmedSetupIntent { // Setup intent successful } else { // Setup intent confirmation failed } } }

_Nachher _

Swift
Objective-C
No results
// Configure with allowRedisplay let config = try CollectSetupIntentConfigurationBuilder() .setAllowRedisplay(.always) .build() // Process the setup intent in one step Terminal.shared.processSetupIntent(setupIntent, collectConfig: config) { processedSetupIntent, setupError in if let processedSetupIntent = processedSetupIntent { // Setup intent successful } else { // Setup intent failed } }

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.initWithTokenProvider(_tokenProvider:) initialisieren, bevor Sie auf das Singleton Datenterminal.shared zugreifen können.

_Vorher _

Swift
Objective-C
No results
// In your AppDelegate or scene delegate Terminal.setTokenProvider(yourTokenProvider)

_Nachher _

Swift
Objective-C
No results
// In your AppDelegate or scene delegate, at app launch Terminal.initWithTokenProvider(yourTokenProvider)

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 _

Swift
Objective-C
No results
let config = SCPInternetDiscoveryConfiguration(isSimulated: true)

_Nachher _

Swift
Objective-C
No results
let config = InternetDiscoveryConfiguration.Builder() .setSimulated(true) .build()

Umgang mit Änderungen des Wiederverbindungsstatus

Ein neuer .reconnecting-Wert wurde zur ConnectionStatus-Enumeration hinzugefügt. Während einer erneuten Verbindung ist Terminal.shared.connectedReader jetzt null, bis die erneute Verbindung erfolgreich war.

_Vorher _

Swift
Objective-C
No results
func terminal(_ terminal: Terminal, didChange connectionStatus: ConnectionStatus) { switch connectionStatus { case .notConnected: // Handle not connected case .connected: // Handle connected @unknown default: break } }

_Nachher _

Swift
Objective-C
No results
func terminal(_ terminal: Terminal, didChange connectionStatus: ConnectionStatus) { switch connectionStatus { case .notConnected: // Handle not connected case .connected: // Handle connected case .reconnecting: // Handle reconnection in progress @unknown default: break } }

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.shared.easyConnectverwenden, das Entdeckung und Verbindung in einem einzigen Methodenaufruf vereint.

_Vorher _

Swift
Objective-C
No results
// Step 1: Discover the reader Terminal.shared.discoverReaders(config, delegate: discoveryDelegate) { error in if let error = error { // Handle discovery error } } // In your DiscoveryDelegate func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) { guard let selectedReader = readers.first else { return } // Step 2: Connect to the reader Terminal.shared.connectReader(selectedReader, connectionConfig: connectionConfig) { reader, error in if let reader = reader { // Handle successful connection } else if let error = error { // Handle connection error } } }

_Nachher _

Swift
Objective-C
No results
// Discover and connect in one step by providing discovery filter let discoveryConfig = try InternetDiscoveryConfigurationBuilder() .setLocationId("tml_1234567890") // optional, specify your location ID .setDiscoveryFilter(.bySerial("YOUR-READER-SERIAL-NUMBER")) .build() let connectionConfig = try InternetConnectionConfigurationBuilder() .setFailIfInUse(false) .build() let easyConnectConfig = InternetEasyConnectConfiguration( discoveryConfiguration: discoveryConfig, connectionConfiguration: connectionConfig ) Terminal.shared.easyConnect( easyConnectConfig, delegate: internetReaderDelegate ) { reader, error in if let reader = reader { // Handle successful connection } else if let error = error { // Handle failure } }

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 _

Swift
Objective-C
No results
let config = InternetDiscoveryConfigurationBuilder() .setLocationId("tml_1234567890") .build()

_Nachher _

Swift
Objective-C
No results
let config = try InternetDiscoveryConfigurationBuilder() .setLocationId("tml_1234567890") // optional .setDiscoveryFilter(.bySerial("READER-SERIAL-NUMBER")) // or .byReaderId("tmr_YOUR-READER-STRIPE-ID") to filter by reader id .build()

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 _

Swift
Objective-C
No results
let collectConfig = try CollectConfigurationBuilder() .setEnableCustomerCancellation(false) .build()

_Nachher _

Swift
Objective-C
No results
let collectConfig = try CollectPaymentIntentConfigurationBuilder() .setCustomerCancellation(.disableIfAvailable) .build()

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 _

Swift
Objective-C
No results
let refundParams = try RefundParametersBuilder( paymentIntentId: "pi_123", amount: 1000, currency: "cad" ).build()

_Nachher _

Swift
Objective-C
No results
let refundParams = try RefundParametersBuilder( paymentIntentId: "pi_123", clientSecret: "pi_123_secret_abc", amount: 1000, currency: "cad" ).build()
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc