Skip to content

Commit 4f9efa8

Browse files
Fix campaign creation payment
1 parent 18c523a commit 4f9efa8

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

src/hooks/useCampaignFormSimple.ts

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)