Accéder directement au contenu
Créez un compte
ou
connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compte
Connectez-vous
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Outils de développement
Démarrer
Paiements
Automatisation des opérations financières
Démarrer
Paiements
Automatisation des opérations financières
Plateformes et places de marché
Gestion de fonds
Aperçu
À propos des paiements Stripe
Mettre votre intégration à niveau
Analyses des paiements
Paiements en ligne
PrésentationTrouver votre cas d'usageManaged Payments
Utiliser Payment Links
Créer une page de paiement
Développer une intégration avancée
Développer une intégration dans l'application
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Interfaces de paiement
Payment Links
Checkout
Web Elements
Elements intégrés à l'application
Scénarios de paiement
Tunnels de paiement personnalisés
Acquisition flexible
Orchestration
Paiements par TPE
Terminal
    Présentation
    Accepter les paiements par TPE
    Conception d'intégration
    Choisir votre lecteur
    Concevoir une intégration
    Démarrage rapide
    Exemples d'applications
    Tests
    Configuration de Terminal
    Configurer votre intégration
    Se connecter à un lecteur
    Acceptation d'un paiement
    Encaisser des paiements par carte
    Autres moyens de paiement
    Accepter les paiements hors ligne
    Paiement des commande par courrier/par téléphone
    Spécificités régionales
    Lors du règlement
    Collecter des pourboires
    Collecter et enregistrer des informations de paiement pour une utilisation ultérieure
    Autorisations flexibles
    Après le paiement
    Rembourser des transactions
    Fournir des reçus
    Personnalisez Checkout
    Affichage du panier
    Collecter les données saisies à l'écran
    Collecter les données des lectures de la piste magnétique
    Collecter les données des paiements NFC sans contact
    Applications sur des appareils
      Développer et tester votre application
      Préparer une application en vue de sa vérification
      Envoyer votre application pour vérification
      Déployer votre application dans le Dashboard
      Déployer votre application à l'aide de l'API
      Suivre votre déploiement
      Résolution des problèmes
    Gérer les lecteurs
    Commander, renvoyer ou remplacer des lecteurs
    Enregistrer des lecteurs
    Gérer les emplacements et les zones
    Configurer des lecteurs
    Chiffrement
    Références
    Documentation de l'API
    Lecteurs mobiles
    Lecteurs intelligents
    Guide de migration du SDK
    Liste de contrôle pour le déploiement
    Fiches produit du lecteur Stripe Terminal
Autres produits Stripe
Financial Connections
Cryptomonnaies
Climate
AccueilPaiementsTerminalApps on devices

Développer et tester votre application

Apprenez à créer et à tester votre application à l'aide d'un DevKit.

Copier la page

Exemple d'intégration

Accédez à l’exemple de référentiel d’intégration d’Apps on Devices sur GitHub.

Utilisez votre appareil DevKit SmartPOS pour tester et itérer votre application sans passer par le processus de déploiement, de révision d’application ou de signature.

Si vous avez besoin d’un appareil DevKit, vous pouvez en commander jusqu’à cinq par utilisateur dans la section Lecteurs de votre Dashboard.

Configurer le DevKit

Avant de pouvoir utiliser votre DevKit pour le développement d’applications, vous devez effectuer les opérations suivantes :

  1. Suivez les contrôles à l’écran pour vous connecter à un réseau.
  2. Enregistrez l’appareil dans votre compte Stripe.
  3. Installez toutes les mises à jour disponibles.

Après la configuration initiale, vous pouvez à tout moment enregistrer votre DevKit sur un autre compte ou un autre emplacement. Pour ce faire, connectez le DevKit à Internet et suivez les étapes d’enregistrement d’un lecteur.

Bien qu’ils soient similaires aux appareils de production, les appareils DevKit :

  • Ne peut fonctionner que dans les environnements de test.
  • Sont fournis avec les options pour les développeurs et Android Debug Bridge (adb) activés par défaut.
  • Affichent un filigrane à l’écran pour indiquer que l’appareil n’est utilisé qu’à des fins de test. Le filigrane se déplace sur l’écran lorsque l’appareil est utilisé pour que toutes les parties de l’écran restent visibles.

L’API Terminal prend en charge le ciblage des appareils DevKit enregistrés.

Développer votre application pour les appareils Stripe

Suivez les étapes ci-après pour développer votre application en vue d’une utilisation avec des appareils Android Stripe, y compris la configuration de l’application et le passage à l’application du lecteur Stripe.

Configurer l'application
Côté client

Tout d’abord, configurez votre intégration pour les paiements en personne. Ensuite, suivez les conseils ci-dessous pour les intégrations Apps on Devices.

Ajouter des dépendances

Ajoutez les dépendances suivantes au script de génération Gradle de votre projet. Les intégrations Apps on Devices nécessitent la version 2.22.0 du SDK Android Terminal ou une version ultérieure. Nous vous recommandons de procéder à l’intégration avec la dernière version.

build.gradle.kts
Kotlin
dependencies { implementation("com.stripe:stripeterminal-core:4.4.0") implementation("com.stripe:stripeterminal-handoffclient:4.4.0") }

Assurez-vous que vous n’utilisez pas d’autres dépendances du SDK Stripe Terminal. Par exemple, si vous avez déjà intégré le SDK Android Terminal, n’utilisez pas la dépendance de niveau supérieur com.stripe:stripeterminal (par exemple, com.stripe:stripeterminal:4.4.0).

Découvrez un exemple d’inclusion de dépendances dans le script de build de votre application.

Configurer votre application

Pour informer le SDK Stripe des événements de cycle de vie, ajoutez un appel TerminalApplicationDelegate.onCreate() à la méthode onCreate() de votre sous-classe Application.

MyApplication.kt
Kotlin
class MyApplication : Application() { override fun onCreate() { super.onCreate() TerminalApplicationDelegate.onCreate(this) } }

Dans le manifeste de votre application, spécifiez le nom de votre sous-classe Application avec l’attribut android:name.

AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:name=".MyApp"> <!-- App manifest contents --> </application> </manifest>

Obtenez plus d’informations sur la configuration de votre intégration ou consultez l’exemple de référentiel GitHub d’exemples d’applications Apps on Devices pour obtenir un exemple de configuration de la sous-classe d’application.

Développer l'application
Côté client

Suivez les conseils ci-dessous pour les intégrations Apps on Devices.

Détecter un lecteur et s’y connecter

Vous devez enregistrer tout nouvel appareil Stripe sur votre compte en tant que nouvel objet Reader. Utilisez le code d’association fourni dans les paramètres d’administration de l’appareil pour créer l’objet Reader. Votre application utilise le SDK Android Stripe Terminal pour détecter votre appareil et s’y connecter :

Consultez le référentiel d’exemples d’intégration Apps on Devices sur GitHub pour obtenir d’autres exemples de détection et de connexion à l’aide du mode de transfert.

  1. Votre application s’exécute sur votre appareil enregistré.
  2. Votre application découvre le lecteur en appelant discoverReaders avec HandoffDiscoveryConfiguration.
  3. Votre application se connecte au lecteur en utilisant connectReader.

L’exemple suivant montre comment détecter un lecteur Stripe et s’y connecter à l’aide du mode transfert dans une application Android :

DiscoverReadersActivity.kt
Kotlin
private fun discoverReaders() { Terminal.getInstance().discoverReaders( config = HandoffDiscoveryConfiguration(), discoveryListener = object : DiscoveryListener { override fun onUpdateDiscoveredReaders(readers: List<Reader>) { // In handoff discovery, the list will // contain a single reader. Connect to // the reader after it is discovered. readers.firstOrNull()?.let { reader -> connectReader(reader) } } }, callback = object : Callback { override fun onSuccess() { // Handle successfully discovering readers } override fun onFailure(e: TerminalException) { // Handle exception while discovering readers } } ) } private fun connectReader(reader: Reader) { Terminal.getInstance().connectReader( reader, HandoffConnectionConfiguration( object : HandoffReaderListener { override fun onDisconnect(reason: DisconnectReason) { // Optionally get notified about reader disconnects (for example, reader was rebooted) } override fun onReportReaderEvent(event: ReaderEvent) { // Optionally get notified about reader events (for example, a card was inserted) } } ), object : ReaderCallback { override fun onSuccess(reader: Reader) { // Handle successfully connecting to the reader } override fun onFailure(e: TerminalException) { // Handle exception when connecting to the reader } } ) }

Encaisser des paiements

Après vous être connecté au lecteur en mode transfert, vous pouvez commencer à encaisser les paiements.

L’application Stripe Reader gère l’encaissement des paiements et d’autres opérations de paiement, telles que l’enregistrement des informations de paiement. Lorsque vous lancez une opération de paiement, l’application Stripe Reader passe au premier plan et se lance en plein écran. Ensuite, elle guide le client tout au long du processus et, une fois l’opération terminée (qu’elle ait abouti ou non) ou annulée par le client, replace votre application au premier plan. Lorsque votre application est au premier plan, l’application de lecteur Stripe continue de s’exécuter en arrière-plan.

Obtenez un exemple de collecte des paiements dans une application Apps on Devices.

Encaisser des paiements hors ligne Preview

Apps on Devices prend en charge la collecte des paiements hors ligne.

Gestion des appareils
Côté client

Vous pouvez accéder aux paramètres d’administration de l’appareil en lançant l’URI de lien profond stripe://settings/ depuis votre application.

Obtenez un exemple de lancement de l’URI de lien profond pour accéder aux paramètres d’administration.

MyActivity.kt
Kotlin
startActivity( Intent(Intent.ACTION_VIEW) .setData(Uri.parse("stripe://settings/")) )

Instrumenter l'application
Côté client

Stripe ne fournit pas de solution d’instrumentation au niveau de l’application. Pour garder une trace des crashs et autres logs de votre application, vous pouvez utiliser une bibliothèque tierce telle que Sentry ou Crashlytics.

Définir la langue de l'appareil
Côté client

La valeur renvoyée par Locale.getDefault() dépend de la langue choisie par l’utilisateur de l’appareil (et non du pays). Vous pouvez modifier la langue de l’appareil dans les paramètres d’administration.

Orientation de l'écran
Côté client

Les appareils Android Stripe ont le paramètre Auto-rotation de l’écran activé par défaut. Votre application peut remplacer ce paramètre en verrouillant l’interface utilisateur sur une orientation d’écran donnée.

Pour ce faire, il suffit de définir l’attribut screenOrientation sur les balises <activity> correspondantes dans le manifeste.

AndroidManifest.xml
<activity android:name=".MainActivity" android:screenOrientation="portrait"> </activity>

L’orientation peut également être définie de manière programmatique à l’aide de Activity::setRequestedOrientation dans votre classe Activity.

MainActivity.kt
Kotlin
class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Lock to portrait orientation requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT // Or, lock to landscape orientation // requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE } }

Limites
Côté client

Les appareils Stripe Android n’affichent pas d’interface utilisateur système, de bouton de retour ni de barre d’état.

Si votre application doit communiquer un niveau de batterie, un état de charge ou un état de connexion à l’utilisateur, consultez la documentation suivante dédiée à l’API Android pour obtenir des conseils :

  • Suivre le niveau et l’état de charge de la batterie
  • Suivre l’état de la connectivité et des mesures de connexion

Utiliser les accessoires de l'appareil
Côté client

Lorsque le lecteur Stripe se connecte ou se déconnecte d’une station d’accueil, le système d’exploitation Android déclenche un changement de configuration.

Par défaut, l’activité de votre application est automatiquement recréée lors d’un changement de configuration.

Pour désactiver la recréation automatique de l’activité lors de la connexion ou de la déconnexion d’une station d’accueil, ajoutez android:configChanges="uiMode" dans l’entrée <activity> de votre fichier AndroidManifest.xml.

AndroidManifest.xml
<activity android:name=".MyActivity" android:configChanges="uiMode" />

Votre activité peut être notifiée des changements de configuration en implémentant Activity::onConfigurationChanged. Cette méthode n’est appelée que si vous avez spécifié les configurations que vous souhaitez gérer avec l’attribut android:configChanges dans votre manifeste.

MainActivity.kt
class MainActivity : Activity() { override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // implement custom configuration change handling logic } }

Tester votre application

Utilisez votre appareil S700 DevKit pour tester votre application dans le Dashboard Stripe ou en utilisant Android Debug Bridge (adb).

Vous pouvez connecter votre appareil DevKit à votre ordinateur à l’aide d’un câble USB-A vers USB-C. Ensuite, utilisez adb pour installer directement le fichier APK assemblé de votre application sur l’appareil DevKit.

Les exemples suivants partent du principe que le nom de package de votre application est com.example.myapp et que l’activité principale est MainActivity.

$ adb install myapp.apk

Une fois l’installation terminée, lancez votre application :

$ adb shell am start com.example.myapp/.MainActivity

Démarrer les paramètres d’administration :

$ adb shell am start -d "stripe://settings/"

Si nécessaire, désinstallez votre application :

$ adb uninstall com.example.myapp

La documentation sur Android Debug Bridge de Google fournit un guide complet sur l’utilisation d’adb.

Paiements tests

Les appareils DevKit peuvent traiter des paiements tests à l’aide d’une carte de test physique Stripe, que vous pouvez commander dans le Dashboard. Lorsque vous testez les paiements, vous pouvez utiliser des montants décimaux pour produire des résultats spécifiques.

Avertissement

N’utilisez pas de cartes bancaires réelles pour les paiements tests sur les appareils DevKit.

Prochaines étapes

  • Préparer une application en vue de son examen
  • Soumettre votre application
Cette page vous a-t-elle été utile ?
OuiNon
Besoin d'aide ? Contactez le service Support.
Rejoignez notre programme d'accès anticipé.
Consultez notre log des modifications.
Des questions ? Contactez l'équipe commerciale.
LLM ? Lire llms.txt.
Propulsé par Markdoc