@@ -63,9 +63,29 @@ export const useCampaignFormSimple = () => {
6363 setLoading ( true ) ;
6464
6565 try {
66+ console . log ( '🚀 SIMPLE: Vérification des méthodes de paiement...' ) ;
67+
68+ // 🔒 SÉCURITÉ : Vérifier qu'une méthode de paiement existe avant de créer la campagne
69+ await refreshPaymentMethods ( ) ;
70+
71+ if ( paymentMethods . length === 0 ) {
72+ console . log ( '❌ SIMPLE: Aucune méthode de paiement trouvée' ) ;
73+ toast ( {
74+ title : "Méthode de paiement requise" ,
75+ description : "Vous devez ajouter une carte bancaire avant de créer une campagne" ,
76+ variant : "destructive" ,
77+ } ) ;
78+ setShowPaymentSelector ( true ) ;
79+ setLoading ( false ) ;
80+ return ;
81+ }
82+
83+ const defaultPaymentMethod = paymentMethods [ 0 ] ;
84+ console . log ( '💳 SIMPLE: Utilisation méthode de paiement:' , defaultPaymentMethod . id ) ;
85+
6686 console . log ( '🚀 SIMPLE: Création campagne avec:' , formData ) ;
6787
68- // Créer la campagne directement dans Supabase
88+ // Créer la campagne avec méthode de paiement liée
6989 const { data : campaign , error } = await supabase
7090 . from ( 'campaigns' )
7191 . insert ( {
@@ -75,7 +95,8 @@ export const useCampaignFormSimple = () => {
7595 is_active : formData . isActive ,
7696 user_id : user . uid ,
7797 is_draft : false ,
78- payment_configured : true ,
98+ payment_configured : true , // ✅ Maintenant vraiment configuré
99+ stripe_payment_method_id : defaultPaymentMethod . id , // 🔗 Lié à la carte
79100 default_commission_rate : 0.10
80101 } )
81102 . select ( )
@@ -86,15 +107,15 @@ export const useCampaignFormSimple = () => {
86107 throw new Error ( 'Erreur lors de la création de la campagne' ) ;
87108 }
88109
89- console . log ( '✅ SIMPLE: Campagne créée:' , campaign ) ;
110+ console . log ( '✅ SIMPLE: Campagne créée avec paiement configuré :' , campaign ) ;
90111
91112 // Déclencher la modale de succès
92113 setCreatedCampaign ( { id : campaign . id , name : campaign . name } ) ;
93114 setShowSuccessModal ( true ) ;
94115
95116 toast ( {
96117 title : "Campagne créée avec succès !" ,
97- description : "Votre campagne est maintenant active." ,
118+ description : "Votre campagne est maintenant active avec paiement configuré ." ,
98119 } ) ;
99120
100121 } catch ( error : any ) {
@@ -110,8 +131,14 @@ export const useCampaignFormSimple = () => {
110131 } ;
111132
112133 const handleCardSelection = async ( cardId : string ) => {
113- console . log ( '💳 SIMPLE: Sélection carte (simplifié) :' , cardId ) ;
134+ console . log ( '💳 SIMPLE: Carte sélectionnée :' , cardId ) ;
114135 setShowPaymentSelector ( false ) ;
136+
137+ // Après sélection de carte, relancer la création de campagne
138+ toast ( {
139+ title : "Carte sélectionnée" ,
140+ description : "Vous pouvez maintenant créer votre campagne" ,
141+ } ) ;
115142 } ;
116143
117144 const handleSuccessModalClose = ( ) => {
0 commit comments