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
- Vous créez des plans d'abonnement dans
Admin → Plans(ex. : Starter 9,99 $/mois, Pro 29,99 $/mois) - Chaque plan a un ID de prix Stripe et/ou un ID de plan PayPal
- Lorsqu'un locataire s'abonne, il est redirigé vers Stripe Checkout ou PayPal
- Après le paiement, FeedbackPulse active son abonnement
- Les webhooks maintiennent tout synchronisé (renouvellements, annulations, échecs)
💳 Configuration Stripe
Étape 1 : Créer un compte Stripe
- Inscrivez-vous sur stripe.com
- Complétez la vérification d'identité
- Obtenez vos clés API depuis Developers → API Keys
Étape 2 : Obtenir vos clés API
| Clé | Où la trouver | Variable .env |
|---|---|---|
| Clé publique | Tableau de bord → Developers → API Keys | STRIPE_PUBLISHABLE_KEY |
| Clé secrète | Tableau de bord → Developers → API Keys | STRIPE_SECRET_KEY |
STRIPE_PUBLISHABLE_KEY=pk_live_xxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_live_xxxxxxxxxxxxxxxx
🧪 Test : Utilisez les clés
pk_test_etsk_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 :
- Allez à Produits → Ajouter un produit
- Nom : « FeedbackPulse Starter » (ou le nom de votre plan)
- Ajoutez un prix récurrent : 9,99 $ / mois
- Ajoutez optionnellement un prix annuel : 99,99 $ / an
- Copiez l'ID de prix (commence par
price_)
Étape 4 : Lier les prix aux plans
Dans FeedbackPulse, allez à Admin → Plans → Modifier :
| Champ du plan | Valeur Stripe |
|---|---|
| ID de prix mensuel Stripe | price_xxxxxxxxx (ID de prix mensuel) |
| ID de prix annuel Stripe | price_xxxxxxxxx (ID de prix annuel) |
Étape 5 : Configurer les webhooks Stripe
C'est critique — les webhooks maintiennent les abonnements synchronisés.
- Allez à Stripe Tableau de bord → Developers → Webhooks
- Cliquez sur Add endpoint
- URL du point de terminaison :
https://yourdomain.com/webhooks/stripe - Événements à écouter :
checkout.session.completedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.payment_failed
- 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
- Inscrivez-vous sur paypal.com/business
- Allez à developer.paypal.com
Étape 2 : Créer une application API REST
- Allez à Dashboard → Apps & Credentials
- Cliquez sur Create App
- Nom : « FeedbackPulse »
- 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=sandboxet les identifiants sandbox.
Étape 3 : Créer des plans d'abonnement dans PayPal
- Allez à PayPal Developer Dashboard → Subscriptions → Plans
- Créez d'abord un produit, puis créez des plans pour celui-ci
- Copiez chaque ID de plan (commence par
P-)
Étape 4 : Lier les plans dans FeedbackPulse
Dans Admin → Plans → Modifier :
| Champ du plan | Valeur PayPal |
|---|---|
| ID de plan mensuel PayPal | P-xxxxxxxxx (plan mensuel) |
| ID de plan annuel PayPal | P-xxxxxxxxx (plan annuel) |
Étape 5 : Configurer les webhooks PayPal
- Dans PayPal Developer Dashboard → Webhooks
- Ajoutez l'URL webhook :
https://yourdomain.com/webhooks/paypal - Sélectionnez les événements :
BILLING.SUBSCRIPTION.CREATEDBILLING.SUBSCRIPTION.ACTIVATEDBILLING.SUBSCRIPTION.UPDATEDBILLING.SUBSCRIPTION.CANCELLEDBILLING.SUBSCRIPTION.SUSPENDEDPAYMENT.SALE.COMPLETED
- 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
- Allez à developer.paypal.com → Sandbox → Accounts
- 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