Configuration
Installez Stripe Terminal et synchronisez les projets Capacitor natifs.
npm install @capacitor-community/stripe-terminal
npx cap sync
Le plugin est @capacitor-community/stripe-terminal v8.2.1. Démos officielles :
| Prérequis | Minimum |
|---|---|
| Capacitor | 8 |
| iOS | 15.0 |
Android minSdkVersion |
26 |
Choisir une plateforme et un type de connexion
discoverReaders reçoit une valeur TerminalConnectTypes. Choisissez un type de connexion pris en charge par votre plateforme, puis appliquez uniquement les réglages requis pour cette plateforme ci-dessous.
TerminalConnectTypes |
Web | iOS | Android |
|---|---|---|---|
Internet |
Oui — seul type pris en charge | Oui | Oui |
Bluetooth |
Non | Oui | Oui |
TapToPay |
Non | Oui | Oui |
Usb |
Non | Non implémenté | Oui |
HandOff |
Non | Non implémenté | Oui (Apps on Devices) |
Simulated |
Non | Non implémenté comme type de recherche | Traité comme une recherche Bluetooth |
Sur chaque plateforme, transmettez isTest: true à initialize pour utiliser des lecteurs simulés avec un type de connexion pris en charge. Ne vous appuyez pas sur TerminalConnectTypes.Simulated sur iOS ou le Web ; utilisez plutôt Internet, Bluetooth ou TapToPay avec isTest: true.
Sur le Web, discoverReaders rejette tout type autre que Internet avec une erreur indiquant son indisponibilité.
Configuration Web
Aucune étape supplémentaire n’est nécessaire. Seuls les lecteurs Internet sont disponibles.
Configuration iOS
Le plugin ne nécessite aucune étape supplémentaire. USB, HandOff et setTapToPayUxConfiguration ne sont pas implémentés sur iOS.
Configuration Android
Ajoutez les autorisations à votre fichier android/app/src/main/AndroidManifest.xml :
+ <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 est rejeté si ACCESS_FINE_LOCATION n’a pas été accordée à l’exécution.
Mettez également minSdkVersion à 26 dans votre fichier android/variables.gradle :
ext {
- minSdkVersion = 24
+ minSdkVersion = 26
Si vous développez des applications pour des appareils Android Stripe (par exemple Stripe Reader S700) avec TerminalConnectTypes.HandOff, suivez le guide de configuration côté client de Stripe.
Étape suivante
Après les réglages de plateforme requis ci-dessus, poursuivez avec Encaisser un paiement.
Référence des plateformes
API propres à une plateforme
| API | Web | iOS | Android |
|---|---|---|---|
setTapToPayUxConfiguration |
Sans effet (journalisation uniquement) | Non implémenté | Oui — après initialize, avant connectReader |
isTapToPayAccountLinked |
Indisponible (lève une erreur) | Oui — iOS 16.4+, après initialize |
Non implémenté |
Consultez Tap to Pay pour l’ordre de configuration et les limitations.
Méthodes de cycle de vie sans effet ou non prises en charge sur le Web
Ces méthodes existent dans l’interface du plugin, mais ne pilotent pas le SDK JavaScript Stripe Terminal sur le Web :
cancelDiscoverReaders— sans effetsetSimulatorConfiguration— sans effetinstallAvailableUpdate— sans effetcancelInstallUpdate— sans effetrebootReader— sans effetcancelReaderReconnection— sans effetsetTapToPayUxConfiguration— sans effet
isTapToPayAccountLinked lève unavailable sur le Web.
Les lecteurs Internet sur le Web prennent toujours en charge initialize, discoverReaders, connectReader, getConnectedReader, disconnectReader, collectPaymentMethod, cancelCollectPaymentMethod, confirmPaymentIntent, setReaderDisplay, clearReaderDisplay, setConnectionToken ainsi que les écouteurs d’état de connexion et de paiement.