Aller au contenu principal

Passerelles de paiement (Stripe et PayPal)

FeedbackPulse SaaS prend en charge Stripe et PayPal pour la facturation par abonnement. Vous pouvez en activer un ou les deux.


💰 Fonctionnement de la facturation

  1. Vous créez des plans d'abonnement dans Admin → Plans (ex. : Starter 9,99 $/mois, Pro 29,99 $/mois)
  2. Chaque plan a un ID de prix Stripe et/ou un ID de plan PayPal
  3. Lorsqu'un locataire s'abonne, il est redirigé vers Stripe Checkout ou PayPal
  4. Après le paiement, FeedbackPulse active son abonnement
  5. Les webhooks maintiennent tout synchronisé (renouvellements, annulations, échecs)

💳 Configuration Stripe

Étape 1 : Créer un compte Stripe

  1. Inscrivez-vous sur stripe.com
  2. Complétez la vérification d'identité
  3. Obtenez vos clés API depuis Developers → API Keys

Étape 2 : Obtenir vos clés API

CléOù la trouverVariable .env
Clé publiqueTableau de bord → Developers → API KeysSTRIPE_PUBLISHABLE_KEY
Clé secrèteTableau de bord → Developers → API KeysSTRIPE_SECRET_KEY
STRIPE_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxx

🧪 Test : Utilisez les clés pk_test_ et sk_test_ pour le mode sandbox.

Étape 3 : Créer des produits et prix dans Stripe

Pour chaque plan d'abonnement, créez un prix récurrent dans Stripe :

  1. Allez à Produits → Ajouter un produit
  2. Nom : « FeedbackPulse Starter » (ou le nom de votre plan)
  3. Ajoutez un prix récurrent : 9,99 $ / mois
  4. Ajoutez optionnellement un prix annuel : 99,99 $ / an
  5. Copiez l'ID de prix (commence par price_)

Étape 4 : Lier les prix aux plans

Dans FeedbackPulse, allez à Admin → Plans → Modifier :

Champ du planValeur Stripe
ID de prix mensuel Stripeprice_xxxxxxxxx (ID de prix mensuel)
ID de prix annuel Stripeprice_xxxxxxxxx (ID de prix annuel)

Étape 5 : Configurer les webhooks Stripe

C'est critique — les webhooks maintiennent les abonnements synchronisés.

  1. Allez à Stripe Tableau de bord → Developers → Webhooks
  2. Cliquez sur Add endpoint
  3. URL du point de terminaison : https://yourdomain.com/webhooks/stripe
  4. Événements à écouter :
    • checkout.session.completed
    • customer.subscription.created
    • customer.subscription.updated
    • customer.subscription.deleted
    • invoice.payment_failed
  5. Copiez le Secret de signature (commence par whsec_)
STRIPE_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxx

Étape 6 : Activer dans le panneau d'administration

Allez à Admin → Paramètres → Paiements :

  • Activez Stripe
  • Collez vos clés publique et secrète
  • Enregistrez

💰 Configuration PayPal

Étape 1 : Créer un compte professionnel PayPal

  1. Inscrivez-vous sur paypal.com/business
  2. Allez à developer.paypal.com

Étape 2 : Créer une application API REST

  1. Allez à Dashboard → Apps & Credentials
  2. Cliquez sur Create App
  3. Nom : « FeedbackPulse »
  4. Copiez l'ID client et le Secret
PAYPAL_CLIENT_ID=your_client_id
PAYPAL_CLIENT_SECRET=your_client_secret
PAYPAL_MODE=live

🧪 Test : Utilisez PAYPAL_MODE=sandbox et les identifiants sandbox.

Étape 3 : Créer des plans d'abonnement dans PayPal

  1. Allez à PayPal Developer Dashboard → Subscriptions → Plans
  2. Créez d'abord un produit, puis créez des plans pour celui-ci
  3. Copiez chaque ID de plan (commence par P-)

Étape 4 : Lier les plans dans FeedbackPulse

Dans Admin → Plans → Modifier :

Champ du planValeur PayPal
ID de plan mensuel PayPalP-xxxxxxxxx (plan mensuel)
ID de plan annuel PayPalP-xxxxxxxxx (plan annuel)

Étape 5 : Configurer les webhooks PayPal

  1. Dans PayPal Developer Dashboard → Webhooks
  2. Ajoutez l'URL webhook : https://yourdomain.com/webhooks/paypal
  3. Sélectionnez les événements :
    • BILLING.SUBSCRIPTION.CREATED
    • BILLING.SUBSCRIPTION.ACTIVATED
    • BILLING.SUBSCRIPTION.UPDATED
    • BILLING.SUBSCRIPTION.CANCELLED
    • BILLING.SUBSCRIPTION.SUSPENDED
    • PAYMENT.SALE.COMPLETED
  4. Copiez l'ID webhook
PAYPAL_WEBHOOK_ID=your_webhook_id

Étape 6 : Activer dans le panneau d'administration

Allez à Admin → Paramètres → Paiements :

  • Activez PayPal
  • Collez votre ID client et votre secret
  • Enregistrez

🧪 Tester les paiements

Mode test Stripe

Utilisez les numéros de carte de test :

  • Succès : 4242 4242 4242 4242
  • Refus : 4000 0000 0000 0002
  • 3D Secure : 4000 0025 0000 3155

Date d'expiration : toute date future. CVC : n'importe quel chiffre à 3 chiffres.

Sandbox PayPal

  1. Allez à developer.paypal.com → Sandbox → Accounts
  2. Utilisez le compte acheteur sandbox généré pour tester les paiements

Support multi-devises

Les plans peuvent se voir attribuer différentes devises (ex. : USD, EUR, GBP). Configurez la liste des devises prises en charge dans Admin > Paramètres > Paiements sous le champ Devises prises en charge.

  • Stripe : Les sessions Checkout transmettent automatiquement la devise du plan, de sorte que les clients sont débités dans la bonne devise.
  • PayPal : Les requêtes d'abonnement incluent des métadonnées de devise correspondant à la devise configurée du plan.
  • La devise est stockée sur chaque facture pour une comptabilité précise.

Pour les détails sur la configuration des devises prises en charge, voir Paramètres de la plateforme.


🔒 Notes de sécurité

  • Les clés API sont stockées chiffrées dans la table platform_settings
  • Les signatures webhook sont vérifiées (HMAC Stripe, validation de signature PayPal)
  • Les événements de paiement sont enregistrés dans la table payment_events (Admin → Paiements)
  • La déduplication des événements empêche le double traitement des webhooks

⏭️ Étapes suivantes