Traiter les paiements avec Firebase

À l'aide de quelques fonctionnalités Firebase différentes et de Stripe, vous pouvez traiter les paiements dans votre application Web sans créer votre propre infrastructure de serveur. Ce guide vous guide dans la personnalisation et le déploiement de votre propre version de l'exemple d'application open source cloud-functions-stripe-sample.web.app .

Avant de commencer, créez un projet dans la console Firebase et configurez un compte Stripe .

Aperçu de la mise en œuvre

  1. Créez un compte Stripe .
  2. Créez un projet dans la console Firebase .
  3. Activez la facturation pour votre projet et configurez la CLI Firebase pour utiliser votre projet avec firebase use --add .
  4. Obtenez le code source de l’exemple d’application Firestripe. Configurez-le avec les bonnes informations pour votre projet et personnalisez le code en fonction de votre application.
  5. Une fois que vous avez déployé votre application, recherchez une liste d'utilisateurs et de transactions dans la console Firebase.

Configurer et déployer l'exemple d'application

  1. Obtenez le code source .
  2. Activez la connexion à Google et par e-mail dans les paramètres de votre fournisseur d'authentification .
  3. Activez Cloud Firestore .
  4. Installez la CLI Firebase si vous ne l'avez pas déjà fait et connectez-vous avec firebase login .
  5. Configurez cet exemple pour utiliser votre projet avec firebase use --add .
  6. Installez les dépendances localement en exécutant cd functions; npm install; cd -
  7. Ajoutez votre clé secrète API Stripe à la configuration de votre environnement Cloud Functions :

    firebase functions:config:set stripe.secret=<YOUR STRIPE SECRET KEY>

  8. Définissez votre clé publiable Stripe dans /public/javascript/app.js :

    const STRIPE_PUBLISHABLE_KEY=<YOUR STRIPE PUBLISHABLE KEY>;

  9. Déployez votre projet à l'aide firebase deploy . Cette commande :

    1. Envoie tous les fichiers du répertoire public à l'hébergement afin que votre site Web soit disponible.
    2. Envoie le code du répertoire functions à Cloud Functions pour Firebase.
    3. Définit les règles de sécurité sur votre base de données Cloud Firestore telles que configurées dans firestore.rules . Les règles fournies permettent uniquement à un utilisateur de lire et d'écrire ses propres paiements et modes de paiement.

Testez l'exemple d'application

Visitez l'URL de votre application de paiement sur your-firebase-project-id.web.app et vérifiez que les fonctionnalités suivantes fonctionnent :

  • Vous pouvez vous connecter via Google ou par e-mail.
  • Vous pouvez ajouter une nouvelle carte de test Stripe et la visualiser dans l'élément de sélection de carte.
  • Vous pouvez sélectionner une de vos cartes et la recharger.
  • Vous pouvez vous déconnecter.

À titre de comparaison, consultez cloud-functions-stripe-sample.web.app .

Pour offrir une expérience simplifiée à vos utilisateurs, vous pouvez personnaliser davantage l'apparence de votre page de paiement ou la connecter à votre application existante.

Afficher les paiements traités

Une fois que vous avez configuré et déployé votre page de paiement, vous pouvez consulter la console Firebase et voir une liste d'utilisateurs ainsi que leurs modes de paiement et leurs paiements.

  1. Accédez à Cloud Firestore .
  2. Recherchez une liste de vos utilisateurs et, s'ils ont ajouté des cartes de crédit ou effectué des transactions, une liste de ceux sous chaque utilisateur.

Acceptez les paiements en direct

Une fois que vous êtes prêt à passer au direct, vous devrez échanger vos clés de test contre vos clés en direct. Consultez la documentation Stripe pour en savoir plus sur ces clés.

  1. Mettez à jour votre configuration secrète Stripe :

    firebase functions:config:set stripe.secret=<YOUR STRIPE LIVE SECRET KEY>

  2. Définissez votre clé publiable en direct dans /public/javascript/app.js .

  3. Redéployez les fonctions Cloud et l'hébergement pour que les modifications prennent effet : firebase deploy .