Gestion des moyens de paiement dans les paramètres
Utilisez la feuille de réglages des moyens de paiement pour permettre à vos clients de gérer leurs moyens de paiement dans la page des paramètres de votre application.
Remarque
La feuille des paramètres des moyens de paiement est destinée à être utilisée sur une page de paramètres de l’application. Pour le checkout et les paiements, utilisez lesPaiements dans l’application, qui disposent également d’une prise en charge intégrée pour l’enregistrement et l’affichage des moyens de paiement et prend en charge davantage de moyens de paiement que la feuille des paramètres des moyens de paiement.
Remarque
Dans le code, ce composant est appelé CustomerSheet
pour des raisons historiques. Dans la documentation, lorsque vous voyez CustomerSheet
dans les exemples de code, cela fait référence à la feuille de paramètres des moyens paiements.
La feuille de paramètres des moyens de paiement est un composant d’interface utilisateur préconstruit qui permet à vos clients de gérer les moyens de paiement qu’ils ont enregistrés. Vous pouvez utiliser l’interface utilisateur de la feuille de configuration des moyens de paiement en dehors d’un tunnel de paiement, et l’apparence et le style sont personnalisables pour correspondre à l’apparence et à l’esthétique de votre application. Les clients peuvent ajouter et supprimer des moyens de paiement, qui sont sauvegardés dans l’objet Customer, et définir leur moyen de paiement par défaut sauvegardé localement sur l’appareil. Utilisez à la fois les paiements dans l’application et la feuille des paramètres des moyens de paiement pour offrir à vos clients une solution cohérente de bout en bout pour les moyens de paiement enregistrés.

Configurer Stripe
Pour commencer, vous devez créer un compte Stripe. Inscrivez-vous maintenant.
Le SDK React Native est disponible en open source et fait l’objet d’une documentation complète. En interne, il utilise des SDK Android et iOS natifs. Pour installer le SDK React Native de Stripe, exécutez l’une des commandes suivantes dans le répertoire de votre projet (selon le gestionnaire de paquets que vous utilisez) :
Ensuite, installez les autres dépendances nécessaires :
- Pour iOS, accédez au directeur ios et exécutez
pod install
pour vous assurer que vous installez également les dépendances natives requises. - Pour Android, il n’y a plus de dépendances à installer.
Remarque
Nous vous recommandons de suivre le guide officiel de TypeScript pour ajouter la prise en charge de TypeScript.
Initialisation de Stripe
Pour initialiser Stripe dans votre application React Native, wrappez votre écran de paiement avec le composant StripeProvider
ou utilisez la méthode d’initialisation initStripe
. Seule la clé publiable de l’API dans publishableKey
est nécessaire. L’exemple suivant montre comment initialiser Stripe à l’aide du composant StripeProvider
.
import { useState, useEffect } from 'react'; import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( <StripeProvider publishableKey={publishableKey} merchantIdentifier="merchant.identifier" // required for Apple Pay urlScheme="your-url-scheme" // required for 3D Secure and bank redirects > {/* Your app code here */} </StripeProvider> ); }
Remarque
Utilisez vos clés de test d’API lors de vos activités de test et de développement, et vos clés du mode production pour la publication de votre application.
Activer des moyens de paiement
Affichez vos paramètres des moyens de paiement et activez les moyens de paiement que vous souhaitez prendre en charge. Vous devez activer au moins un moyen de paiement pour créer un SetupIntent.
Par défaut, Stripe active les cartes bancaires et les autres moyens de paiement courants qui peuvent vous permettre d’atteindre davantage de clients. Nous vous recommandons toutefois d’activer d’autres moyens de paiement pertinents pour votre entreprise et vos clients. Consultez la page Prise en charge des moyens de paiement pour en savoir plus sur la prise en charge des produits et des moyens de paiement, et notre page des tarifs pour prendre connaissance des frais que nous appliquons.
Remarque
À l’heure actuelle, la Fiche client prend uniquement en charge les cartes et les comptes bancaires américains.
Ajouter des endpoints CustomerCôté serveur
Créez deux endpoints sur votre serveur : l’un pour récupérer la clé éphémère d’un client et l’autre pour créer un SetupIntent afin d’enregistrer un nouveau moyen de paiement dans l’objet Customer.
- Créez un endpoint pour renvoyer un ID de client et une clé éphémère associée. Vous pouvez consulter la version API utilisée par le SDK ici.
- Créez un endpoint pour renvoyer un SetupIntent configuré avec l’ID du Client.
Si vous prévoyez uniquement d’utiliser le moyen de paiement pour des paiements ultérieurs lorsque votre client est dans le tunnel de paiement, définissez le paramètre usage sur on_session pour améliorer les taux d’autorisation.
Initialiser la fiche
Ensuite, configurez la feuille des paramètres des moyens de paiement à l’aide de la classe CustomerSheetBeta
en fournissant les paramètres souhaités à CustomerSheetBeta.
.
import {CustomerSheetBeta} from '@stripe/stripe-react-native'; const {error} = await CustomerSheetBeta.initialize({ setupIntentClientSecret: 'SETUP-INTENT', customerEphemeralKeySecret: 'EPHEMERAL-KEY', customerId: 'CUSTOMER-ID', headerTextForSelectionScreen: 'Manage your payment method', returnURL: 'my-return-url://', });
FacultatifActiver les paiements ACH
Pour activer les paiements par prélèvement ACH : activez le compte bancaire aux États-Unis comme moyen de paiement dans les paramètres du Dashboard.
FacultatifRécupérer le moyen de paiement sélectionné
Pour récupérer le moyen de paiement par défaut sans présenter la feuille des paramètres des moyens de paiement, appelez CustomerSheetBeta.
après avoir initialisé la feuille.
// Call CustomerSheetBeta.initialize() ... const { error, paymentOption, paymentMethod, } = await CustomerSheetBeta.retrievePaymentOptionSelection();
FacultatifPersonnaliser la fiche
Apparence
Personnalisez les couleurs, les polices et d’autres attributs d’apparence pour les adapter à l’apparence de votre application à l’aide de l’API Appearance.
Comportement
Pour ajouter un comportement personnalisé servant à joindre, dissocier et répertorier les moyens de paiement enregistrés, transmettez un CustomerAdapter au paramètre CustomerSheetBeta.
ou en tant que propriété au <CustomerSheetBeta.
.
const { error } = await CustomerSheetBeta.initialize({ ... customerAdapter: { fetchPaymentMethods: async () => { const paymentMethods = // Get your Stripe payment methods from the server const filteredPaymentMethods = // Perform custom filtering return filteredPaymentMethods; } }, });
Remarque
fetchPaymentMethods
permet de filtrer l’affichage des moyens de paiement enregistrés, mais n’aura pas d’impact sur le type de moyens de paiement pouvant être ajoutés.
Informations de facturation par défaut
Pour définir des valeurs par défaut pour les détails de facturation collectés dans la feuille de paramètres des moyens de paiement, configurez la propriété defaultBillingDetails
. La feuille de paramètres des moyens de paiement remplit ses champs avec les valeurs que vous avez fournies.
await CustomerSheetBeta.initialize({ // ... defaultBillingDetails: { email: 'foo@bar.com', address: { country: 'US', }, }, });
Collecte des informations de facturation
Utilisez billingDetailsCollectionConfiguration
pour spécifier comment vous souhaitez collecter les détails de la facturation dans la feuille de paramètres des moyens de paiement.
Vous pouvez récupérer le nom, l’adresse e-mail, le numéro de téléphone et l’adresse de votre client.
Si vous n’avez pas l’intention de collecter les valeurs requises par le moyen de paiement, vous devez procéder comme suit :
- Associez les valeurs qui ne sont pas collectées par la feuille des paramètres des moyens de paiement à la propriété
defaultBillingDetails
. - Définissez
billingDetailsCollectionConfiguration.
surattachDefaultsToPaymentMethod true
.
await CustomerSheetBeta.initialize({ // ... defaultBillingDetails: { email: 'foo@bar.com', } billingDetailsCollectionConfiguration: { name: PaymentSheet.CollectionMode.ALWAYS, email: PaymentSheet.CollectionMode.NEVER, address: PaymentSheet.AddressCollectionMode.FULL, attachDefaultsToPaymentMethod: true }, });
Remarque
Consultez votre conseiller juridique au sujet des lois qui s’appliquent à la collecte d’informations. Ne collectez un numéro de téléphone que si vous en avez besoin pour une transaction.