Accéder directement au contenu
Créez un compte ou connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compteConnectez-vous
Démarrer
Paiements
Revenus
Plateformes et marketplaces
Gestion de fonds
Ressources pour les développeurs
API et SDKAide
AperçuAccepter un paiementMettre votre intégration à niveau
Paiements en ligne
PrésentationTrouver votre cas d'usage
Utiliser Payment Links
Créer une page de paiement
Créer une intégration personnalisée avec Elements
Développer une intégration dans l'application
    Présentation
    Payment Sheet
    Payment Element
      Accepter des paiements dans l'application
      Personnaliser l'apparence
      Ajouter des moyens de paiement personnalisés
      Filtrer par marque de carte bancaire
      Filtrer les financements par carte bancaire
      Appuyer pour ajouter votre carte bancaire
    Address Element
    Payment Method Messaging Element
    Utiliser les redirections pour les achats intégrés à l'application
    Gérer les moyens de paiement dans les paramètres
    Migrer vers les tokens de confirmation
    Cartes bancaires américaines et canadiennes
Utiliser Managed Payments
Utiliser Checkout Studio
Paiements récurrents
Paiements par TPE
Aperçu de Terminal
Disponibilité
Lecteurs
No-code
Intégration personnalisée
Moyens de paiement
Ajouter des moyens de paiement
Gérer les moyens de paiement
Paiement accéléré avec Link
Opérations de paiement
Analyses
Soldes et délai de règlement
Conformité et sécurité
Devises
Refus de paiement
Litiges
Radar pour la protection contre la fraude
Virements
ReçusRemboursements et annulations
Intégrations avancées
Tunnels de paiement personnalisés
Acquisition flexible
Paiements hors session
Orchestration multiprestataire
Au-delà des paiements
Constituez votre entreprise
Cryptomonnaies
Commerce agentique
Financial Connections
Climate
Vérifier l'identité
France
Français (France)
  1. Accueil/
  2. Paiements/
  3. Build an in-app integration/
  4. Payment Element
Version bêta privée

Ajoutez votre carte bancaire par contact au composant Payment ElementVersion bêta privée

Permettez aux clients d’ajouter leur carte bancaire en la posant sur leur appareil.

Vous souhaitez accéder à la fonctionnalité d’ajout de carte bancaire par simple contact ?

La fonctionnalité d’ajout de carte par contact est en version bêta privée. Partagez votre adresse e-mail pour demander l’accès.

Remarque

La fonctionnalité d’ajout de carte bancaire par contact est disponible uniquement sur Android.

La fonctionnalité d’ajout de carte bancaire par contact pour Payment Element permet aux clients d’ajouter une carte à votre application en présentant une carte physique sur un appareil Android compatible et équipé de la technologie NFC. Cela réduit la saisie manuelle des informations de carte et les frictions lors du paiement, tout en garantissant une authentification sécurisée de type carte présente. Après le contact, les clients peuvent enregistrer leur carte pour de futurs achats et éventuellement s’inscrire à Link. Vous pouvez utiliser cette fonctionnalité dans votre intégration existante du composant Payment Element Mobile pour permettre l’enregistrement de cartes bancaires pour de futurs paiements.

Ce guide explique comment permettre aux clients d’ajouter leur carte bancaire par simple contact via votre intégration de paiement dans l’application.

Avant de commencer

  1. Créez un compte Stripe ou connectez-vous.
  2. Suivez les étapes décrites dans Accepter les paiements dans l’application pour l’intégrer à Payment Element.
  3. Commandez une carte bancaire de test physique pour essayer d’ajouter une carte bancaire par contact en mode test.

Initialiser le SDK Terminal

Pour permettre aux clients d’ajouter leur carte bancaire par contact dans un Payment Element, ajoutez les dépendances Stripe Terminal suivantes à votre projet :

build.gradle.kts
Kotlin
Groovy
No results
dependencies { // ... // Stripe Terminal SDK implementation("com.stripe:stripeterminal-core:5.4.1") implementation("com.stripe:stripeterminal-taptopay:5.4.1") }

La fonctionnalité d’ajout de carte bancaire par contact utilise l’infrastructure Terminal Tap to Pay pour fonctionner dans un processus dédié, ce qui rend les transactions plus sécurisées. Dans ce processus, nous créons une deuxième instance de votre Application. Pour éviter des erreurs inattendues liées à l’exécution de votre code dans ce processus, vous pouvez ignorer l’initialisation dans votre Application en vérifiant TapToPay.isInTapToPayProcess(). En savoir plus sur l’infrastructure Tap to Pay.

// Substitute with your application name, and remember to keep it // the same as your AndroidManifest.xml class StripeApplication : Application() { override fun onCreate() { super.onCreate() // Skip initialization if running in the TTPA process. if (TapToPay.isInTapToPayProcess()) return // For example, this will be skipped. TerminalApplicationDelegate.onCreate(this) } }

Ajouter un endpoint

Cette intégration utilise les objets de l’API Stripe suivants :

  • Un SetupIntent est un objet qui représente votre intention de configurer le moyen de paiement d’un client pour des paiements ultérieurs. Les moyens de paiement que les clients voient pendant le processus de paiement sont également inclus dans le SetupIntent. Vous pouvez laisser Stripe récupérer automatiquement les moyens de paiement depuis les paramètres de votre Dashboard, ou les définir manuellement.
  • Un Customer est un objet que vous utilisez pour configurer des paiements ultérieurs en lui rattachant un moyen de paiement. Créez un objet Customer lorsque votre client crée un compte auprès de votre entreprise. Si votre client effectue un paiement en tant qu’invité, vous pouvez créer un objet Customer avant le paiement et l’associer ultérieurement à votre propre représentation interne du compte du client.

Pour des raisons de sécurité, votre application ne peut pas créer ces objets. À la place, ajoutez sur votre serveur un endpoint qui :

  • Récupère le client
  • Crée un SetupIntent avec le type de moyen de paiement card_present et l’identifiant du Customer. Si le SetupIntent n’a pas pour type de moyen de paiement card_present, la carte bancaire posée ne sera pas enregistrée sur le compte du client.
  • Renvoie la clé secrète du client SetupIntent à votre application.
// This example sets up an endpoint using the Express framework. const stripe = require('stripe')('{{SANDBOX-API-KEY}}'); app.post('/create-card-present-setup-intent', async (req, res) => { const setupIntent = await stripe.setupIntents.create({ // Use an existing customer ID customer: req.customer.id, payment_method_types: ['card_present'], }); res.json({ setupIntent: setupIntent.client_secret, }) });

Implémentez votre rappel de création de SetupIntent

Pour permettre aux clients d’ajouter leur carte bancaire par un simple contact dans un Payment Element, vous devez implémenter un rappel de création de SetupIntent pour l’ajout par contact (tap to add) en utilisant createCardPresentSetupIntentCallback.

Une fois que votre client a effectué un paiement tap to pay avec sa carte, nous associons le moyen de paiement au SetupIntent créé depuis votre implémentation et enregistrons la carte bancaire pour une utilisation future.

val embeddedBuilder = EmbeddedPaymentElement.Builder( createIntentCallback = { paymentMethod, canSave -> // Create intent on call }, resultCallback = { result -> // Handle result }, ) .createCardPresentSetupIntent { val response = server.createCardPresentSetupIntent(customerId) return if (response.isSuccess) { Result.success(response.body!!.clientSecret) } else { Result.failure(response.exception) } } val embeddedPaymentElement = rememberEmbeddedPaymentElement(embeddedBuilder)

Tester votre intégration

Vous pouvez tester l’ajout de votre carte par contact en utilisant un appareil pris en charge par l’infrastructure Tap to Pay.

  • Pour utiliser le lecteur de simulation, utilisez une clé API d’environnement de test et une version de votre application qui peut être déboguée.
  • Pour utiliser le lecteur NFC réel, utilisez une version de production de votre application avec des cartes de test physiques à approcher de votre appareil.

FacultatifFonctionnalités supplémentaires

Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Discutez par chat sur Discord avec les développeurs de Stripe.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc