đź’° Guide de Configuration des Commissions Stripe Connect
🚨 Problème Identifié et Résolu​
❌ Problème Initial​
Votre commission de 4% était appliquée incorrectement :
- Le client payait 104€ au lieu de 100€
- Stripe prenait ses frais sur 104€ (2.9% + 0.30€)
- Vous ne récupériez pas votre commission
✅ Solution Implémentée​
J'ai créé un système de paiement unifié qui gère correctement les commissions :
🔧 Architecture du Système​
1. Service de Paiement Unifié​
UnifiedPaymentService {
- Détecte automatiquement le type de vendeur
- Utilise Stripe Connect si le vendeur a un compte actif
- Utilise le paiement normal sinon
}
2. Service Stripe Connect Spécialisé​
StripeConnectPaymentService {
- Crée des paiements avec application_fee_amount
- Transfère automatiquement vers le compte connecté
- Applique la commission de 4% correctement
}
💳 Comment Ça Marche Maintenant​
Pour les Vendeurs avec Stripe Connect :​
- Client paie : 100€ (montant original)
- Stripe prend : 2.9% + 0.30€ = ~3.20€
- Votre commission : 4% = 4€ (via application_fee_amount)
- Vendeur reçoit : 100€ - 3.20€ - 4€ = ~92.80€
- Vous recevez : 4€ (votre commission)
Pour les Vendeurs sans Stripe Connect :​
- Client paie : 104€ (100€ + 4% de commission)
- Stripe prend : 2.9% + 0.30€ sur 104€ = ~3.32€
- Vous recevez : 104€ - 3.32€ = ~100.68€
- Votre commission : ~100.68€ - 100€ = ~0.68€
🎯 Avantages de la Nouvelle Architecture​
✅ Pour Stripe Connect :​
- Commission garantie : Vous recevez exactement 4%
- Transparence : Le client voit le montant original
- Automatique : Transfert direct vers le vendeur
- Conforme : Utilise les bonnes pratiques Stripe
✅ Pour les Paiements Normaux :​
- Rétrocompatibilité : Fonctionne comme avant
- Simplicité : Pas de changement pour les vendeurs
- Flexibilité : Peut être migré vers Stripe Connect
🔧 Configuration Technique​
1. Application Fee (Stripe Connect)​
'payment_intent_data[application_fee_amount]': applicationFeeAmount.toString(),
'payment_intent_data[transfer_data][destination]': connectedAccountId,
2. Détection Automatique​
final connectedAccount = await _connectedAccountRepository.getConnectedAccountByUserId(vendeurId);
if (connectedAccount?.status == ConnectedAccountStatus.active) {
// Utiliser Stripe Connect
} else {
// Utiliser paiement normal
}
3. Calcul de Commission​
final commissionAmount = StripeConfig.calculateCommissionAmount(amount);
final applicationFeeAmount = (commissionAmount * 100).round(); // Centimes
📊 Comparaison des Modèles​
| Aspect | Paiement Normal | Stripe Connect |
|---|---|---|
| Client paie | 104€ | 100€ |
| Votre commission | ~0.68€ | 4€ |
| Vendeur reçoit | 0€ | ~92.80€ |
| Transparence | ❌ | ✅ |
| Conformité | ❌ | ✅ |
🚀 Mise en Œuvre​
1. Utilisation du Service Unifié​
final paymentLink = await unifiedPaymentService.createPaymentLink(
amount: 100.0,
currency: 'EUR',
description: 'Commande #123',
clientName: 'Jean Dupont',
clientEmail: 'jean@example.com',
vendeurId: 'vendeur_123',
commandeId: 'commande_456',
);
2. Génération de Message​
final message = unifiedPaymentService.generateShareMessage(
clientName: 'Jean Dupont',
amount: 100.0,
currency: 'EUR',
paymentUrl: paymentLink.url,
isConnectPayment: true,
);
🔍 Vérification des Commissions​
1. Logs de Debug​
print('💳 Création paiement Stripe Connect');
print('Montant original: $amount $currency');
print('Commission (4%): ${commissionAmount.toStringAsFixed(2)} $currency');
print('Application fee (centimes): $applicationFeeAmount');
2. Dashboard Stripe​
- Vérifiez les Application Fees dans votre dashboard
- Consultez les Transfers vers les comptes connectés
- Surveillez les Payouts des vendeurs
⚠️ Points d'Attention​
1. Frais Stripe​
- Stripe prend toujours ses frais (2.9% + 0.30€)
- Votre commission de 4% est en plus
- Le vendeur reçoit : Montant - Frais Stripe - Votre Commission
2. Seuils Minimums​
- Stripe Connect nécessite un compte validé
- Les transferts peuvent avoir des délais
- Vérifiez les requirements du compte
3. Conformité​
- Respectez les réglementations locales
- Informez les vendeurs des frais
- Tenez des registres précis
🎉 Résultat Final​
Avec cette nouvelle architecture :
- âś… Commission de 4% garantie pour Stripe Connect
- âś… Transparence totale pour le client
- âś… Transfert automatique vers le vendeur
- ✅ Rétrocompatibilité avec l'existant
- ✅ Conformité aux bonnes pratiques Stripe
Votre système de commission est maintenant correctement implémenté ! 🚀