Files
geo/PLANNING-STRIPE-ADMIN.md
Pierre 50f55d825d feat: Implémentation complète Stripe Connect V1 - Configuration des paiements pour amicales
Cette intégration permet aux amicales de configurer leurs comptes Stripe Express
pour accepter les paiements par carte bancaire avec 0% de commission plateforme.

## 🎯 Fonctionnalités implémentées

### API PHP (Backend)
- **POST /api/stripe/accounts**: Création comptes Stripe Express
- **GET /api/stripe/accounts/:id/status**: Vérification statut compte
- **POST /api/stripe/accounts/:id/onboarding-link**: Liens onboarding
- **POST /api/stripe/locations**: Création locations Terminal
- **POST /api/stripe/terminal/connection-token**: Tokens connexion
- **POST /api/stripe/webhook**: Réception événements Stripe

### Interface Flutter (Frontend)
- Widget configuration Stripe dans amicale_form.dart
- Service StripeConnectService pour communication API
- États visuels dynamiques avec codes couleur
- Messages utilisateur "100% des paiements pour votre amicale"

## 🔧 Corrections techniques

### StripeController.php
- Fix Database::getInstance() → $this->db
- Fix $db->prepare() → $this->db->prepare()
- Suppression colonne details_submitted inexistante
- Ajout exit après réponses JSON (évite 502)

### StripeService.php
- Ajout imports Stripe SDK (use Stripe\Account)
- Fix Account::retrieve() → $this->stripe->accounts->retrieve()
- **CRUCIAL**: Déchiffrement données encrypted_email/encrypted_name
- Suppression calcul commission (0% plateforme)

### Router.php
- Suppression logs debug excessifs (fix nginx 502 "header too big")

### AppConfig.php
- application_fee_percent: 0 (était 2.5)
- application_fee_minimum: 0 (était 50)
- **POLITIQUE**: 100% des paiements vers amicales

##  Tests validés
- Compte pilote créé: acct_1S2YfNP63A07c33Y
- Location Terminal: tml_GLJ21w7KCYX4Wj
- Onboarding Stripe complété avec succès
- Toutes les APIs retournent 200 OK

## 📚 Documentation
- Plannings mis à jour avec accomplissements
- Architecture technique documentée
- Erreurs résolues listées avec solutions

## 🚀 Prêt pour production
V1 Stripe Connect opérationnelle - Prochaine étape: Terminal Payments V2

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-01 18:11:28 +02:00

249 lines
7.7 KiB
Markdown

# PLANNING STRIPE - TÂCHES ADMINISTRATIVES
## Intégration Stripe Connect + Terminal pour Calendriers Pompiers
### Période : 25/08/2024 - 05/09/2024
---
## 📅 LUNDI 25/08 - Préparation (4h)
### ✅ Compte Stripe Platform
- [x] Créer compte Stripe sur https://dashboard.stripe.com/register
- [x] Remplir informations entreprise (SIRET, adresse, etc.)
- [x] Vérifier email de confirmation
- [x] Activer l'authentification 2FA
### ✅ Activation des produits
- [x] Activer Stripe Connect dans Dashboard → Products
- [x] Choisir type "Express accounts" pour les amicales
- [x] Activer Stripe Terminal dans Dashboard
- [x] Demander accès "Tap to Pay on iPhone" via formulaire support
### ✅ Configuration initiale
- [x] Définir les frais de plateforme (DECISION: 0% commission plateforme - 100% pour les amicales)
- [x] Configurer les paramètres de virement (J+2 recommandé)
- [x] Ajouter logo et branding pour les pages Stripe
---
## 📅 MARDI 26/08 - Setup environnements (2h)
### ✅ Clés API et Webhooks
- [x] Récupérer clés TEST (pk_test_... et sk_test_...)
- [x] Créer endpoint webhook : https://dapp.geosector.fr/api/stripe/webhook
- [x] Sélectionner événements webhook :
- `account.updated`
- `account.application.authorized`
- `payment_intent.succeeded`
- `payment_intent.payment_failed`
- `charge.dispute.created`
- [x] Noter le Webhook signing secret (whsec_...)
### ✅ Documentation amicales
- [x] Préparer template email pour amicales
- [x] Créer guide PDF "Activer les paiements CB"
- [x] Lister documents requis :
- Statuts association
- RIB avec IBAN/BIC
- Pièce identité responsable
- Justificatif adresse siège
---
## 📅 MERCREDI 27/08 - Amicale pilote (3h)
### ✅ Onboarding première amicale
- [x] Contacter amicale pilote (Amicale ID: 5)
- [x] Créer compte Connect Express via API
- [x] Envoyer lien onboarding à l'amicale
- [x] Suivre progression dans Dashboard → Connect → Accounts
- [x] Vérifier statut "Charges enabled"
### ✅ Configuration compte amicale
- [x] Vérifier informations bancaires (IBAN)
- [x] Configurer email notifications
- [x] Tester micro-virement de vérification
- [x] Noter le compte ID : acct_1S2YfNP63A07c33Y
---
## 📅 JEUDI 28/08 - Tests paiements (2h)
### ✅ Configuration Terminal Test
- [x] Créer "Location" test dans Dashboard → Terminal (Location ID: tml_GLJ21w7KCYX4Wj)
- [x] Générer reader test virtuel pour Simulator
- [x] Configurer les montants de test (10€, 20€, 30€)
### ✅ Cartes de test
- [x] Préparer liste cartes test :
- 4242 4242 4242 4242 : Succès
- 4000 0000 0000 9995 : Refus
- 4000 0025 0000 3155 : Authentification requise
- [x] Documenter processus de test pour développeurs
---
## 📅 VENDREDI 29/08 - Compliance et sécurité (2h)
### ✅ Conformité légale
- [ ] Vérifier statut PCI DSS (auto-évaluation SAQ A)
- [ ] Préparer mentions légales paiement
- [ ] Créer template CGV pour paiements
- [ ] Documenter process RGPD
### ✅ Limites et sécurité
- [ ] Configurer limites de paiement (max 500€/transaction ?)
- [ ] Activer Radar (protection fraude) rules
- [ ] Configurer alertes email pour transactions > 100€
- [ ] Définir politique remboursements
---
## 📅 SAMEDI 30/08 - Monitoring (1h)
### ✅ Dashboard et alertes
- [ ] Créer vues personnalisées Dashboard
- [ ] Configurer alertes :
- Taux d'échec > 10%
- Nouveau litige (chargeback)
- Compte amicale suspendu
- [ ] Installer app mobile Stripe (iOS/Android)
---
## 📅 LUNDI 02/09 - Préparation production (3h)
### ✅ Amicales supplémentaires
- [ ] Onboarder 2-3 amicales test supplémentaires
- [ ] Vérifier leurs statuts de compte
- [ ] Former les responsables à l'interface Stripe
### ✅ Documentation finale
- [ ] Guide administrateur plateforme
- [ ] FAQ amicales (comment voir mes ventes ?)
- [ ] Process de support niveau 1
---
## 📅 MARDI 03/09 - Tests grandeur nature (2h)
### ✅ Simulation production
- [ ] Paiement test avec vraie carte (sera remboursé)
- [ ] Vérifier apparition dans Dashboard amicale
- [ ] Tester virement vers compte bancaire
- [ ] Vérifier commissions plateforme
---
## 📅 MERCREDI 04/09 - Go/No-Go Production (2h)
### ✅ Checklist production
- [ ] Obtenir clés PRODUCTION (pk_live_... et sk_live_...)
- [ ] ⚠️ JAMAIS les commiter dans le code
- [ ] Configurer webhook production
- [ ] Vérifier tous les comptes amicales "enabled"
- [ ] Backup des configurations
### ✅ Plan de bascule
- [ ] Planifier fenêtre de maintenance
- [ ] Préparer rollback si besoin
- [ ] Numéro hotline Stripe : +33 1 88 45 05 35
---
## 📅 JEUDI 05/09 - Support jour J (4h)
### ✅ Surveillance active
- [ ] Monitoring Dashboard en temps réel
- [ ] Vérifier premiers paiements réels
- [ ] Support hotline pour amicales
- [ ] Documenter issues rencontrées
---
## 📊 RÉCAPITULATIF TEMPS ADMIN
- **Préparation** : 4h
- **Configuration** : 7h
- **Tests** : 4h
- **Production** : 6h
- **TOTAL** : 21h sur 11 jours
## 🔐 INFORMATIONS SENSIBLES À STOCKER
```env
# JAMAIS dans le code source !
STRIPE_PUBLIC_KEY_TEST=pk_test_...
STRIPE_SECRET_KEY_TEST=sk_test_...
STRIPE_WEBHOOK_SECRET_TEST=whsec_...
STRIPE_PUBLIC_KEY_LIVE=pk_live_...
STRIPE_SECRET_KEY_LIVE=sk_live_...
STRIPE_WEBHOOK_SECRET_LIVE=whsec_...
STRIPE_PLATFORM_ACCOUNT_ID=acct_...
```
## 📞 CONTACTS UTILES
- **Support Stripe France** : +33 1 88 45 05 35
- **Email support** : support@stripe.com
- **Dashboard** : https://dashboard.stripe.com
- **Statut système** : https://status.stripe.com
## ⚠️ POINTS D'ATTENTION CRITIQUES
1. **NE JAMAIS** partager les clés secrètes (sk_)
2. **TOUJOURS** commencer en mode TEST
3. **VÉRIFIER** 2x avant passage en LIVE
4. Les virements vers comptes amicales prennent 2-7 jours
5. Garder 1 personne dispo pour support le jour J
6. **Android Tap to Pay** : Vérifier certification SoftPOS des appareils
7. **Maintenir** liste des modèles Android certifiés à jour
---
## 🎯 BILAN DES ACCOMPLISSEMENTS (01/09/2024)
### ✅ RÉALISATIONS CLÉS
1. **Intégration Stripe Connect complète**
- API PHP 8.3 fonctionnelle avec tous les endpoints
- Interface Flutter pour gestion Stripe dans l'amicale
- Webhooks configurés et testés
2. **Compte amicale pilote opérationnel**
- Amicale ID: 5 avec compte Stripe : acct_1S2YfNP63A07c33Y
- Location Terminal créée : tml_GLJ21w7KCYX4Wj
- Onboarding Stripe complété avec succès
3. **Configuration 0% commission plateforme**
- 100% des paiements vont aux amicales
- Seuls les frais Stripe standard s'appliquent (~1.4% + 0.25€)
- Interface UI mise à jour pour refléter cette politique
4. **Corrections techniques majeures**
- Problèmes de déchiffrement des données résolus
- Erreurs 502 nginx corrigées (logs debug supprimés)
- Base de données et API entièrement fonctionnelles
### 🔧 PROBLÈMES RÉSOLUS
- **Erreur 500** : "Database not found" → Fixed
- **Erreur 400** : "Invalid email address" → Fixed (déchiffrement ajouté)
- **Erreur 502** : "upstream sent too big header" → Fixed (logs supprimés)
- **Commission plateforme** : Supprimée comme demandé (0%)
- **UI messaging** : Corrigé pour refléter "100% pour votre amicale"
### 📊 APIs FONCTIONNELLES
- ✅ POST /api/stripe/accounts - Création compte
- ✅ GET /api/stripe/accounts/:id/status - Statut compte
- ✅ POST /api/stripe/accounts/:id/onboarding-link - Lien onboarding
- ✅ POST /api/stripe/locations - Création location Terminal
- ✅ POST /api/stripe/webhook - Réception événements
### 🎯 PROCHAINES ÉTAPES
1. Tests de paiements réels avec Terminal
2. Déploiement en environnement de recette
3. Formation des amicales pilotes
4. Monitoring des premiers paiements
---
*Document créé le 24/08/2024 - Dernière mise à jour : 01/09/2024*