Konfiguration
Installieren Sie Stripe Terminal und synchronisieren Sie die nativen Capacitor-Projekte.
npm install @capacitor-community/stripe-terminal
npx cap sync
Das Plugin ist @capacitor-community/stripe-terminal v8.2.1. Offizielle Demos:
| Voraussetzung | Minimum |
|---|---|
| Capacitor | 8 |
| iOS | 15.0 |
Android minSdkVersion |
26 |
Plattform und Verbindungstyp wählen
discoverReaders erhält einen Wert aus TerminalConnectTypes. Wählen Sie einen von Ihrer Plattform unterstützten Verbindungstyp und nehmen Sie anschließend nur die unten für diese Plattform erforderlichen Einstellungen vor.
TerminalConnectTypes |
Web | iOS | Android |
|---|---|---|---|
Internet |
Ja — der einzige unterstützte Typ | Ja | Ja |
Bluetooth |
Nein | Ja | Ja |
TapToPay |
Nein | Ja | Ja |
Usb |
Nein | Nicht implementiert | Ja |
HandOff |
Nein | Nicht implementiert | Ja (Apps on Devices) |
Simulated |
Nein | Als Suchtyp nicht implementiert | Wird als Bluetooth-Suche behandelt |
Übergeben Sie auf jeder Plattform isTest: true an initialize, wenn Sie simulierte Lesegeräte für einen unterstützten Verbindungstyp verwenden möchten. Verlassen Sie sich unter iOS oder im Web nicht auf TerminalConnectTypes.Simulated; verwenden Sie stattdessen Internet, Bluetooth oder TapToPay mit isTest: true.
Im Web weist discoverReaders alle Typen außer Internet mit einem Fehler wegen Nichtverfügbarkeit zurück.
Webkonfiguration
Es sind keine weiteren Schritte erforderlich. Nur Internet-Lesegeräte sind verfügbar.
iOS-Konfiguration
Für das Plugin sind keine weiteren Schritte erforderlich. USB, HandOff und setTapToPayUxConfiguration sind unter iOS nicht implementiert.
Android-Konfiguration
Fügen Sie Ihrem Dokument android/app/src/main/AndroidManifest.xml die Berechtigungen hinzu:
+ <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+ <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
+ <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
+ <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
+ <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
discoverReaders wird abgewiesen, wenn ACCESS_FINE_LOCATION nicht zur Laufzeit erteilt wurde.
Setzen Sie außerdem minSdkVersion in Ihrer Datei android/variables.gradle auf 26:
ext {
- minSdkVersion = 24
+ minSdkVersion = 26
Wenn Sie Apps für Stripe-Android-Geräte (etwa Stripe Reader S700) entwickeln und TerminalConnectTypes.HandOff verwenden, folgen Sie der Anleitung von Stripe zur clientseitigen Einrichtung.
Nächster Schritt
Nach den oben beschriebenen erforderlichen Plattformeinstellungen fahren Sie mit Eine Zahlung abwickeln fort.
Plattformreferenz
Plattformspezifische APIs
| API | Web | iOS | Android |
|---|---|---|---|
setTapToPayUxConfiguration |
Ohne Wirkung (nur Protokollierung) | Nicht implementiert | Ja — nach initialize, vor connectReader aufrufen |
isTapToPayAccountLinked |
Nicht verfügbar (löst einen Fehler aus) | Ja — iOS 16.4+, nach initialize |
Nicht implementiert |
Die Einrichtungsreihenfolge und Einschränkungen finden Sie unter Tap to Pay.
Wirkungslose und nicht unterstützte Lebenszyklusmethoden im Web
Diese Methoden sind in der Plugin-Schnittstelle vorhanden, steuern im Web jedoch nicht das Stripe Terminal JS SDK:
cancelDiscoverReaders— ohne WirkungsetSimulatorConfiguration— ohne WirkunginstallAvailableUpdate— ohne WirkungcancelInstallUpdate— ohne WirkungrebootReader— ohne WirkungcancelReaderReconnection— ohne WirkungsetTapToPayUxConfiguration— ohne Wirkung
isTapToPayAccountLinked löst im Web unavailable aus.
Internet-Lesegeräte im Web unterstützen weiterhin initialize, discoverReaders, connectReader, getConnectedReader, disconnectReader, collectPaymentMethod, cancelCollectPaymentMethod, confirmPaymentIntent, setReaderDisplay, clearReaderDisplay, setConnectionToken sowie die Listener für Verbindungs- und Zahlungsstatus.