Files
geo/PLANNING-STRIPE-ADMIN.md
Pierre 0bebc58d1a 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

7.7 KiB

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

Activation des produits

  • Activer Stripe Connect dans Dashboard → Products
  • Choisir type "Express accounts" pour les amicales
  • Activer Stripe Terminal dans Dashboard
  • Demander accès "Tap to Pay on iPhone" via formulaire support

Configuration initiale

  • Définir les frais de plateforme (DECISION: 0% commission plateforme - 100% pour les amicales)
  • Configurer les paramètres de virement (J+2 recommandé)
  • Ajouter logo et branding pour les pages Stripe

📅 MARDI 26/08 - Setup environnements (2h)

Clés API et Webhooks

  • Récupérer clés TEST (pk_test_... et sk_test_...)
  • Créer endpoint webhook : https://dapp.geosector.fr/api/stripe/webhook
  • Sélectionner événements webhook :
    • account.updated
    • account.application.authorized
    • payment_intent.succeeded
    • payment_intent.payment_failed
    • charge.dispute.created
  • Noter le Webhook signing secret (whsec_...)

Documentation amicales

  • Préparer template email pour amicales
  • Créer guide PDF "Activer les paiements CB"
  • 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

  • Contacter amicale pilote (Amicale ID: 5)
  • Créer compte Connect Express via API
  • Envoyer lien onboarding à l'amicale
  • Suivre progression dans Dashboard → Connect → Accounts
  • Vérifier statut "Charges enabled"

Configuration compte amicale

  • Vérifier informations bancaires (IBAN)
  • Configurer email notifications
  • Tester micro-virement de vérification
  • Noter le compte ID : acct_1S2YfNP63A07c33Y

📅 JEUDI 28/08 - Tests paiements (2h)

Configuration Terminal Test

  • Créer "Location" test dans Dashboard → Terminal (Location ID: tml_GLJ21w7KCYX4Wj)
  • Générer reader test virtuel pour Simulator
  • Configurer les montants de test (10€, 20€, 30€)

Cartes de test

  • Préparer liste cartes test :
    • 4242 4242 4242 4242 : Succès
    • 4000 0000 0000 9995 : Refus
    • 4000 0025 0000 3155 : Authentification requise
  • 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

# 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

⚠️ 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