{"timestamp":"2026-02-14 12:11:22","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1t9SeckSPvqkIBuSmFbKxGOEBDUODFmwHMDGDvaL8AnFfa2k2rdoGH69Q","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 12:13:07","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0gmcCmOXyFMbarNLxSgOiB","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:07","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0gljCmOXyFMbarDuxq7yqZ","customer_id":"cus_Tye3vAvVVI0HEr","payment_method":"pm_1T0glhCmOXyFMbarkPKcJ2rU","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:07","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:08","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0gljCmOXyFMbarDuxq7yqZ","customer_id":"cus_Tye3vAvVVI0HEr","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:09","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0gmeCmOXyFMbarf03BriUy","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:09","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1t9SeckSPvqkIBuSmFbKxGOEBDUODFmwHMDGDvaL8AnFfa2k2rdoGH69Q","customer_id":"cus_Tye3vAvVVI0HEr","payment_status":"paid","subscription_id":"sub_1T0gmdCmOXyFMbarw2SExza9","mode":"subscription","metadata":{"plan_id":"agency_pro","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:09","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0gmdCmOXyFMbarw2SExza9","status":"active","customer_id":"cus_Tye3vAvVVI0HEr","plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:09","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0gmfCmOXyFMbarQlbaikQK","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:09","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0gliCmOXyFMbarcY5UM91y","subscription_id":null,"amount_paid":0,"customer_id":"cus_Tye3vAvVVI0HEr"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:10","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0gmfCmOXyFMbarhsu17fss","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:10","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0gmdCmOXyFMbarw2SExza9","customer_id":"cus_Tye3vAvVVI0HEr","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:10","message":"Pas de user_id dans customer metadata","context":{"customer_id":"cus_Tye3vAvVVI0HEr","metadata":{"supabase_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:10","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0gmdCmOXyFMbarw2SExza9","session_id":"cs_live_b1t9SeckSPvqkIBuSmFbKxGOEBDUODFmwHMDGDvaL8AnFfa2k2rdoGH69Q"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:13:10","message":"Pas de user_id dans customer metadata","context":{"customer_id":"cus_Tye3vAvVVI0HEr","metadata":{"supabase_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:23:01","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b19QauM3A1UDxh4Dxo9RaQKgZzUExj33kOx7iIVnClRzcTQ74taNo3H303","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6PCmOXyFMbarwayrQNPn"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 12:24:16","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0gxPCmOXyFMbarNeYDFUC2","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:16","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0gwkCmOXyFMbarB4cyKw3h","customer_id":"cus_TyeEydRDilxhXN","payment_method":"pm_1T0gwjCmOXyFMbargv4RhaH2","subscription_id":null,"all_metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:16","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:16","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0gwkCmOXyFMbarB4cyKw3h","customer_id":"cus_TyeEydRDilxhXN","metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:17","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0gxQCmOXyFMbarb0Sph2eA","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:17","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b19QauM3A1UDxh4Dxo9RaQKgZzUExj33kOx7iIVnClRzcTQ74taNo3H303","customer_id":"cus_TyeEydRDilxhXN","payment_status":"paid","subscription_id":"sub_1T0gxPCmOXyFMbaryhlWzKe9","mode":"subscription","metadata":{"plan_id":"agency_max","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:17","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0gxPCmOXyFMbaryhlWzKe9","status":"active","customer_id":"cus_TyeEydRDilxhXN","plan_id":"agency_max"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"Pas de user_id dans customer metadata","context":{"customer_id":"cus_TyeEydRDilxhXN","metadata":{"supabase_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0gxPCmOXyFMbaryhlWzKe9","session_id":"cs_live_b19QauM3A1UDxh4Dxo9RaQKgZzUExj33kOx7iIVnClRzcTQ74taNo3H303"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0gxRCmOXyFMbarcL75l27B","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0gwjCmOXyFMbarpb1idk8A","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyeEydRDilxhXN"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0gxRCmOXyFMbar1xmdrxTr","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0gxPCmOXyFMbaryhlWzKe9","customer_id":"cus_TyeEydRDilxhXN","status":"active","plan_id":"agency_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:24:18","message":"Pas de user_id dans customer metadata","context":{"customer_id":"cus_TyeEydRDilxhXN","metadata":{"supabase_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:27:59","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b19EpDqBPQSUq16kHeZSUd49XN30cW9PhB1zzu50A1gqJdIxquf9E4neaO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 12:29:23","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0h2MCmOXyFMbarr2Wbfsmc","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:23","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0h1cCmOXyFMbarzwww0HGI","customer_id":"cus_TyeJYMhbf3fIBk","payment_method":"pm_1T0h1bCmOXyFMbar5tX96qfH","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:23","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:23","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0h1cCmOXyFMbarzwww0HGI","customer_id":"cus_TyeJYMhbf3fIBk","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:24","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0h2OCmOXyFMbarsZgbycKN","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:24","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b19EpDqBPQSUq16kHeZSUd49XN30cW9PhB1zzu50A1gqJdIxquf9E4neaO","customer_id":"cus_TyeJYMhbf3fIBk","payment_status":"paid","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","mode":"subscription","metadata":{"plan_id":"agency_pro","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","status":"active","customer_id":"cus_TyeJYMhbf3fIBk","plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771068516},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","stripe_customer_id":"cus_TyeJYMhbf3fIBk","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 11:29:25","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:29:25","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","p_stripe_customer_id":"cus_TyeJYMhbf3fIBk","p_status":"active","p_current_period_start":"2026-02-14T11:28:36Z","p_current_period_end":"2026-03-14T11:28:36Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:29:25","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:29:25","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","session_id":"cs_live_b19EpDqBPQSUq16kHeZSUd49XN30cW9PhB1zzu50A1gqJdIxquf9E4neaO"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0h2PCmOXyFMbarrtNXK8Wz","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:25","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0h1cCmOXyFMbarlJPOWsBg","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyeJYMhbf3fIBk"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0h2PCmOXyFMbarBQUl7Shl","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","customer_id":"cus_TyeJYMhbf3fIBk","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771068516},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","stripe_customer_id":"cus_TyeJYMhbf3fIBk","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 11:29:26","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z","created_at":"2026-02-14 11:28:36"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:29:26","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:29:26","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","p_stripe_customer_id":"cus_TyeJYMhbf3fIBk","p_status":"active","p_current_period_start":"2026-02-14T11:28:36Z","p_current_period_end":"2026-03-14T11:28:36Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:29:26","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:29:26","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:38:26","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b14OAK2HAa95ASXlj8GD5uzSJXMGfX0zxPFINSUjZd0L4mTuEpIqTt4tMz","user_id":"test-verification-1771069105","mode":"subscription","price_id":"price_1SkL6PCmOXyFMbarwayrQNPn"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"curl\/8.7.1"} {"timestamp":"2026-02-14 12:50:42","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1WQ1oIzoPxqzZyjTniPOb6ZXDduamviGl4iy5tbzQrytqIFpbnfv1seJF","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6QCmOXyFMbarmftER0RQ"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 12:53:49","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0hQ1CmOXyFMbaroCjnTPMp","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:49","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0hPGCmOXyFMbarj3GpwxCj","customer_id":"cus_TyegxCGAiftIb9","payment_method":"pm_1T0hPFCmOXyFMbarjBnHq3nn","subscription_id":null,"all_metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:49","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:50","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0hPGCmOXyFMbarj3GpwxCj","customer_id":"cus_TyegxCGAiftIb9","metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:51","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0hQ3CmOXyFMbarC3uMs6AO","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:51","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1WQ1oIzoPxqzZyjTniPOb6ZXDduamviGl4iy5tbzQrytqIFpbnfv1seJF","customer_id":"cus_TyegxCGAiftIb9","payment_status":"paid","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","mode":"subscription","metadata":{"plan_id":"agency_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:51","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","status":"active","customer_id":"cus_TyegxCGAiftIb9","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771069982},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","stripe_customer_id":"cus_TyegxCGAiftIb9","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 11:53:52","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:53:52","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","p_stripe_customer_id":"cus_TyegxCGAiftIb9","p_status":"active","p_current_period_start":"2026-02-14T11:53:02Z","p_current_period_end":"2026-03-14T11:53:02Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:53:52","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:53:52","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","session_id":"cs_live_b1WQ1oIzoPxqzZyjTniPOb6ZXDduamviGl4iy5tbzQrytqIFpbnfv1seJF"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0hQ3CmOXyFMbarjf1nrXPm","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0hPGCmOXyFMbarc9Rmzvbb","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyegxCGAiftIb9"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0hQ3CmOXyFMbarmJc3xvj4","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:52","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","customer_id":"cus_TyegxCGAiftIb9","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771069982},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","stripe_customer_id":"cus_TyegxCGAiftIb9","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 11:53:53","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z","created_at":"2026-02-14 11:53:02"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 12:53:53","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:53:53","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","p_stripe_customer_id":"cus_TyegxCGAiftIb9","p_status":"active","p_current_period_start":"2026-02-14T11:53:02Z","p_current_period_end":"2026-03-14T11:53:02Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:53:53","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 12:53:53","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:04:24","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1TLGE2PNbvUhx4MkkrShQ3KIkhizViy42tlAgGLkRROVpNUsMGDh8T7W4","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 13:06:19","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0hc7CmOXyFMbart74mLVTp","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:19","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0harCmOXyFMbardd5xQG6G","customer_id":"cus_Tyeukhm7L62Y27","payment_method":"pm_1T0haqCmOXyFMbarekAYHvBE","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:19","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:19","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0harCmOXyFMbardd5xQG6G","customer_id":"cus_Tyeukhm7L62Y27","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0hc8CmOXyFMbarvbsRtSXB","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1TLGE2PNbvUhx4MkkrShQ3KIkhizViy42tlAgGLkRROVpNUsMGDh8T7W4","customer_id":"cus_Tyeukhm7L62Y27","payment_status":"paid","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","mode":"subscription","metadata":{"plan_id":"agency_pro","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","status":"active","customer_id":"cus_Tyeukhm7L62Y27","plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:21","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":1},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771070700},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","stripe_customer_id":"cus_Tyeukhm7L62Y27","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 12:06:22","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:06:22","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","p_stripe_customer_id":"cus_Tyeukhm7L62Y27","p_status":"active","p_current_period_start":"2026-02-14T12:05:00Z","p_current_period_end":"2026-03-14T12:05:00Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:06:22","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0hc9CmOXyFMbarKkf9yhAW","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0haqCmOXyFMbar2jMdvsHe","subscription_id":null,"amount_paid":0,"customer_id":"cus_Tyeukhm7L62Y27"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:06:22","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","session_id":"cs_live_b1TLGE2PNbvUhx4MkkrShQ3KIkhizViy42tlAgGLkRROVpNUsMGDh8T7W4"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0hc9CmOXyFMbary3vKLLd3","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","customer_id":"cus_Tyeukhm7L62Y27","status":"active","plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":1},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771070700},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","stripe_customer_id":"cus_Tyeukhm7L62Y27","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 12:06:22","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z","created_at":"2026-02-14 12:05:00"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:06:22","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:06:22","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","p_stripe_customer_id":"cus_Tyeukhm7L62Y27","p_status":"active","p_current_period_start":"2026-02-14T12:05:00Z","p_current_period_end":"2026-03-14T12:05:00Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:06:22","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:06:22","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:36:56","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b19aJUx8gOlIlAJ1oJwIEy0HdQs6vZ2znpiN1LoPDPVR8QaKkt7fPnBaOu","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6PCmOXyFMbarwayrQNPn"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 13:38:48","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0i7XCmOXyFMbarx8zUxmI3","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:48","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0i6ECmOXyFMbarVOdi3ZTk","customer_id":"cus_TyfQe9d5Fu14PO","payment_method":"pm_1T0i6DCmOXyFMbarGJ74x4TA","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:48","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:48","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0i6ECmOXyFMbarVOdi3ZTk","customer_id":"cus_TyfQe9d5Fu14PO","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:49","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0i7ZCmOXyFMbaryFywotS9","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:49","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b19aJUx8gOlIlAJ1oJwIEy0HdQs6vZ2znpiN1LoPDPVR8QaKkt7fPnBaOu","customer_id":"cus_TyfQe9d5Fu14PO","payment_status":"paid","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","mode":"subscription","metadata":{"plan_id":"agency_max","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:49","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","status":"active","customer_id":"cus_TyfQe9d5Fu14PO","plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC DECISION","context":{"plan_id":"agency_max","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_max","max_agents":10,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_max","max_agents":10,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","new_max_agents":10,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_max","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 12:38:50","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:38:50","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_max","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:38:50","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:38:50","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","session_id":"cs_live_b19aJUx8gOlIlAJ1oJwIEy0HdQs6vZ2znpiN1LoPDPVR8QaKkt7fPnBaOu"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_max","max_agents":10,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_max","max_agents":10,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","new_max_agents":10,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0i7aCmOXyFMbar4EexpAEE","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:50","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0i6DCmOXyFMbardrBZ2WaI","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0i7aCmOXyFMbardH3aybzX","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"SYNC DECISION","context":{"plan_id":"agency_max","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_max","max_agents":10,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_max","max_agents":10,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","new_max_agents":10,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_max","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 12:38:51","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","created_at":"2026-02-14 12:37:25"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 13:38:51","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:38:51","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_max","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:38:51","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 13:38:51","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:03:55","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iVqCmOXyFMbarFAjdxpiB","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:03:55","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0gmdCmOXyFMbarw2SExza9","customer_id":"cus_Tye3vAvVVI0HEr"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:03:56","message":"Pas de user_id dans customer metadata","context":{"customer_id":"cus_Tye3vAvVVI0HEr","metadata":{"supabase_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:05","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iW0CmOXyFMbarGHu4xT99","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:05","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0gxPCmOXyFMbaryhlWzKe9","customer_id":"cus_TyeEydRDilxhXN"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:05","message":"Pas de user_id dans customer metadata","context":{"customer_id":"cus_TyeEydRDilxhXN","metadata":{"supabase_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:10","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iW5CmOXyFMbarHzRhyDbm","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:10","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","customer_id":"cus_TyeJYMhbf3fIBk"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771068516},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","stripe_customer_id":"cus_TyeJYMhbf3fIBk","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:04:11","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:11","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:11","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","p_stripe_customer_id":"cus_TyeJYMhbf3fIBk","p_status":"canceled","p_current_period_start":"2026-02-14T11:28:36Z","p_current_period_end":"2026-03-14T11:28:36Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:11","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:11","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:16","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iWCCmOXyFMbarXSGhWDuL","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:16","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","customer_id":"cus_TyegxCGAiftIb9"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771069982},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","stripe_customer_id":"cus_TyegxCGAiftIb9","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:04:17","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:17","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:17","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","p_stripe_customer_id":"cus_TyegxCGAiftIb9","p_status":"canceled","p_current_period_start":"2026-02-14T11:53:02Z","p_current_period_end":"2026-03-14T11:53:02Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:17","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:17","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iWJCmOXyFMbarE3XhuXuf","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","customer_id":"cus_Tyeukhm7L62Y27"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771070700},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","stripe_customer_id":"cus_Tyeukhm7L62Y27","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:04:24","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:24","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:24","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","p_stripe_customer_id":"cus_Tyeukhm7L62Y27","p_status":"canceled","p_current_period_start":"2026-02-14T12:05:00Z","p_current_period_end":"2026-03-14T12:05:00Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:25","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:25","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iW5CmOXyFMbarHzRhyDbm","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","customer_id":"cus_TyeJYMhbf3fIBk"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771068516},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","stripe_customer_id":"cus_TyeJYMhbf3fIBk","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:04:28","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:04:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","p_stripe_customer_id":"cus_TyeJYMhbf3fIBk","p_status":"canceled","p_current_period_start":"2026-02-14T11:28:36Z","p_current_period_end":"2026-03-14T11:28:36Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:29","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:04:29","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:17:00","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6QCmOXyFMbarmftER0RQ","new_plan_id":"agency_starter","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:17:01","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarmftER0RQ","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:17:01","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0iiXCmOXyFMbar84YgAe0P","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:17:01","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:17:01","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:30:17","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","new_plan_id":"agency_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:30:19","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:30:19","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:30:19","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:30:19","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:30:19","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:30:19","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0ivPCmOXyFMbarm4uzPJQC","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:19","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:19","message":"PLAN CHANGE DETECTED","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_max","new_plan_id":"agency_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:19","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:19","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:19","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:19","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:30:20","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:30:20","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:30:20","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:30:20","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:30:20","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_max","new_plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":100,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":7,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:30:20","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:56","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iWCCmOXyFMbarXSGhWDuL","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:56","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","customer_id":"cus_TyegxCGAiftIb9"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771069982},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","stripe_customer_id":"cus_TyegxCGAiftIb9","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:33:57","current_period_start":"2026-02-14T11:53:02Z","current_period_end":"2026-03-14T11:53:02Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:33:57","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","p_stripe_customer_id":"cus_TyegxCGAiftIb9","p_status":"canceled","p_current_period_start":"2026-02-14T11:53:02Z","p_current_period_end":"2026-03-14T11:53:02Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:33:57","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:33:57","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hQ1CmOXyFMbars6L3IUn0","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:57","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:33:58","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:40","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6PCmOXyFMbarwayrQNPn","new_plan_id":"agency_max","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:42:41","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6PCmOXyFMbarwayrQNPn","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:42:41","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:42:41","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_max","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:42:41","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:42:41","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:42:41","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0j7NCmOXyFMbarg4YEESst","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:41","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:41","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","max_agents":10,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:42:42","message":"PLAN CHANGE DETECTED","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_pro","new_plan_id":"agency_max","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"SYNC DECISION","context":{"plan_id":"agency_max","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_max","max_agents":10,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_max","max_agents":10,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_max","new_max_agents":10,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_max","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 13:42:42","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:42:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_max","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:42:42","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 14:42:42","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 14:42:42","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_pro","new_plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_max","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":150,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":1,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 14:42:42","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:24","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iW5CmOXyFMbarHzRhyDbm","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:24","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","customer_id":"cus_TyeJYMhbf3fIBk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:24","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:24","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:24","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:24","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771068516},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","stripe_customer_id":"cus_TyeJYMhbf3fIBk","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 14:03:25","current_period_start":"2026-02-14T11:28:36Z","current_period_end":"2026-03-14T11:28:36Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:03:25","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","p_stripe_customer_id":"cus_TyeJYMhbf3fIBk","p_status":"canceled","p_current_period_start":"2026-02-14T11:28:36Z","p_current_period_end":"2026-03-14T11:28:36Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:03:25","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:03:25","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0h2MCmOXyFMbarsLpBDGAz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:03:25","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:03","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0iWJCmOXyFMbarE3XhuXuf","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:03","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","customer_id":"cus_Tyeukhm7L62Y27"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771070700},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","stripe_customer_id":"cus_Tyeukhm7L62Y27","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 14:05:04","current_period_start":"2026-02-14T12:05:00Z","current_period_end":"2026-03-14T12:05:00Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:05:04","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","p_stripe_customer_id":"cus_Tyeukhm7L62Y27","p_status":"canceled","p_current_period_start":"2026-02-14T12:05:00Z","p_current_period_end":"2026-03-14T12:05:00Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:05:04","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:05:04","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0hc7CmOXyFMbarbdLwCamO","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:04","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:05:05","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:26","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6QCmOXyFMbarmftER0RQ","new_plan_id":"agency_starter","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 15:08:27","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarmftER0RQ","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 15:08:27","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:08:27","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:08:28","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:08:28","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 15:08:28","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","max_agents":2,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 15:08:28","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0jWJCmOXyFMbarh8dMhM1A","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 15:08:28","message":"PLAN CHANGE DETECTED","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_max","new_plan_id":"agency_starter","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 14:08:28","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:08:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:08:29","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:08:29","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_max","new_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_starter","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":50,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":0,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:08:29","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:56","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0iiXCmOXyFMbar84YgAe0P","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:56","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 14:16:57","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:16:57","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:16:57","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 15:16:57","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 15:16:57","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:04","message":"Abonnement annul\u00e9 (fin de p\u00e9riode)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","cancel_at":"2026-03-14 13:37:25"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 17:24:05","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0ldYCmOXyFMbarbXtfcGtv","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:05","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-02-14 16:24:06","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:24:06","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:24:06","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:24:06","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:24:06","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:15","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6RCmOXyFMbarj628u90T","new_plan_id":"individual_starter","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 17:26:16","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6RCmOXyFMbarj628u90T","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 17:26:16","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:26:16","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:26:16","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:26:16","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 17:26:16","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","max_agents":1,"mode":"individual","http_code":200},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 17:26:16","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0lfgCmOXyFMbarPpP5DT3c","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:16","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"PLAN CHANGE DETECTED","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_starter","new_plan_id":"individual_starter","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-02-14 16:26:17","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:26:17","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:26:17","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 17:26:17","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 17:26:17","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_starter","new_plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"individual_starter","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":30,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":0,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 17:26:17","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:19","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","new_plan_id":"agency_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:31:21","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:31:21","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:31:21","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:31:21","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:31:21","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:31:21","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","max_agents":5,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:31:22","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0mgfCmOXyFMbarkEe3H3WO","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:31:22","message":"PLAN CHANGE DETECTED","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"individual_starter","new_plan_id":"agency_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-02-14 17:31:22","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:31:22","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:31:22","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:31:22","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"individual_starter","new_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"agency_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":100,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":2,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:31:22","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:10","message":"Abonnement annul\u00e9 (fin de p\u00e9riode)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","cancel_at":"2026-03-14 13:37:25"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:39:11","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0moECmOXyFMbarSEVYaKFe","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:11","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-02-14 17:39:12","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:39:12","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:39:12","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:39:12","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:39:12","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:41","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T0msbCmOXyFMbarqxGEI728","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:41","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","customer_id":"cus_ThnpboM1lMRH9r"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770709399},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-10T07:43:19Z","current_period_end":"2026-03-10T07:43:19Z","subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","stripe_customer_id":"cus_ThnpboM1lMRH9r","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-14 17:43:42","current_period_start":"2026-02-10T07:43:19Z","current_period_end":"2026-03-10T07:43:19Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:43:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","p_stripe_customer_id":"cus_ThnpboM1lMRH9r","p_status":"canceled","p_current_period_start":"2026-02-10T07:43:19Z","p_current_period_end":"2026-03-10T07:43:19Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:43:42","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:43:42","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzBbxCmOXyFMbars5siycHf","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:43","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:43:43","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:31","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_price_id":"price_1SkL6RCmOXyFMbarn0IKisle","new_plan_id":"individual_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:53:32","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","new_status":"active","new_price_id":"price_1SkL6RCmOXyFMbarn0IKisle","latest_invoice":"in_1T0i6DCmOXyFMbardrBZ2WaI"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:53:32","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:53:32","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:53:32","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:53:32","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:53:32","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","max_agents":1,"mode":"individual","http_code":200},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:53:33","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0n28CmOXyFMbarUkXLAljI","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 18:53:33","message":"PLAN CHANGE DETECTED","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_pro","new_plan_id":"individual_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-02-14 17:53:33","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:53:33","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:53:33","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 18:53:33","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","old_plan_id":"agency_pro","new_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","new_plan_id":"individual_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":80,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":0,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 18:53:33","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:54","message":"Abonnement annul\u00e9 (fin de p\u00e9riode)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","cancel_at_period_end":true,"cancel_at":"2026-03-14 13:37:25"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:06:54","message":"cancel-subscription: Sync Supabase user_subscriptions","context":{"stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","cancel_at_period_end":true,"http_code":200},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:06:54","message":"cancel-subscription: Email annulation envoy\u00e9","context":{"email":"trezor.mang@gmail.com","http_code":200,"curl_error":null},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:06:55","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0nF4CmOXyFMbaraS64xQcQ","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-02-14 18:06:55","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:55","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 19:06:55","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"active","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 19:06:56","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 19:06:56","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:06:56","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:44:07","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0np3CmOXyFMbarQv4zPVZH","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:44:07","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0msaCmOXyFMbarLBJco2Vk","subscription_id":null,"amount_paid":0,"customer_id":"cus_ThnpboM1lMRH9r"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:50:15","message":"ADD_PROPERTIES (web): D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","additional_properties":1,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","account_type":"individual","source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:50:16","message":"ADD_PROPERTIES (web): Autorisation valid\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:50:16","message":"ADD_PROPERTIES (web): InvoiceItem cr\u00e9\u00e9","context":{"invoice_item_id":"ii_1T0nv2CmOXyFMbar5dSZwBwN","amount":100,"quantity":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:50:17","message":"ADD_PROPERTIES (web): Facture cr\u00e9\u00e9e","context":{"invoice_id":"in_1T0nv2CmOXyFMbart0YxXmft"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:50:18","message":"ADD_PROPERTIES (web): Facture finalis\u00e9e","context":{"invoice_id":"in_1T0nv2CmOXyFMbart0YxXmft","status":"paid","paid":null},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:50:19","message":"ADD_PROPERTIES (web): Paiement confirm\u00e9","context":{"invoice_id":"in_1T0nv2CmOXyFMbart0YxXmft"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:50:19","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0nv4CmOXyFMbarAlMJpoAz","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:50:19","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0nv2CmOXyFMbart0YxXmft","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:50:19","message":"ADD_PROPERTIES (web): RPC Supabase r\u00e9ussie","context":{"properties_added":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:24","message":"ADD_PROPERTIES (web): D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","additional_properties":1,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","account_type":"individual","source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:24","message":"ADD_PROPERTIES (web): Autorisation valid\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:25","message":"ADD_PROPERTIES (web): InvoiceItem cr\u00e9\u00e9","context":{"invoice_item_id":"ii_1T0nz2CmOXyFMbarhHTAdxhB","amount":100,"quantity":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:25","message":"ADD_PROPERTIES (web): Facture cr\u00e9\u00e9e","context":{"invoice_id":"in_1T0nz3CmOXyFMbarWZ1uWG1u"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:26","message":"ADD_PROPERTIES (web): Facture finalis\u00e9e","context":{"invoice_id":"in_1T0nz3CmOXyFMbarWZ1uWG1u","status":"paid","paid":null},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:27","message":"ADD_PROPERTIES (web): Paiement confirm\u00e9","context":{"invoice_id":"in_1T0nz3CmOXyFMbarWZ1uWG1u"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 19:54:27","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0nz4CmOXyFMbar2y2Tfo1Z","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:54:27","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0nz3CmOXyFMbarWZ1uWG1u","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 19:54:27","message":"ADD_PROPERTIES (web): RPC Supabase r\u00e9ussie","context":{"properties_added":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:34:41","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:34:42","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"0 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:34:42","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0oc1CmOXyFMbarWx3HP4wH","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 19:34:42","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:34:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:34:42","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:34:42","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:34:42","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:37:45","message":"ADD_PROPERTIES (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","additional_properties":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","account_type":"agency","source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:46","message":"ADD_PROPERTIES (web): Autorisation valid\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:46","message":"ADD_PROPERTIES (web): InvoiceItem cr\u00e9\u00e9","context":{"invoice_item_id":"ii_1T0of0CmOXyFMbarinyaObVC","amount":5900,"quantity":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:47","message":"ADD_PROPERTIES (web): Facture cr\u00e9\u00e9e","context":{"invoice_id":"in_1T0of0CmOXyFMbarodQcXTfy"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:48","message":"ADD_PROPERTIES (web): Facture finalis\u00e9e","context":{"invoice_id":"in_1T0of0CmOXyFMbarodQcXTfy","status":"paid","paid":null},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:48","message":"ADD_PROPERTIES (web): Paiement confirm\u00e9","context":{"invoice_id":"in_1T0of0CmOXyFMbarodQcXTfy"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:48","message":"ADD_PROPERTIES (web): RPC Supabase r\u00e9ussie","context":{"properties_added":50},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:37:49","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0of2CmOXyFMbarP5mf1DWb","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:37:49","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0of0CmOXyFMbarodQcXTfy","subscription_id":null,"amount_paid":0,"customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:58","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:38:58","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"1 -> 2","patch_http":204},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:38:59","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0ogACmOXyFMbarvMvDxCQh","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 19:38:59","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:38:59","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:38:59","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:38:59","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:38:59","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:39","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:39:41","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"2 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 20:39:42","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T0ogrCmOXyFMbarpz5GtjRq","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 19:39:42","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:39:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:39:43","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 20:39:43","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:43","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:43","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:43","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 20:39:43","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 21:07:14","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","new_price_id":"price_1SkL6PCmOXyFMbar2oT6w0Ys","new_plan_id":"agency_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 21:07:15","message":"Erreur Stripe API lors upgrade (web)","context":{"error":"All prices on a subscription must have the same `recurring.interval` and `recurring.interval_count` unless flexible billing mode is enabled and you're on the 2025-06-30.basil API version or later. To proceed, update the subscription to flexible billing mode, then retry this update. For information about flexible billing mode, go to https:\/\/docs.stripe.com\/billing\/subscriptions\/billing-mode. ","type":"Stripe\\Exception\\InvalidRequestException","code":null},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:14:55","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_TynmWRLo4NQbLg","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:14:56","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_TynmWRLo4NQbLg","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:15:42","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0qBlCmOXyFMbarVJqjIPen","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:15:42","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","customer_id":"cus_TynmWRLo4NQbLg","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:15:42","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:15:42","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","payment_status":"paid"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:15:42","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","amount_total":0,"currency":"eur"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:15:42","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","rpc_result":{"success":true,"data":{"debug":{"agency_id":"e950c20c-1259-4130-be17-6e98df7c7d60","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":0},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":0,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:15:42","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1nvTle712LsyXsrpsgqP4DQ5WnRIe1oBLX6ivMNL5EfvNnwG7eeOhiYGa","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","properties_added":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:06","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_TynoGw5wkDR9x8","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:17:06","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_TynoGw5wkDR9x8","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:17:35","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0qDaCmOXyFMbarMZClIzei","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:35","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","customer_id":"cus_TynoGw5wkDR9x8","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:35","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:35","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","payment_status":"paid"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:35","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","amount_total":0,"currency":"eur"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:35","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","rpc_result":{"success":true,"data":{"debug":{"agency_id":"e950c20c-1259-4130-be17-6e98df7c7d60","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:17:35","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b11u9AcSzlNNAW2oGHtCQVX0LiAU9qnScpyohxsreVxSDWE9dQ0DT0F0xo","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","properties_added":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:18:06","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_TynpRlMwh2dILn","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:18:06","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b15nsJAOHrnbl2gqeh74lTGVo21KKRPumJgTvHQSiy47movHfihw8DAIYH","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b15nsJAOHrnbl2gqeh74lTGVo21KKRPumJgTvHQSiy47movHfihw8DAIYH#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_TynpRlMwh2dILn","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:21:17","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b19PGvyhrYtAI9B92vX8N0HPNaIq8dbdf8oM4dgBds6B219Lja1lplg0IV","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","mode":"subscription","price_id":"price_1SkL6PCmOXyFMbar2oT6w0Ys"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:35:54","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_Tyo7924OylO61F","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:35:54","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1zqdHKoEBVb3KBnUUHsjRCJ0BfYQLmWNE3e6QPKqgEGMEhHOPVcZUjFCR","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1zqdHKoEBVb3KBnUUHsjRCJ0BfYQLmWNE3e6QPKqgEGMEhHOPVcZUjFCR#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_Tyo7924OylO61F","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:36:15","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1NXsKMj79N3pxIicSAkay9xrke37XA0kVdUIU4NqIum9V6UjdX7zqejKR","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","mode":"subscription","price_id":"price_1SkL6PCmOXyFMbar2oT6w0Ys"},"ip":"2a02:a03f:6b21:de01:e9e7:5c87:68a7:abce","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-14 22:37:49","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T0qX9CmOXyFMbarHVE3NGuA","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:49","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T0qWICmOXyFMbarQVrf362t","customer_id":"cus_Tyo72PLmTEySXZ","payment_method":"pm_1T0qWHCmOXyFMbar800UajYG","subscription_id":null,"all_metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:49","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:49","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T0qWICmOXyFMbarQVrf362t","customer_id":"cus_Tyo72PLmTEySXZ","metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T0qXBCmOXyFMbarSj4A1VCx","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1NXsKMj79N3pxIicSAkay9xrke37XA0kVdUIU4NqIum9V6UjdX7zqejKR","customer_id":"cus_Tyo72PLmTEySXZ","payment_status":"paid","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","mode":"subscription","metadata":{"plan_id":"agency_pro","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","source":"web","account_type":"agency"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","status":"active","customer_id":"cus_Tyo72PLmTEySXZ","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_Tyo72PLmTEySXZ","new_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T0qXCCmOXyFMbard4zynUBb","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T0qWHCmOXyFMbar2EA82Kuc","subscription_id":null,"amount_paid":0,"customer_id":"cus_Tyo72PLmTEySXZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:50","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_Tyo72PLmTEySXZ","new_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T0qXCCmOXyFMbargrxalGfm","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771105013},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","stripe_customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_pro","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 21:37:51","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 22:37:51","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":"2026-02-14T21:36:53Z","p_current_period_end":"2027-02-14T21:36:53Z","p_plan_id":"agency_pro","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771105013},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","stripe_customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_pro","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-14 21:37:51","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","created_at":"2026-02-14 21:36:53"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 22:37:51","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":"2026-02-14T21:36:53Z","p_current_period_end":"2027-02-14T21:36:53Z","p_plan_id":"agency_pro","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 22:37:51","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 22:37:51","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":false,"error":"duplicate key value violates unique constraint \"user_subscriptions_stripe_subscription_id_key\"","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-14 22:37:51","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","session_id":"cs_live_b1NXsKMj79N3pxIicSAkay9xrke37XA0kVdUIU4NqIum9V6UjdX7zqejKR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-14 22:37:51","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:10","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","new_price_id":"price_1SkL6QCmOXyFMbarkGFE07sh","new_plan_id":"agency_starter","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:10:11","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarkGFE07sh","latest_invoice":"in_1T0qWHCmOXyFMbar2EA82Kuc"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:10:11","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:10:11","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_starter","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:10:11","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:10:11","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_starter","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:10:11","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_starter","max_agents":2,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:10:12","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T11LDCmOXyFMbarTOB9vOXm","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:10:12","message":"PLAN CHANGE DETECTED","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","old_plan_id":"agency_pro","new_plan_id":"agency_starter","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","old_plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_starter","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771105013},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","stripe_customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_starter","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-15 09:10:12","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:10:12","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":"2026-02-14T21:36:53Z","p_current_period_end":"2027-02-14T21:36:53Z","p_plan_id":"agency_starter","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:10:12","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:10:12","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","old_plan_id":"agency_pro","new_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","new_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","new_plan_id":"agency_starter","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":50,"new_additional_used":0,"new_used_properties":0,"old_additional_used":1,"old_used_properties":1,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":1}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:12","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:13","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:10:13","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:09","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","new_price_id":"price_1SkL6PCmOXyFMbarO8Gy6pBa","new_plan_id":"agency_max","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:29:10","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","new_status":"active","new_price_id":"price_1SkL6PCmOXyFMbarO8Gy6pBa","latest_invoice":"in_1T0qWHCmOXyFMbar2EA82Kuc"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:29:10","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:29:10","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_max","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:29:10","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:29:10","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_max","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:29:10","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_max","max_agents":10,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:29:11","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T11daCmOXyFMbarPPsuuVoE","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:29:11","message":"PLAN CHANGE DETECTED","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","old_plan_id":"agency_starter","new_plan_id":"agency_max","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"SYNC DECISION","context":{"plan_id":"agency_max","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","old_plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_max","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_max","max_agents":10,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_max","max_agents":10,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_max","new_max_agents":10,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771105013},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","stripe_customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_max","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-15 09:29:11","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:29:11","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":"2026-02-14T21:36:53Z","p_current_period_end":"2027-02-14T21:36:53Z","p_plan_id":"agency_max","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:29:11","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:29:11","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","old_plan_id":"agency_starter","new_plan_id":"agency_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","new_plan_id":"agency_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","new_plan_id":"agency_max","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":150,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":0,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:29:11","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:19","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","new_price_id":"price_1SkL6PCmOXyFMbar2oT6w0Ys","new_plan_id":"agency_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:35:21","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","new_status":"active","new_price_id":"price_1SkL6PCmOXyFMbar2oT6w0Ys","latest_invoice":"in_1T0qWHCmOXyFMbar2EA82Kuc"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:35:21","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:35:21","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_pro","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:35:21","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:35:21","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:35:21","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","max_agents":5,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:35:21","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T11jZCmOXyFMbarID14dW7k","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:21","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"},"ip":"2a02:a03f:6b21:de01:6002:2d1f:a53b:afc","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-15 10:35:22","message":"PLAN CHANGE DETECTED","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","old_plan_id":"agency_max","new_plan_id":"agency_pro","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","old_plan_id":"agency_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771105013},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","stripe_customer_id":"cus_Tyo72PLmTEySXZ","status":"active","plan_id":"agency_pro","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-15 09:35:22","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:35:22","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"active","p_current_period_start":"2026-02-14T21:36:53Z","p_current_period_end":"2027-02-14T21:36:53Z","p_plan_id":"agency_pro","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:35:22","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:35:22","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","old_plan_id":"agency_max","new_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","new_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","new_plan_id":"agency_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":100,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":0,"remaining_from_old_plan":0,"new_additional_purchased":0,"old_additional_purchased":0}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:35:22","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T123XCmOXyFMbarmjDHJ58R","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","customer_id":"cus_Tyo72PLmTEySXZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771105013},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","stripe_customer_id":"cus_Tyo72PLmTEySXZ","status":"canceled","plan_id":"agency_pro","is_yearly":true,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-15 09:56:00","current_period_start":"2026-02-14T21:36:53Z","current_period_end":"2027-02-14T21:36:53Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:56:00","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","p_stripe_customer_id":"cus_Tyo72PLmTEySXZ","p_status":"canceled","p_current_period_start":"2026-02-14T21:36:53Z","p_current_period_end":"2027-02-14T21:36:53Z","p_plan_id":"agency_pro","p_is_yearly":true,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:56:00","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 10:56:00","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0qXACmOXyFMbarVH8HLtFb","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:00","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 10:56:01","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 11:56:52","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T130RCmOXyFMbarZSc25MaK","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 11:56:52","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T123WCmOXyFMbarG6JUBFlU","subscription_id":null,"amount_paid":0,"customer_id":"cus_Tyo72PLmTEySXZ"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:57","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1588CmOXyFMbarqCkxs4Z6","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:57","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","customer_id":"cus_TmNSWFuQ1ZP4tB","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","old_plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","plan_id":"individual_starter","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1768482671},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-15T13:11:11Z","current_period_end":"2026-03-15T13:11:11Z","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","data":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","stripe_subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","stripe_customer_id":"cus_TmNSWFuQ1ZP4tB","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-15 13:12:58","current_period_start":"2026-02-15T13:11:11Z","current_period_end":"2026-03-15T13:11:11Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 14:12:58","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","p_stripe_subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","p_stripe_customer_id":"cus_TmNSWFuQ1ZP4tB","p_status":"active","p_current_period_start":"2026-02-15T13:11:11Z","p_current_period_end":"2026-03-15T13:11:11Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 14:12:58","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-15 14:12:58","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:58","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:59","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 14:12:59","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 15:14:08","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T165LCmOXyFMbarDNVAP7or","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-15 15:14:08","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T1586CmOXyFMbarhAgrt8mP","subscription_id":null,"amount_paid":300,"customer_id":"cus_TmNSWFuQ1ZP4tB"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:37","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 09:02:38","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"1 -> 2","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 09:02:38","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1MlNCmOXyFMbarTZfvXYIH","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 08:02:38","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:38","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 09:02:38","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 09:02:39","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 09:02:39","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:39","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:39","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:39","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:02:39","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:17","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 09:04:19","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"2 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 09:04:19","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1Mn0CmOXyFMbarIJK2s61j","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:19","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 08:04:20","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 09:04:20","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 09:04:20","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 09:04:20","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 09:04:20","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:29","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:05:31","message":"REMOVE_AGENTS (web): Item supprim\u00e9","context":{"item_id":"si_TymAXdKuG0t0Fm"},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:05:31","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"1 -> 0","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:05:31","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1X6tCmOXyFMbarDZ7Qj2qF","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:31","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 19:05:32","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:05:32","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:05:32","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:05:32","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:05:32","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:07","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:13:07","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1XEFCmOXyFMbarhxek8PUg","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:07","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:07","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"0 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:13:08","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 19:13:08","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:13:08","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:13:08","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:13:08","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:13:08","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:23","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:22:24","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"1 -> 2","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-16 20:22:24","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1XNDCmOXyFMbarH0DdKpDm","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:24","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 19:22:25","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:22:25","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:22:25","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 20:22:25","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 20:22:25","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:46","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","new_plan_id":"agency_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-16 23:11:47","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","latest_invoice":"in_1SzCa5CmOXyFMbar3AkPiO66"},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-16 23:11:47","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:47","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:48","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:48","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-16 23:11:48","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","max_agents":5,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-16 23:11:48","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1a19CmOXyFMbarO7rcrLxE","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:48","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"PLAN CHANGE DETECTED","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","old_plan_id":"agency_starter","new_plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 22:11:49","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:49","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:49","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:49","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","old_plan_id":"agency_starter","new_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","new_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"UPGRADE (web): Agents suppl\u00e9mentaires supprim\u00e9s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-16 23:11:49","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","new_plan_id":"agency_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":100,"new_additional_used":0,"new_used_properties":0,"old_additional_used":9,"old_used_properties":5,"remaining_from_old_plan":91,"new_additional_purchased":91,"old_additional_purchased":100}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-16 23:11:49","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:49","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1a1BCmOXyFMbarSeOX8xf1","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-16 22:11:50","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:50","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:50","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-16 23:11:50","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:50","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:51","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-16 23:11:51","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:54","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 09:38:54","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"2 -> 3","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 09:38:55","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1jo2CmOXyFMbarAaYnz7vI","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-17 08:38:55","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-17 09:38:55","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-17 09:38:55","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-17 09:38:55","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:38:55","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:01","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 09:39:01","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"3 -> 4","patch_http":204},"ip":"2a02:a03f:6b21:de01:60f7:e6c8:dd07:8d52","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 09:39:02","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T1jo9CmOXyFMbarJFZ8gxJY","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:02","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:02","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:02","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:02","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:02","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-17 08:39:03","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-17 09:39:03","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-17 09:39:03","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-17 09:39:03","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 09:39:03","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-17 10:10:47","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"2a02:a03f:6b21:de01:2d4f:4971:5c2:4303","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 10:29:22","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"2a02:a03f:6b21:de01:2d4f:4971:5c2:4303","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 11:25:06","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"2a02:a03f:6b21:de01:2d4f:4971:5c2:4303","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-17 11:35:01","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"2a02:a03f:6b21:de01:4c:18a5:67fe:ab6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-17 16:01:00","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"62.235.242.124","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_5_0 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-18 11:25:11","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U08CvJYlVGP9xy","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:ac94:f140:448a:26b5","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-18 11:25:11","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b13n5RtIKgoqPLkNblHCRALycdMI7coEisg8X16FYIStptZkykY683IBsQ","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b13n5RtIKgoqPLkNblHCRALycdMI7coEisg8X16FYIStptZkykY683IBsQ#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U08CvJYlVGP9xy","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:ac94:f140:448a:26b5","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-18 13:05:03","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"2a02:a03f:6b21:de01:ac94:f140:448a:26b5","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-19 09:14:22","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1rxltoUCG1AS9XzGW2h4co9d2Nz6Gl3YKFYqgINPmCz4Iz0ab0KBLFWwf","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:ac94:f140:448a:26b5","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-19 16:28:11","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"62.235.242.124","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-19 16:28:43","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"2a02:a03f:6b21:de01:ac94:f140:448a:26b5","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-19 16:33:56","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"2a02:a03f:6b21:de01:54fb:5dc7:2237:18a3","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/144.0.7559.95 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-19 19:32:51","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"62.235.242.124","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-19 21:36:41","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T2dxkCmOXyFMbarGi2QOW9e","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:41","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","customer_id":"cus_Tno8lf9aBgS4Ah","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","plan_id":"agency_starter","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1768854925},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-19T20:35:25Z","current_period_end":"2026-03-19T20:35:25Z","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","data":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","stripe_subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","stripe_customer_id":"cus_Tno8lf9aBgS4Ah","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-19 20:36:42","current_period_start":"2026-02-19T20:35:25Z","current_period_end":"2026-03-19T20:35:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:43","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-19 21:36:43","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","p_stripe_subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","p_stripe_customer_id":"cus_Tno8lf9aBgS4Ah","p_status":"active","p_current_period_start":"2026-02-19T20:35:25Z","p_current_period_end":"2026-03-19T20:35:25Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-19 21:36:43","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-19 21:36:43","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:43","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:43","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:43","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 21:36:43","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 22:37:22","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T2euTCmOXyFMbar15eZHKMQ","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-19 22:37:22","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T2dxjCmOXyFMbarVubci1IZ","subscription_id":null,"amount_paid":0,"customer_id":"cus_Tno8lf9aBgS4Ah"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-20 18:28:24","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"62.235.242.124","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-20 20:03:37","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"2a02:a03f:6b21:de01:5052:2a77:e3b5:443b","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-20 20:07:41","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"2a02:a03f:6b21:de01:5052:2a77:e3b5:443b","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-02-21 19:40:31","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U1NsI25MMgQHog","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:1808:1b1:ffd3:b43d:e77f:e355:bfe8","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-21 19:40:31","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U1NsI25MMgQHog","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:1808:1b1:ffd3:b43d:e77f:e355:bfe8","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-21 19:42:01","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T3L7sCmOXyFMbarDscrrInS","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 19:42:01","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","customer_id":"cus_U1NsI25MMgQHog","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 19:42:01","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 19:42:01","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","payment_status":"paid"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 19:42:01","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","amount_total":0,"currency":"eur"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 19:42:01","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","rpc_result":{"success":true,"data":{"debug":{"agency_id":"031b8b58-584b-407c-80d0-eedb56e349b0","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":0},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":0,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 19:42:01","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1T8Pho0cmxAtE6hJSTOZ8WDsMKdJUNkimzbdtU3PoOhtY7wUGgG7vevza","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","properties_added":1},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:11","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U1P9lBUWOBi0hl","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-21 21:00:12","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U1P9lBUWOBi0hl","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-21 21:00:24","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T3MLjCmOXyFMbarWN4Jf0b8","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:24","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","customer_id":"cus_U1P9lBUWOBi0hl","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","type":"single_property_payment","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:24","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","session_type":"single_property_payment","metadata":{"app":"web","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","type":"single_property_payment","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:24","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","payment_status":"paid"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:24","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","amount_total":0,"currency":"eur"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:25","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","rpc_result":{"success":true,"data":{"debug":{"agency_id":"031b8b58-584b-407c-80d0-eedb56e349b0","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:00:25","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1fV4zzUzBiCSsvKgFlCGnV0VW5UJkr8zZNmxeJZUMSUs4pliK0eSx3D8q","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","properties_added":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:43:44","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b11r1Xdw7Ubnt8kdSru6rwQYTYceyBDx1IWIeRxMHDgScjk4BtGVZjiIsb","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-21 21:45:09","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1T3N32CmOXyFMbar11msgKHu","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:09","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1T3N2UCmOXyFMbaroTGQzUda","customer_id":"cus_U1PrymNV72HpeK","payment_method":"pm_1T3N2SCmOXyFMbarcBTMSDdU","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:09","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:09","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1T3N2UCmOXyFMbaroTGQzUda","customer_id":"cus_U1PrymNV72HpeK","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T3N34CmOXyFMbarRVcAG3je","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b11r1Xdw7Ubnt8kdSru6rwQYTYceyBDx1IWIeRxMHDgScjk4BtGVZjiIsb","customer_id":"cus_U1PrymNV72HpeK","payment_status":"paid","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","source":"web","account_type":"individual"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","status":"active","customer_id":"cus_U1PrymNV72HpeK","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_U1PrymNV72HpeK","new_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T3N35CmOXyFMbarNDwaZ0jt","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_U1PrymNV72HpeK","new_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","canceled_count":0,"errors":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T3N35CmOXyFMbarvDRkVe6p","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:11","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T3N2TCmOXyFMbarboD0zxLJ","subscription_id":null,"amount_paid":0,"customer_id":"cus_U1PrymNV72HpeK"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_starter","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_starter","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771706673},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","data":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","stripe_customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-21 20:45:12","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","created_at":"2026-02-21 20:44:33"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771706673},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","data":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","stripe_customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-21 20:45:12","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-21 21:45:12","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":"2026-02-21T20:44:33Z","p_current_period_end":"2026-03-21T20:44:33Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-21 21:45:12","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-21 21:45:12","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":"2026-02-21T20:44:33Z","p_current_period_end":"2026-03-21T20:44:33Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-21 21:45:12","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-21 21:45:12","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","session_id":"cs_live_b11r1Xdw7Ubnt8kdSru6rwQYTYceyBDx1IWIeRxMHDgScjk4BtGVZjiIsb"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_starter","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-21 21:45:12","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-21 21:45:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:50:38","message":"ADD_PROPERTIES (web): D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","additional_properties":1,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","account_type":"individual","source":"web"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:39","message":"ADD_PROPERTIES (web): Autorisation valid\u00e9e","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:39","message":"ADD_PROPERTIES (web): InvoiceItem cr\u00e9\u00e9","context":{"invoice_item_id":"ii_1T3XR5CmOXyFMbargJCnIsBJ","amount":100,"quantity":1},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:39","message":"ADD_PROPERTIES (web): Facture cr\u00e9\u00e9e","context":{"invoice_id":"in_1T3XR5CmOXyFMbar8Bb5YAzg"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:40","message":"ADD_PROPERTIES (web): Facture finalis\u00e9e","context":{"invoice_id":"in_1T3XR5CmOXyFMbar8Bb5YAzg","status":"paid","paid":null},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:41","message":"ADD_PROPERTIES (web): Paiement confirm\u00e9","context":{"invoice_id":"in_1T3XR5CmOXyFMbar8Bb5YAzg"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:41","message":"ADD_PROPERTIES (web): RPC Supabase r\u00e9ussie","context":{"properties_added":1},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:50:41","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T3XR7CmOXyFMbarF7MJkz48","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:50:41","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T3XR5CmOXyFMbar8Bb5YAzg","subscription_id":null,"amount_paid":0,"customer_id":"cus_U1PrymNV72HpeK"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:26","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","new_price_id":"price_1SkL6RCmOXyFMbarn0IKisle","new_plan_id":"individual_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:51:27","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","new_status":"active","new_price_id":"price_1SkL6RCmOXyFMbarn0IKisle","latest_invoice":"in_1T3N2TCmOXyFMbarboD0zxLJ"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:51:27","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:51:27","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:51:27","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T3XRrCmOXyFMbarwy16uzdf","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:27","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:27","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:51:27","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:51:28","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_pro","max_agents":1,"mode":"individual","http_code":200},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:51:28","message":"PLAN CHANGE DETECTED","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","old_plan_id":"individual_starter","new_plan_id":"individual_pro","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","old_plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_pro","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771706673},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","data":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","stripe_customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-22 07:51:28","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:51:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":"2026-02-21T20:44:33Z","p_current_period_end":"2026-03-21T20:44:33Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:51:28","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:51:28","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","old_plan_id":"individual_starter","new_plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","new_plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:51:28","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","new_plan_id":"individual_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":80,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":1,"remaining_from_old_plan":1,"new_additional_purchased":1,"old_additional_purchased":1}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:51:28","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:09","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","new_plan_id":"agency_pro","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:52:10","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarOVCUTfQf","latest_invoice":"in_1T3N2TCmOXyFMbarboD0zxLJ"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:52:10","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:52:10","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:52:11","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:52:11","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:52:11","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","max_agents":5,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:52:11","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T3XSYCmOXyFMbar5WDi46FU","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:11","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:11","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:52:12","message":"PLAN CHANGE DETECTED","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","old_plan_id":"individual_pro","new_plan_id":"agency_pro","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","old_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771706673},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","data":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","stripe_customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-22 07:52:12","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:52:12","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":"2026-02-21T20:44:33Z","p_current_period_end":"2026-03-21T20:44:33Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:52:12","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 08:52:12","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","old_plan_id":"individual_pro","new_plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","new_plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","new_plan_id":"agency_pro","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":100,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":0,"remaining_from_old_plan":1,"new_additional_purchased":1,"old_additional_purchased":1}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:52:12","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 08:53:50","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 08:54:51","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK"},"ip":"2a02:a03f:6b21:de01:1c86:b8a7:1de7:5d87","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:09","message":"ADD_PROPERTIES (web): D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","additional_properties":1,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","account_type":"agency","source":"web"},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:10","message":"ADD_PROPERTIES (web): Autorisation valid\u00e9e","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:10","message":"ADD_PROPERTIES (web): InvoiceItem cr\u00e9\u00e9","context":{"invoice_item_id":"ii_1T3ZzKCmOXyFMbarev4UDlgH","amount":5900,"quantity":1},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:10","message":"ADD_PROPERTIES (web): Facture cr\u00e9\u00e9e","context":{"invoice_id":"in_1T3ZzKCmOXyFMbarz6GeEv9Q"},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:11","message":"ADD_PROPERTIES (web): Facture finalis\u00e9e","context":{"invoice_id":"in_1T3ZzKCmOXyFMbarz6GeEv9Q","status":"paid","paid":null},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:12","message":"ADD_PROPERTIES (web): Paiement confirm\u00e9","context":{"invoice_id":"in_1T3ZzKCmOXyFMbarz6GeEv9Q"},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:12","message":"ADD_PROPERTIES (web): RPC Supabase r\u00e9ussie","context":{"properties_added":50},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:12","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T3ZzLCmOXyFMbarzHOP7Oed","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:12","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T3ZzKCmOXyFMbarz6GeEv9Q","subscription_id":null,"amount_paid":0,"customer_id":"cus_U1PrymNV72HpeK"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:23","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","quantity":1},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:23","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","additional_agents":"0 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:112c:eaa9:88c8:a8db","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.55 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 11:34:23","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T3ZzXCmOXyFMbar5haf9xsk","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:23","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","old_plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771706673},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","data":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","stripe_customer_id":"cus_U1PrymNV72HpeK","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-02-22 10:34:24","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 11:34:24","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"active","p_current_period_start":"2026-02-21T20:44:33Z","p_current_period_end":"2026-03-21T20:44:33Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 11:34:24","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-22 11:34:24","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 11:34:24","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:08","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U1iMetqsuIFCpj","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:ac80:def8:54db:df1e","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_3_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/18.3 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 16:51:09","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U1iMetqsuIFCpj","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:ac80:def8:54db:df1e","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_3_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/18.3 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-22 16:51:29","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T3ewNCmOXyFMbarrEYmeypv","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:29","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","customer_id":"cus_U1iMetqsuIFCpj","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:29","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:29","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:29","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:29","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-22 16:51:29","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1nG2wlWsiiOcBTshR5JheQzdV1XCuzCpaIH1TYU3yecqRHiW55v1b8JdQ","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:55:06","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U22kpM9Xa00Nie","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:c44d:0:55e6:dd5e:a7f9:9d12","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_3_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/18.3 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-23 13:55:07","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U22kpM9Xa00Nie","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:c44d:0:55e6:dd5e:a7f9:9d12","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_3_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/18.3 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-02-23 13:57:52","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T3yhvCmOXyFMbarfHhiiyE4","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:57:52","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","customer_id":"cus_U22kpM9Xa00Nie","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:57:52","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:57:52","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:57:52","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:57:52","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-23 13:57:52","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1OXrBL7oGMmZcXfYa3RSdYBkhsFaipMufPSBuDR25UQzh3BwfUG1vtIR8","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:29","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4PnYCmOXyFMbar7eAktNfE","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:29","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","customer_id":"cus_U1PrymNV72HpeK"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771706673},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","data":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","stripe_customer_id":"cus_U1PrymNV72HpeK","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 17:53:30","current_period_start":"2026-02-21T20:44:33Z","current_period_end":"2026-03-21T20:44:33Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 18:53:30","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","p_stripe_subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","p_stripe_customer_id":"cus_U1PrymNV72HpeK","p_status":"canceled","p_current_period_start":"2026-02-21T20:44:33Z","p_current_period_end":"2026-03-21T20:44:33Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 18:53:30","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 18:53:30","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T3N32CmOXyFMbar69uStlHA","user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 18:53:30","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"b1d04112-3d2a-4111-8569-6034fcd49e49","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:06","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4QaXCmOXyFMbarL4Gki6Ia","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:06","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","customer_id":"cus_Tno8lf9aBgS4Ah"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","plan_id":"agency_starter","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1768854925},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-19T20:35:25Z","current_period_end":"2026-03-19T20:35:25Z","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","data":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","stripe_subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","stripe_customer_id":"cus_Tno8lf9aBgS4Ah","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 18:44:07","current_period_start":"2026-02-19T20:35:25Z","current_period_end":"2026-03-19T20:35:25Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:07","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:07","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","p_stripe_subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","p_stripe_customer_id":"cus_Tno8lf9aBgS4Ah","p_status":"canceled","p_current_period_start":"2026-02-19T20:35:25Z","p_current_period_end":"2026-03-19T20:35:25Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:07","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:07","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SrPBACmOXyFMbarCp1H1d1r","user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:08","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:08","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"54f3748d-fc1d-4444-9d73-b36a838dd12f","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4QagCmOXyFMbarbOXiZkZX","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","customer_id":"cus_TjfKgfPYyoEs6S"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","plan_id":"individual_starter","subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1767615049},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-05T12:10:49Z","current_period_end":"2026-03-05T12:10:49Z","subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","data":{"user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","stripe_subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","stripe_customer_id":"cus_TjfKgfPYyoEs6S","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 18:44:15","current_period_start":"2026-02-05T12:10:49Z","current_period_end":"2026-03-05T12:10:49Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:15","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:15","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","p_stripe_subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","p_stripe_customer_id":"cus_TjfKgfPYyoEs6S","p_status":"canceled","p_current_period_start":"2026-02-05T12:10:49Z","p_current_period_end":"2026-03-05T12:10:49Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:15","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:15","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SmCcXCmOXyFMbarYgQLoUKJ","user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:16","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"06dc7422-4d3f-4802-b2cf-567643e55ac5","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4QatCmOXyFMbarX664uaey","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","customer_id":"cus_TkV2BJv5xUbQ2m"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","plan_id":"individual_pro","subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770402810},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-06T18:33:30Z","current_period_end":"2027-02-06T18:33:30Z","subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","data":{"user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","stripe_subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","stripe_customer_id":"cus_TkV2BJv5xUbQ2m","status":"canceled","plan_id":"individual_pro","is_yearly":true,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 18:44:28","current_period_start":"2026-02-06T18:33:30Z","current_period_end":"2027-02-06T18:33:30Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","p_stripe_subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","p_stripe_customer_id":"cus_TkV2BJv5xUbQ2m","p_status":"canceled","p_current_period_start":"2026-02-06T18:33:30Z","p_current_period_end":"2027-02-06T18:33:30Z","p_plan_id":"individual_pro","p_is_yearly":true,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:29","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:44:29","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SxtrgCmOXyFMbarrmBwkhoO","user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:44:29","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"45daf054-5dee-474a-aa4d-8a1a22092b3c","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:41","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4Qc5CmOXyFMbar07FTSVfz","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:41","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","customer_id":"cus_TjO3nhFenxjh97"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_starter","subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770710586},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-10T08:03:06Z","current_period_end":"2026-03-10T08:03:06Z","subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","data":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","stripe_subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","stripe_customer_id":"cus_TjO3nhFenxjh97","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 18:45:42","current_period_start":"2026-02-10T08:03:06Z","current_period_end":"2026-03-10T08:03:06Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:45:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","p_stripe_subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","p_stripe_customer_id":"cus_TjO3nhFenxjh97","p_status":"canceled","p_current_period_start":"2026-02-10T08:03:06Z","p_current_period_end":"2026-03-10T08:03:06Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:45:42","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:45:42","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzBvSCmOXyFMbarUDDe7JdO","user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:45:42","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"9e04b736-996b-47ab-83ea-0a076fb7eb23","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:09","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4QcXCmOXyFMbarONBsHQzK","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:09","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","customer_id":"cus_TkQmibZIB6kk84"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","plan_id":"agency_pro","subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770711133},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-10T08:12:13Z","current_period_end":"2026-03-10T08:12:13Z","subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","data":{"user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","stripe_subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","stripe_customer_id":"cus_TkQmibZIB6kk84","status":"canceled","plan_id":"agency_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 18:46:10","current_period_start":"2026-02-10T08:12:13Z","current_period_end":"2026-03-10T08:12:13Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:46:10","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","p_stripe_subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","p_stripe_customer_id":"cus_TkQmibZIB6kk84","p_status":"canceled","p_current_period_start":"2026-02-10T08:12:13Z","p_current_period_end":"2026-03-10T08:12:13Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:46:10","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 19:46:10","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzC4GCmOXyFMbarCcskJTd7","user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 19:46:10","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"a81fc8fa-4fd5-43f8-aa34-1d4579aa4fbe","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1T4RVmCmOXyFMbarZP1KbM0p","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","customer_id":"cus_TlyIOsl3jqGS9e"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","plan_id":"agency_starter","subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1768144503},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-01-11T18:35:29Z","current_period_end":"2027-01-11T18:35:29Z","subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:15","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","data":{"user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","stripe_subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","stripe_customer_id":"cus_TlyIOsl3jqGS9e","status":"canceled","plan_id":"agency_starter","is_yearly":true,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-02-24 19:43:15","current_period_start":"2026-01-11T18:35:29Z","current_period_end":"2027-01-11T18:35:29Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:16","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 20:43:16","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","p_stripe_subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","p_stripe_customer_id":"cus_TlyIOsl3jqGS9e","p_status":"canceled","p_current_period_start":"2026-01-11T18:35:29Z","p_current_period_end":"2027-01-11T18:35:29Z","p_plan_id":"agency_starter","p_is_yearly":true,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 20:43:16","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-02-24 20:43:16","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SoQM7CmOXyFMbarbZIWZs5H","user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:16","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-02-24 20:43:16","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"dea7c902-fe6e-427b-b7fb-16adaa05916b","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-02 12:27:59","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"2a02:a03f:6b21:de01:1c2f:b41f:e282:7b13","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:25:28","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:29","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"4 -> 3","patch_http":204},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:30","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6pCnCmOXyFMbarNnbyJoMT","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 09:25:30","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:30","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:25:30","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:25:30","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:25:31","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:31","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:31","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:31","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:31","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:40","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:41","message":"REMOVE_AGENTS (web): Item supprim\u00e9","context":{"item_id":"si_TzjGmCZuXftj7I"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:42","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"3 -> 2","patch_http":204},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:42","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6pCzCmOXyFMbarX2PiBzUV","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:42","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"SYNC DECISION","context":{"plan_id":"agency_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_pro","max_agents":5,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_pro","new_max_agents":5,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 09:25:43","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:25:43","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:25:43","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:25:43","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:43","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:25:46","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:47","message":"REMOVE_AGENTS (web): Erreur","context":{"error":"Aucun agent suppl\u00e9mentaire trouv\u00e9 \u00e0 supprimer"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:50","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:25:50","message":"REMOVE_AGENTS (web): Erreur","context":{"error":"Aucun agent suppl\u00e9mentaire trouv\u00e9 \u00e0 supprimer"},"ip":"2a02:a03f:6b21:de01:1588:ccd4:ea96:bb49","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 26_2_1 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-03 10:53:00","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:53:01","message":"REMOVE_AGENTS (web): Erreur","context":{"error":"Aucun agent suppl\u00e9mentaire trouv\u00e9 \u00e0 supprimer"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:58:07","message":"D\u00e9but upgrade abonnement (web)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","new_price_id":"price_1SkL6QCmOXyFMbarmftER0RQ","new_plan_id":"agency_starter","proration_behavior":"create_prorations","has_promo_code":false,"source":"web"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:58:08","message":"Abonnement upgrad\u00e9 avec succ\u00e8s (web)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","new_status":"active","new_price_id":"price_1SkL6QCmOXyFMbarmftER0RQ","latest_invoice":"in_1SzCa5CmOXyFMbar3AkPiO66"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:58:08","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:58:08","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":null,"p_current_period_end":null,"p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:58:08","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":false,"error":"null value in column \"current_period_start\" of relation \"user_subscriptions\" violates not-null constraint","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:58:08","message":"Supabase sync apr\u00e8s upgrade (web)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","http_code":200,"response":" {\"success\":true,\"message\":\"Fonction ex\\u00e9cut\\u00e9e\"}"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:58:08","message":"UPGRADE (web): Sync max_agents dans agencies","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","max_agents":2,"mode":"group","http_code":200},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:58:09","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6piOCmOXyFMbarwNPoIJWB","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"UPGRADE (web): additional_agents mis \u00e0 0 dans Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 10:58:09","message":"PLAN CHANGE DETECTED","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","old_plan_id":"agency_pro","new_plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 09:58:09","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:09","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:58:09","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:58:10","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 10:58:10","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"PLAN CHANGE: Recalcul additional_properties","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","old_plan_id":"agency_pro","new_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"RECALCUL PLAN CHANGE: D\u00e9but","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","new_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"RECALCUL PLAN CHANGE: Succ\u00e8s","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","new_plan_id":"agency_starter","result":{"message":"Recalcul et reset effectu\u00e9s avec succ\u00e8s lors du changement de plan","success":true,"new_base_limit":50,"new_additional_used":0,"new_used_properties":0,"old_additional_used":0,"old_used_properties":4,"remaining_from_old_plan":91,"new_additional_purchased":91,"old_additional_purchased":91}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 10:58:10","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:03","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:02:03","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"0 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:02:04","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6pmBCmOXyFMbarH09AuluM","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 10:02:04","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:04","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:02:04","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:02:05","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:02:05","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:05","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:05","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:05","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:05","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:47","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:02:48","message":"REMOVE_AGENTS (web): Item supprim\u00e9","context":{"item_id":"si_U4zlb1nOde20k8"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:02:48","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"1 -> 0","patch_http":204},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:02:49","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6pmuCmOXyFMbarbJrep5BH","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:49","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:49","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:49","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:49","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:49","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 10:02:50","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:02:50","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:02:50","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:02:50","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:02:50","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:08","message":"Agents suppl\u00e9mentaires ajout\u00e9s (Stripe)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","quantity":1},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:03:08","message":"Agents suppl\u00e9mentaires (Supabase)","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"0 -> 1","patch_http":204},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:03:08","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6pnECmOXyFMbarDwYaklNv","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:08","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 10:03:09","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:03:09","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:03:09","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:03:09","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:03:09","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:52","message":"REMOVE_AGENTS (web): D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","agents_to_remove":1,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:05:53","message":"REMOVE_AGENTS (web): Item supprim\u00e9","context":{"item_id":"si_U4zmkP6Fbfx6I3"},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:05:53","message":"REMOVE_AGENTS (web): Supabase","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","additional_agents":"1 -> 0","patch_http":204},"ip":"2a02:a03f:6b21:de01:e984:1cee:15fc:65ea","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-03 11:05:53","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T6pptCmOXyFMbarN0dOFlHh","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:53","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-03 10:05:54","current_period_start":"2026-02-10T08:46:01Z","current_period_end":"2026-03-10T08:46:01Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:05:54","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-02-10T08:46:01Z","p_current_period_end":"2026-03-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:05:54","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-03 11:05:54","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-03 11:05:54","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-04 14:06:23","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U5PyuRmqNk6f2I","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a020:5c9:6129:50b2:7ecc:53fb:177f","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_5_0 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-04 14:06:24","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1qdrra4W5XXxityI93N6arp0dpbQZWAthQ500ZRlgFu62EqwbREjNvh4X","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1qdrra4W5XXxityI93N6arp0dpbQZWAthQ500ZRlgFu62EqwbREjNvh4X#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U5PyuRmqNk6f2I","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a020:5c9:6129:50b2:7ecc:53fb:177f","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_5_0 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/145.0.7632.108 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-06 09:44:03","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_U66BXfjxeyyG33","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:c44d:0:59b4:436f:915e:95a0","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-06 09:44:03","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_U66BXfjxeyyG33","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:c44d:0:59b4:436f:915e:95a0","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-06 09:44:42","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T7tzxCmOXyFMbarjkf036tW","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-06 09:44:42","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","customer_id":"cus_U66BXfjxeyyG33","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-06 09:44:42","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-06 09:44:42","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-06 09:44:42","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-06 09:44:42","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-06 09:44:42","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b10mtDp7mVgtdfdoBDQv7AFdzZq5cG1icxEYQxPJq7PnTPazkAJMu8OEuw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:06","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T8GzpCmOXyFMbarujbbCK3o","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:06","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","customer_id":"cus_TkNdJhKJfAmVeT","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","old_plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","plan_id":"individual_starter","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1767777482},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-03-07T09:18:02Z","current_period_end":"2026-04-07T09:18:02Z","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","data":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","stripe_subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","stripe_customer_id":"cus_TkNdJhKJfAmVeT","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-07 09:18:07","current_period_start":"2026-03-07T09:18:02Z","current_period_end":"2026-04-07T09:18:02Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-07 10:18:07","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","p_stripe_subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","p_stripe_customer_id":"cus_TkNdJhKJfAmVeT","p_status":"active","p_current_period_start":"2026-03-07T09:18:02Z","p_current_period_end":"2026-04-07T09:18:02Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-07 10:18:07","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-07 10:18:07","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:18:07","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:19:35","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T8H1GCmOXyFMbarElFlT5iN","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-07 10:19:35","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T8GzoCmOXyFMbaroadpbVY7","subscription_id":null,"amount_paid":4500,"customer_id":"cus_TkNdJhKJfAmVeT"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:35","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1T9LvyCmOXyFMbar0NaSN7JU","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:35","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-03-10T08:46:01Z","current_period_end":"2026-04-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-10 08:46:36","current_period_start":"2026-03-10T08:46:01Z","current_period_end":"2026-04-10T08:46:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-10 09:46:36","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"active","p_current_period_start":"2026-03-10T08:46:01Z","p_current_period_end":"2026-04-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-10 09:46:36","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-10 09:46:36","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:46:36","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:48:41","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T9Ly1CmOXyFMbarHOFqKA7q","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-10 09:48:41","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T9LvwCmOXyFMbarBKmEc3cM","subscription_id":null,"amount_paid":0,"customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:44:14","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1DTVLHbjP8UwuBz2jk61c9CbATPrQEIDNMbaHB4oMBQ1ZBrgTM1I9UDve","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6792:7a00:1896:9398:cfe9:c3f6","user_agent":"Mozilla\/5.0 (iPad; CPU OS 18_5_0 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/146.0.7680.24 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-03-11 08:49:31","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1T9hWICmOXyFMbarraWg5Mma","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:31","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1DTVLHbjP8UwuBz2jk61c9CbATPrQEIDNMbaHB4oMBQ1ZBrgTM1I9UDve","customer_id":"cus_U7xLHAupOLWiSo","payment_status":"paid","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","source":"web","account_type":"individual"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","status":"active","customer_id":"cus_U7xLHAupOLWiSo","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_U7xLHAupOLWiSo","new_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1T9hWJCmOXyFMbarlDGrNuFU","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1T9hVXCmOXyFMbarIHjId0tU","subscription_id":null,"amount_paid":2250,"customer_id":"cus_U7xLHAupOLWiSo"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_U7xLHAupOLWiSo","new_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","canceled_count":0,"errors":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1T9hWJCmOXyFMbarE9xx7ltj","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1773215323},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-03-11T07:48:43Z","current_period_end":"2026-04-11T07:48:43Z","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","stripe_customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-11 07:49:32","current_period_start":"2026-03-11T07:48:43Z","current_period_end":"2026-04-11T07:48:43Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-11 08:49:32","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","p_stripe_customer_id":"cus_U7xLHAupOLWiSo","p_status":"active","p_current_period_start":"2026-03-11T07:48:43Z","p_current_period_end":"2026-04-11T07:48:43Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1773215323},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-03-11T07:48:43Z","current_period_end":"2026-04-11T07:48:43Z","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:32","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","stripe_customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-11 07:49:32","current_period_start":"2026-03-11T07:48:43Z","current_period_end":"2026-04-11T07:48:43Z","created_at":"2026-03-11 07:48:43"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-11 08:49:33","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-11 08:49:33","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","p_stripe_customer_id":"cus_U7xLHAupOLWiSo","p_status":"active","p_current_period_start":"2026-03-11T07:48:43Z","p_current_period_end":"2026-04-11T07:48:43Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-11 08:49:33","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","session_id":"cs_live_b1DTVLHbjP8UwuBz2jk61c9CbATPrQEIDNMbaHB4oMBQ1ZBrgTM1I9UDve"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-11 08:49:33","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-11 08:49:33","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TArRqCmOXyFMbarYNUJthCm","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1771072645},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","stripe_customer_id":"cus_TyfQe9d5Fu14PO","status":"canceled","plan_id":"individual_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-03-14 12:37:43","current_period_start":"2026-02-14T12:37:25Z","current_period_end":"2026-03-14T12:37:25Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:43","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-14 13:37:43","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","p_stripe_customer_id":"cus_TyfQe9d5Fu14PO","p_status":"canceled","p_current_period_start":"2026-02-14T12:37:25Z","p_current_period_end":"2026-03-14T12:37:25Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-14 13:37:44","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-14 13:37:44","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T0i7XCmOXyFMbar8gLVhbHR","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:37:44","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:39:42","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TArTlCmOXyFMbarPALo7JcB","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-14 13:39:42","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TArRoCmOXyFMbarIOAWtHcy","subscription_id":null,"amount_paid":0,"customer_id":"cus_TyfQe9d5Fu14PO"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TBESOCmOXyFMbarPuolLu5j","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","customer_id":"cus_TmNSWFuQ1ZP4tB","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","plan_id":"individual_starter","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1768482671},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-03-15T13:11:11Z","current_period_end":"2026-04-15T13:11:11Z","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","data":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","stripe_subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","stripe_customer_id":"cus_TmNSWFuQ1ZP4tB","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-03-15 13:11:49","current_period_start":"2026-03-15T13:11:11Z","current_period_end":"2026-04-15T13:11:11Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:49","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-15 14:11:49","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","p_stripe_subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","p_stripe_customer_id":"cus_TmNSWFuQ1ZP4tB","p_status":"active","p_current_period_start":"2026-03-15T13:11:11Z","p_current_period_end":"2026-04-15T13:11:11Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-15 14:11:50","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-15 14:11:50","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:50","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:50","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:50","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","http_code":200,"response":{"message":"Pas d'abonnement actif ou annulation en cours - pas de reset","success":true,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:11:50","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:13:21","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TBETsCmOXyFMbareMWJvM6r","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 14:13:21","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TBESMCmOXyFMbarfEbB55l2","subscription_id":null,"amount_paid":100,"customer_id":"cus_TmNSWFuQ1ZP4tB"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:43","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TBJoECmOXyFMbar9qVBhMMH","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:43","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","customer_id":"cus_TmNSWFuQ1ZP4tB"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:43","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:43","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","plan_id":"individual_starter","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:43","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:43","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1768482671},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-03-15T13:11:11Z","current_period_end":"2026-04-15T13:11:11Z","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","data":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","stripe_subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","stripe_customer_id":"cus_TmNSWFuQ1ZP4tB","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-03-15 18:54:44","current_period_start":"2026-03-15T13:11:11Z","current_period_end":"2026-04-15T13:11:11Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-15 19:54:44","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","p_stripe_subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","p_stripe_customer_id":"cus_TmNSWFuQ1ZP4tB","p_status":"canceled","p_current_period_start":"2026-03-15T13:11:11Z","p_current_period_end":"2026-04-15T13:11:11Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-15 19:54:44","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","http_code":200,"response":{"success":false,"error":"insert or update on table \"user_subscriptions\" violates foreign key constraint \"user_subscriptions_user_id_fkey\"","subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-03-15 19:54:44","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SpqL4CmOXyFMbarDNR6EJ7k","user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-15 19:54:44","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"16474c3b-3b1d-4193-bd5e-d84845d7f9b3","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-23 21:53:55","message":"ADD_PROPERTIES (web): D\u00e9but","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","additional_properties":1,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","account_type":"individual","source":"web"},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-23 21:53:56","message":"ADD_PROPERTIES (web): Autorisation valid\u00e9e","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa"},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-23 21:53:56","message":"ADD_PROPERTIES (web): InvoiceItem cr\u00e9\u00e9","context":{"invoice_item_id":"ii_1TEFU0CmOXyFMbartLrQg2ND","amount":100,"quantity":1},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-23 21:53:56","message":"ADD_PROPERTIES (web): Facture cr\u00e9\u00e9e","context":{"invoice_id":"in_1TEFU0CmOXyFMbarIo0nZOMw"},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-23 21:53:57","message":"ADD_PROPERTIES (web): Facture finalis\u00e9e","context":{"invoice_id":"in_1TEFU0CmOXyFMbarIo0nZOMw","status":"paid","paid":null},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-23 21:53:58","message":"ADD_PROPERTIES (web): Paiement confirm\u00e9","context":{"invoice_id":"in_1TEFU0CmOXyFMbarIo0nZOMw"},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-03-23 21:53:59","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TEFU2CmOXyFMbarRmGrDxEC","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-23 21:53:59","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TEFU0CmOXyFMbarIo0nZOMw","subscription_id":null,"amount_paid":0,"customer_id":"cus_U7xLHAupOLWiSo"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-03-23 21:53:59","message":"ADD_PROPERTIES (web): RPC Supabase r\u00e9ussie","context":{"properties_added":1},"ip":"2a02:a03f:6792:7a00:79e6:c7bc:e933:5082","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-04-01 10:31:32","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UFprH6UlFpH5Yo","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:c44d:0:e0e0:c039:665a:21f","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-01 10:31:32","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_UFprH6UlFpH5Yo","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:c44d:0:e0e0:c039:665a:21f","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-01 10:32:35","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1THKCUCmOXyFMbarjGFD8Lnd","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-01 10:32:35","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","customer_id":"cus_UFprH6UlFpH5Yo","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-01 10:32:35","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-01 10:32:35","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-01 10:32:35","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-01 10:32:35","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-01 10:32:35","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1vmQojRzesHiYSaa0g5UonieUAyljhEf0Z2cTFUVDWU11mMbx7FRAw7Av","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:24:25","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1HcjcznBHpxwoe3Kyw4I4iVdb1FJSc6ojJbeJsM9rdjyNiXpknlomT1UH","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarn0IKisle"},"ip":"109.135.25.185","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.3 Safari\/605.1.15"} {"timestamp":"2026-04-02 07:26:41","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1THdm8CmOXyFMbarT0znsPlZ","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1HcjcznBHpxwoe3Kyw4I4iVdb1FJSc6ojJbeJsM9rdjyNiXpknlomT1UH","customer_id":"cus_UGA4wVgUQghymZ","payment_status":"paid","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","mode":"subscription","metadata":{"plan_id":"individual_pro","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","source":"web","account_type":"individual"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","status":"active","customer_id":"cus_UGA4wVgUQghymZ","plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_UGA4wVgUQghymZ","new_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1THdm9CmOXyFMbarBxSt07SU","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1THdleCmOXyFMbar3OhbrKXB","subscription_id":null,"amount_paid":3450,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:41","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_UGA4wVgUQghymZ","new_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","canceled_count":0,"errors":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-04-02T05:26:10Z","current_period_end":"2026-05-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-04-02 05:26:42","current_period_start":"2026-04-02T05:26:10Z","current_period_end":"2026-05-02T05:26:10Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-02 07:26:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-04-02T05:26:10Z","p_current_period_end":"2026-05-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-02 07:26:42","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-02 07:26:42","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","session_id":"cs_live_b1HcjcznBHpxwoe3Kyw4I4iVdb1FJSc6ojJbeJsM9rdjyNiXpknlomT1UH"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1THdm9CmOXyFMbarp1sqqm5z","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-04-02T05:26:10Z","current_period_end":"2026-05-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-04-02 05:26:42","current_period_start":"2026-04-02T05:26:10Z","current_period_end":"2026-05-02T05:26:10Z","created_at":"2026-04-02 05:26:10"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-02 07:26:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-02 07:26:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-04-02T05:26:10Z","p_current_period_end":"2026-05-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-02 07:26:43","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-02 07:26:43","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:57:26","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UHu1ptLkwMR69X","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:c44d:0:9001:cf25:8aa4:453b","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-06 22:57:27","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdkdWxOYHwnPyd1blppbHNgWjA0V2N8MHBGaEpdfENIZ2R3S2xkTENBY0JqUVdoZzBIbGZEYk5SYHVWNldxaWwwUGIxckBMN0dNbDxidFRLb1Y2SUdRNTZsPGlnMlNQPEJcc1U3VTRgY1J0NTVPPEp0fW9USicpJ2N3amhWYHdzYHcnP3F3cGApJ2dkZm5id2pwa2FGamlqdyc%2FJyZjY2NjY2MnKSdpZHxqcHFRfHVgJz8naHBpcWxabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl","customer_id":"cus_UHu1ptLkwMR69X","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:c44d:0:9001:cf25:8aa4:453b","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-06 22:58:27","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TJKE2CmOXyFMbarRC3NZZza","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:58:27","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","customer_id":"cus_UHu1ptLkwMR69X","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:58:27","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:58:27","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:58:27","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:58:27","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-06 22:58:27","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b178h4U165xHjlzMT8R1mFRFvWzDWOSlpgCoDovFzQNClOXqqsj4Vd5U1a","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TJVmuCmOXyFMbartFzJX3BC","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","customer_id":"cus_TkNdJhKJfAmVeT","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","old_plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","plan_id":"individual_starter","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1767777482},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-04-07T09:18:02Z","current_period_end":"2026-05-07T09:18:02Z","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","data":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","stripe_subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","stripe_customer_id":"cus_TkNdJhKJfAmVeT","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-04-07 09:19:13","current_period_start":"2026-04-07T09:18:02Z","current_period_end":"2026-05-07T09:18:02Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:13","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:19:13","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","p_stripe_subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","p_stripe_customer_id":"cus_TkNdJhKJfAmVeT","p_status":"active","p_current_period_start":"2026-04-07T09:18:02Z","p_current_period_end":"2026-05-07T09:18:02Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:19:14","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:19:14","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:14","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:14","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:14","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:19:14","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:21:02","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TJVofCmOXyFMbarEryrS6iS","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:21:02","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TJVmtCmOXyFMbaraV4S5Mof","subscription_id":null,"amount_paid":4500,"customer_id":"cus_TkNdJhKJfAmVeT"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TJW0vCmOXyFMbar6qa3bquV","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","customer_id":"cus_TkNdJhKJfAmVeT"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","plan_id":"individual_starter","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1767777482},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-04-07T09:18:02Z","current_period_end":"2026-05-07T09:18:02Z","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","data":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","stripe_subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","stripe_customer_id":"cus_TkNdJhKJfAmVeT","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-04-07 09:33:42","current_period_start":"2026-04-07T09:18:02Z","current_period_end":"2026-05-07T09:18:02Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:42","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:33:42","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","p_stripe_subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","p_stripe_customer_id":"cus_TkNdJhKJfAmVeT","p_status":"canceled","p_current_period_start":"2026-04-07T09:18:02Z","p_current_period_end":"2026-05-07T09:18:02Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:33:43","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:33:43","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SmssQCmOXyFMbar6WjuAE8e","user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:43","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"b21d972d-21cb-4c9c-968d-62afc87f5d2a","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TJW14CmOXyFMbarPxoOSrwJ","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","customer_id":"cus_TvJcYW9HCiJq3e"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1770713161},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-03-10T08:46:01Z","current_period_end":"2026-04-10T08:46:01Z","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","stripe_customer_id":"cus_TvJcYW9HCiJq3e","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-04-07 09:33:51","current_period_start":"2026-03-10T08:46:01Z","current_period_end":"2026-04-10T08:46:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:51","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:33:51","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","p_stripe_customer_id":"cus_TvJcYW9HCiJq3e","p_status":"canceled","p_current_period_start":"2026-03-10T08:46:01Z","p_current_period_end":"2026-04-10T08:46:01Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:33:51","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-07 11:33:51","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1SzCadCmOXyFMbarg74oSW76","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:52","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-07 11:33:52","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TKwHmCmOXyFMbarZvyMZ2o2","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","old_plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1773215323},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-04-11T07:48:43Z","current_period_end":"2026-05-11T07:48:43Z","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","stripe_customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-04-11 07:48:59","current_period_start":"2026-04-11T07:48:43Z","current_period_end":"2026-05-11T07:48:43Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-11 09:48:59","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","p_stripe_customer_id":"cus_U7xLHAupOLWiSo","p_status":"active","p_current_period_start":"2026-04-11T07:48:43Z","p_current_period_end":"2026-05-11T07:48:43Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-11 09:48:59","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-11 09:48:59","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:48:59","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:50:31","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TKwJGCmOXyFMbarxZhvZLZQ","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-11 09:50:31","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TKwHkCmOXyFMbarulLrMKnM","subscription_id":null,"amount_paid":2300,"customer_id":"cus_U7xLHAupOLWiSo"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:03","message":"Abonnement annul\u00e9 (fin de p\u00e9riode)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","cancel_at_period_end":true,"cancel_at":"2026-05-11 09:48:43"},"ip":"2a02:a03f:6792:7a00:682f:e1f4:7cb9:6359","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-04-13 09:05:03","message":"cancel-subscription: Sync Supabase user_subscriptions","context":{"stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","cancel_at_period_end":true,"http_code":200},"ip":"2a02:a03f:6792:7a00:682f:e1f4:7cb9:6359","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-04-13 09:05:03","message":"cancel-subscription: Email annulation envoy\u00e9","context":{"email":"expertise.lenz@gmail.com","http_code":200,"curl_error":null},"ip":"2a02:a03f:6792:7a00:682f:e1f4:7cb9:6359","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/146.0.0.0 Safari\/537.36"} {"timestamp":"2026-04-13 09:05:04","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TLeYMCmOXyFMbarz42EMAkG","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","old_plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1773215323},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-04-11T07:48:43Z","current_period_end":"2026-05-11T07:48:43Z","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","stripe_customer_id":"cus_U7xLHAupOLWiSo","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-04-13 07:05:04","current_period_start":"2026-04-11T07:48:43Z","current_period_end":"2026-05-11T07:48:43Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-13 09:05:04","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","p_stripe_customer_id":"cus_U7xLHAupOLWiSo","p_status":"active","p_current_period_start":"2026-04-11T07:48:43Z","p_current_period_end":"2026-05-11T07:48:43Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-13 09:05:04","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-04-13 09:05:04","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-13 09:05:04","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","cancel_at_period_end":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:17","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UOXPfMwhc6LJHy","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:5440:6151:2750:b9cb","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-24 16:04:18","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UOXPfMwhc6LJHy","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:5440:6151:2750:b9cb","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-24 16:04:48","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TPkLbCmOXyFMbarsCQv4sly","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:48","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","customer_id":"cus_UOXPfMwhc6LJHy","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:48","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:48","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:48","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:48","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-24 16:04:48","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b14JG2b5eaAJSsH0491lEyfY10CY9ewA0jE2nlmWiLfvBvalaOl76gmrWw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:23:58","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UQpzzmlJCYecbX","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:8cc6:c085:62eb:5fd4","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-30 19:23:58","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UQpzzmlJCYecbX","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:8cc6:c085:62eb:5fd4","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-04-30 19:24:24","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TRyK2CmOXyFMbarMoRPa6iC","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:24:24","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","customer_id":"cus_UQpzzmlJCYecbX","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:24:24","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:24:24","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:24:24","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:24:24","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-04-30 19:24:24","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b18FBXKz2GbZqKGaBnbbV55ibxOPiTXrZ0TRRKOLAsNUFMEDew64H7jUOw","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TSW5BCmOXyFMbaryu6qQfoN","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-05-02T05:26:10Z","current_period_end":"2026-06-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-02 05:27:19","current_period_start":"2026-05-02T05:26:10Z","current_period_end":"2026-06-02T05:26:10Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:19","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-02 07:27:19","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-05-02T05:26:10Z","p_current_period_end":"2026-06-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-02 07:27:20","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-02 07:27:20","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:20","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:20","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:20","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:27:20","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:29:14","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TSW73CmOXyFMbars331wFS6","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-02 07:29:14","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TSW5ACmOXyFMbar5kOUhDO2","subscription_id":null,"amount_paid":3450,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:15:56","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_USuZdoAQGmCxec","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"81.240.142.167","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-05-06 08:15:57","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_USuZdoAQGmCxec","amount_total":899,"currency":"eur","mode":"payment"},"ip":"81.240.142.167","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-05-06 08:16:17","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TTykeCmOXyFMbarm9Tbcjir","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:16:17","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","customer_id":"cus_USuZdoAQGmCxec","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:16:17","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:16:17","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:16:17","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:16:17","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-06 08:16:17","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b19xgNTndQj7cuUVLE3ZTa1Hphk5uCTFxy1ZhmM3jEMonNLFQ9CgY7GRvS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:17:46","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b10UbuiiRn3cRn9D5vtuU21qaUhdZy5HDCpwpHqI1qOg9rahnvWGvWUIWy","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:15c9:c637:281d:1a32","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-08 14:34:39","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1E8MBRn7quPNfhaCI8LIn0d0vVSMSUAMWC7l4hEymiwv0kcf2CQGmYCu8","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:15c9:c637:281d:1a32","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-08 14:40:03","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TUnh8CmOXyFMbargLQlXhNh","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:40:03","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1E8MBRn7quPNfhaCI8LIn0d0vVSMSUAMWC7l4hEymiwv0kcf2CQGmYCu8","customer_id":"cus_UTl8tij0bp1jET","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"100","pack":"100","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:40:03","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1E8MBRn7quPNfhaCI8LIn0d0vVSMSUAMWC7l4hEymiwv0kcf2CQGmYCu8","session_type":"dashboard_credits_purchase","metadata":{"credits":"100","pack":"100","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:40:03","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1E8MBRn7quPNfhaCI8LIn0d0vVSMSUAMWC7l4hEymiwv0kcf2CQGmYCu8","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","credits":100,"pack":"100","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:44:04","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1cOcgY9DZAJclnIobc5I1pkMg4COQ9kCrTm64F0wXEwBi98ItLUgfBvyk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:15c9:c637:281d:1a32","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-08 14:44:24","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TUnlMCmOXyFMbarPdGK3bi7","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:44:24","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1cOcgY9DZAJclnIobc5I1pkMg4COQ9kCrTm64F0wXEwBi98ItLUgfBvyk","customer_id":"cus_UTlHIrfT8pEKvA","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","type":"dashboard_credits_purchase","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"dashboard_web"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:44:24","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1cOcgY9DZAJclnIobc5I1pkMg4COQ9kCrTm64F0wXEwBi98ItLUgfBvyk","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","type":"dashboard_credits_purchase","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"dashboard_web"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:44:25","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1cOcgY9DZAJclnIobc5I1pkMg4COQ9kCrTm64F0wXEwBi98ItLUgfBvyk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","credits":300,"pack":"300","ok":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:56:23","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b13JyNY9VVrgPoBSUmN3XVWwJxR8KUqqbDGR93FSS0hWKfkZuoAsatfK6N","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:15c9:c637:281d:1a32","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-08 14:56:37","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TUnxACmOXyFMbarCSt2R5b9","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:56:37","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b13JyNY9VVrgPoBSUmN3XVWwJxR8KUqqbDGR93FSS0hWKfkZuoAsatfK6N","customer_id":"cus_UTlTl3jhmEPzO0","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:56:37","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b13JyNY9VVrgPoBSUmN3XVWwJxR8KUqqbDGR93FSS0hWKfkZuoAsatfK6N","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-08 14:56:37","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b13JyNY9VVrgPoBSUmN3XVWwJxR8KUqqbDGR93FSS0hWKfkZuoAsatfK6N","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","credits":300,"pack":"300","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:10:41","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1Y0Ch0rGW62DzbA1qp0YBfd0vqgOrvsz9xnslcIVFUQ6D3n4DcTEaI1iZ","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6QCmOXyFMbarmftER0RQ"},"ip":"2a02:a03f:6b21:de01:15c9:c637:281d:1a32","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-09 10:11:44","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1TV5z1CmOXyFMbarzzapn0Ej","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:44","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1TV5ybCmOXyFMbarFNk0VuJ9","customer_id":"cus_UU469ppSMC2kok","payment_method":"pm_1TV5yaCmOXyFMbaroPGO0OmO","subscription_id":null,"all_metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:44","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:44","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1TV5ybCmOXyFMbarFNk0VuJ9","customer_id":"cus_UU469ppSMC2kok","metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TV5z3CmOXyFMbarxBl4Cyw3","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1Y0Ch0rGW62DzbA1qp0YBfd0vqgOrvsz9xnslcIVFUQ6D3n4DcTEaI1iZ","customer_id":"cus_UU469ppSMC2kok","payment_status":"paid","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","mode":"subscription","metadata":{"plan_id":"agency_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","status":"active","customer_id":"cus_UU469ppSMC2kok","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_UU469ppSMC2kok","new_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_UU469ppSMC2kok","new_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TV5z4CmOXyFMbar6za4W98f","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TV5ybCmOXyFMbarIgt95yIG","subscription_id":null,"amount_paid":0,"customer_id":"cus_UU469ppSMC2kok"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:46","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778314269},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-05-09T08:11:09Z","current_period_end":"2026-06-09T08:11:09Z","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","stripe_customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-09 08:11:47","current_period_start":"2026-05-09T08:11:09Z","current_period_end":"2026-06-09T08:11:09Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-09 10:11:47","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","p_stripe_customer_id":"cus_UU469ppSMC2kok","p_status":"active","p_current_period_start":"2026-05-09T08:11:09Z","p_current_period_end":"2026-06-09T08:11:09Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-09 10:11:47","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1TV5z4CmOXyFMbarWZUIzyCP","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-09 10:11:47","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","session_id":"cs_live_b1Y0Ch0rGW62DzbA1qp0YBfd0vqgOrvsz9xnslcIVFUQ6D3n4DcTEaI1iZ"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778314269},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-05-09T08:11:09Z","current_period_end":"2026-06-09T08:11:09Z","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","stripe_customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-09 08:11:47","current_period_start":"2026-05-09T08:11:09Z","current_period_end":"2026-06-09T08:11:09Z","created_at":"2026-05-09 08:11:09"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 10:11:47","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-09 10:11:47","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","p_stripe_customer_id":"cus_UU469ppSMC2kok","p_status":"active","p_current_period_start":"2026-05-09T08:11:09Z","p_current_period_end":"2026-06-09T08:11:09Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-09 10:11:47","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-09 10:11:47","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 18:20:00","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b10rdXIakEdt0dtUXotQjX4Dvoy0kofY2u8yUf2ApOAfhgW0yd1h3z2UAf","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-09 21:03:10","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1Q29SUtLQDnHzfgllNIZHF3a273qP9keIqkLcKYB8U6nsyNZNJ1jfVUQe","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-09 21:03:31","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVG9mCmOXyFMbaruL5sm3By","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:03:31","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1Q29SUtLQDnHzfgllNIZHF3a273qP9keIqkLcKYB8U6nsyNZNJ1jfVUQe","customer_id":"cus_UUEctD51DqAhek","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"100","pack":"100","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:03:31","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1Q29SUtLQDnHzfgllNIZHF3a273qP9keIqkLcKYB8U6nsyNZNJ1jfVUQe","session_type":"dashboard_credits_purchase","metadata":{"credits":"100","pack":"100","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:03:31","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1Q29SUtLQDnHzfgllNIZHF3a273qP9keIqkLcKYB8U6nsyNZNJ1jfVUQe","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":100,"pack":"100","ok":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:10:07","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1Cw2LAOBrSeTtTOv0EJAq39Hv7VRGJqhwokBYLkhO9oPzwgWU3QlZQp3Q","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-09 21:10:25","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVGGTCmOXyFMbarjeYmp4QM","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:10:25","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1Cw2LAOBrSeTtTOv0EJAq39Hv7VRGJqhwokBYLkhO9oPzwgWU3QlZQp3Q","customer_id":"cus_UUEjiGR7B0JdVT","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:10:25","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1Cw2LAOBrSeTtTOv0EJAq39Hv7VRGJqhwokBYLkhO9oPzwgWU3QlZQp3Q","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:10:25","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1Cw2LAOBrSeTtTOv0EJAq39Hv7VRGJqhwokBYLkhO9oPzwgWU3QlZQp3Q","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":300,"pack":"300","ok":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:22:58","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b13gGf3RWYOaE0rCXPWepPnCG0vbIyl7JzcKL4vJtbNeTTq62o4H7uav9t","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-09 21:23:12","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVGSpCmOXyFMbar5ysrs2mP","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:23:12","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b13gGf3RWYOaE0rCXPWepPnCG0vbIyl7JzcKL4vJtbNeTTq62o4H7uav9t","customer_id":"cus_UUEwx8H1qBkfs4","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"100","pack":"100","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:23:12","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b13gGf3RWYOaE0rCXPWepPnCG0vbIyl7JzcKL4vJtbNeTTq62o4H7uav9t","session_type":"dashboard_credits_purchase","metadata":{"credits":"100","pack":"100","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:23:12","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b13gGf3RWYOaE0rCXPWepPnCG0vbIyl7JzcKL4vJtbNeTTq62o4H7uav9t","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":100,"pack":"100","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:28:17","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1yLI01OhMCSsR0L25nh4ywiJuQC5izDGbEpuQy1Haxw0t0wemHsHWpFDt","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-09 21:28:32","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVGXzCmOXyFMbar6k7UkZpl","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:28:32","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1yLI01OhMCSsR0L25nh4ywiJuQC5izDGbEpuQy1Haxw0t0wemHsHWpFDt","customer_id":"cus_UUF1PUX8EMBFYD","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"100","pack":"100","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:28:32","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1yLI01OhMCSsR0L25nh4ywiJuQC5izDGbEpuQy1Haxw0t0wemHsHWpFDt","session_type":"dashboard_credits_purchase","metadata":{"credits":"100","pack":"100","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-09 21:28:32","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1yLI01OhMCSsR0L25nh4ywiJuQC5izDGbEpuQy1Haxw0t0wemHsHWpFDt","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":100,"pack":"100","ok":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:31:48","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b19IQBbwSk1AgG2yBjBsCJNLwbv9H2jCYa3ofs0uuUAEh78GhlnoSqnAu1","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-10 11:32:01","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVTiHCmOXyFMbarx3gYDwCW","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:32:01","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b19IQBbwSk1AgG2yBjBsCJNLwbv9H2jCYa3ofs0uuUAEh78GhlnoSqnAu1","customer_id":"cus_UUSd2SFQzUqEX7","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:32:01","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b19IQBbwSk1AgG2yBjBsCJNLwbv9H2jCYa3ofs0uuUAEh78GhlnoSqnAu1","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:32:01","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b19IQBbwSk1AgG2yBjBsCJNLwbv9H2jCYa3ofs0uuUAEh78GhlnoSqnAu1","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":300,"pack":"300","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:39:05","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1XlK8rEJf5RQYS1gXZNCPtcPeL0FnK9bTugSFklVeaagCXTVOUT6o0TQw","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-10 11:39:16","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVTpICmOXyFMbarvKEph8Y8","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:39:16","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1XlK8rEJf5RQYS1gXZNCPtcPeL0FnK9bTugSFklVeaagCXTVOUT6o0TQw","customer_id":"cus_UUSkmPEhzhV1pC","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:39:16","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1XlK8rEJf5RQYS1gXZNCPtcPeL0FnK9bTugSFklVeaagCXTVOUT6o0TQw","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 11:39:16","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1XlK8rEJf5RQYS1gXZNCPtcPeL0FnK9bTugSFklVeaagCXTVOUT6o0TQw","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":300,"pack":"300","ok":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 13:27:38","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1e8nT7Nmo1HEjHaB2fEpkY3cqLuKRELhyUiZdOG3U5dZ37NlefvXahg1E","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-10 13:27:49","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVVWKCmOXyFMbarNl4wYs7n","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 13:27:49","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1e8nT7Nmo1HEjHaB2fEpkY3cqLuKRELhyUiZdOG3U5dZ37NlefvXahg1E","customer_id":"cus_UUUVHRXCgLZYT4","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 13:27:49","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1e8nT7Nmo1HEjHaB2fEpkY3cqLuKRELhyUiZdOG3U5dZ37NlefvXahg1E","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 13:27:49","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1e8nT7Nmo1HEjHaB2fEpkY3cqLuKRELhyUiZdOG3U5dZ37NlefvXahg1E","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":300,"pack":"300","ok":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:02:47","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1Gmqqtfjxesh3rZUijFONGbmQJuMLI5w9uGZxF2WTUbcqMTjr6p8EkPj6","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-10 17:03:03","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVYscCmOXyFMbarcEBECLxl","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:03","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1Gmqqtfjxesh3rZUijFONGbmQJuMLI5w9uGZxF2WTUbcqMTjr6p8EkPj6","customer_id":"cus_UUXy8MUZSNOOk7","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","type":"dashboard_credits_purchase","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:03","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1Gmqqtfjxesh3rZUijFONGbmQJuMLI5w9uGZxF2WTUbcqMTjr6p8EkPj6","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","type":"dashboard_credits_purchase","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:03","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1Gmqqtfjxesh3rZUijFONGbmQJuMLI5w9uGZxF2WTUbcqMTjr6p8EkPj6","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","credits":300,"pack":"300","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:32","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1RBrSPILWTaBHfM538s2d50SiKkevzzXMFgZvjRzuFI7xWwzSJuE8n8Xj","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:6cbd:c699:7b93:ae16","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.3.1 Safari\/605.1.15"} {"timestamp":"2026-05-10 17:03:53","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TVYtRCmOXyFMbarzxz2I5BJ","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:53","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1RBrSPILWTaBHfM538s2d50SiKkevzzXMFgZvjRzuFI7xWwzSJuE8n8Xj","customer_id":"cus_UUXzwjV1NzAjpB","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"100","pack":"100","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:53","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1RBrSPILWTaBHfM538s2d50SiKkevzzXMFgZvjRzuFI7xWwzSJuE8n8Xj","session_type":"dashboard_credits_purchase","metadata":{"credits":"100","pack":"100","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","type":"dashboard_credits_purchase","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-10 17:03:53","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b1RBrSPILWTaBHfM538s2d50SiKkevzzXMFgZvjRzuFI7xWwzSJuE8n8Xj","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","credits":100,"pack":"100","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:55","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TVob1CmOXyFMbarbtiC05yB","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:55","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","customer_id":"cus_U7xLHAupOLWiSo"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1773215323},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-04-11T07:48:43Z","current_period_end":"2026-05-11T07:48:43Z","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","stripe_customer_id":"cus_U7xLHAupOLWiSo","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-05-11 07:49:56","current_period_start":"2026-04-11T07:48:43Z","current_period_end":"2026-05-11T07:48:43Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-11 09:49:56","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","p_stripe_customer_id":"cus_U7xLHAupOLWiSo","p_status":"canceled","p_current_period_start":"2026-04-11T07:48:43Z","p_current_period_end":"2026-05-11T07:48:43Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-11 09:49:56","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-11 09:49:56","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1T9hWGCmOXyFMbarzbT8CGrt","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-11 09:49:56","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:06:35","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1jKmM8cEBhOrHJD1L2oT9x8USLSXeIYnM97c4HUur1iWPyeIDZqAeo3Mf","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a020:480:95f5:996d:a37c:94cb:4664","user_agent":"Mozilla\/5.0 (iPad; CPU OS 26_4_2 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) CriOS\/148.0.7778.100 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-05-13 17:12:13","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TWeS8CmOXyFMbardJIfRL5q","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1jKmM8cEBhOrHJD1L2oT9x8USLSXeIYnM97c4HUur1iWPyeIDZqAeo3Mf","customer_id":"cus_UVfiuQ1MgkN9BN","payment_status":"paid","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","source":"web","account_type":"individual"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","status":"active","customer_id":"cus_UVfiuQ1MgkN9BN","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_UVfiuQ1MgkN9BN","new_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_UVfiuQ1MgkN9BN","new_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TWeS9CmOXyFMbaryFuxcnnI","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:13","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TWeRCCmOXyFMbarzshyhk9e","subscription_id":null,"amount_paid":4500,"customer_id":"cus_UVfiuQ1MgkN9BN"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1TWeS9CmOXyFMbarxlRHQcrB","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778685066},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-05-13T15:11:06Z","current_period_end":"2026-06-13T15:11:06Z","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","stripe_customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-13 15:12:14","current_period_start":"2026-05-13T15:11:06Z","current_period_end":"2026-06-13T15:11:06Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-13 17:12:14","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","p_stripe_customer_id":"cus_UVfiuQ1MgkN9BN","p_status":"active","p_current_period_start":"2026-05-13T15:11:06Z","p_current_period_end":"2026-06-13T15:11:06Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-13 17:12:14","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","session_id":"cs_live_b1jKmM8cEBhOrHJD1L2oT9x8USLSXeIYnM97c4HUur1iWPyeIDZqAeo3Mf"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778685066},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-05-13T15:11:06Z","current_period_end":"2026-06-13T15:11:06Z","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","stripe_customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-13 15:12:14","current_period_start":"2026-05-13T15:11:06Z","current_period_end":"2026-06-13T15:11:06Z","created_at":"2026-05-13 15:11:06"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-13 17:12:14","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","p_stripe_customer_id":"cus_UVfiuQ1MgkN9BN","p_status":"active","p_current_period_start":"2026-05-13T15:11:06Z","p_current_period_end":"2026-06-13T15:11:06Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-13 17:12:14","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 17:12:14","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-13 17:12:14","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-13 18:14:23","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1UTOP2lI7CImh8jhmUrQX3g5Gv8IlY3IeKtuEu7rzulrmzlOY4pQxtPBx","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:2cf5:84ed:5dcf:b355","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-15 18:05:28","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1uxakVgAdLLrzB5XL7aglS23jOSRi3Nuf3uApqZjGWB0F1K7MLRG7uw03","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","mode":"subscription","price_id":"price_1TX3uICmOXyFMbar6bvk4MgT"},"ip":"2a02:a03f:6b21:de01:74fa:71c7:4cdc:1f2c","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-15 18:05:47","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1BNRhb29tekK7rsZoYpoxsiNlwG1SwZHSY2Slv4Yodtp0b2YpuksGLGiE","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","mode":"subscription","price_id":"price_1TX3yHCmOXyFMbarlT0swvRS"},"ip":"2a02:a03f:6b21:de01:74fa:71c7:4cdc:1f2c","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-15 18:06:05","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1lJfks08eh5rLEIgG8OnCNwGV2xroPxcigdKHVVdkKRZniEBpVXinhP2R","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","mode":"subscription","price_id":"price_1TX3uICmOXyFMbar6bvk4MgT"},"ip":"2a02:a03f:6b21:de01:74fa:71c7:4cdc:1f2c","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-15 18:07:23","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1TXOGICmOXyFMbarSPWeQ6ik","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:23","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1TXOFcCmOXyFMbarf26ry741","customer_id":"cus_UWR7k1el91VKRI","payment_method":"pm_1TXOFaCmOXyFMbarC1EdzyGr","subscription_id":null,"all_metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:23","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:23","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1TXOFcCmOXyFMbarf26ry741","customer_id":"cus_UWR7k1el91VKRI","metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:25","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TXOGKCmOXyFMbarBGVH9Lgp","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:25","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1lJfks08eh5rLEIgG8OnCNwGV2xroPxcigdKHVVdkKRZniEBpVXinhP2R","customer_id":"cus_UWR7k1el91VKRI","payment_status":"paid","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","mode":"subscription","metadata":{"plan_id":"individual_pro","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","source":"web","account_type":"individual"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:25","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","status":"active","customer_id":"cus_UWR7k1el91VKRI","plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:25","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_UWR7k1el91VKRI","new_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:25","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TXOGLCmOXyFMbarDe9HRikI","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:25","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TXOFbCmOXyFMbar2f8MY76v","subscription_id":null,"amount_paid":0,"customer_id":"cus_UWR7k1el91VKRI"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1TXOGLCmOXyFMbarFyBgbnOJ","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_UWR7k1el91VKRI","new_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778861171},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-05-15T16:06:11Z","current_period_end":"2026-06-15T16:06:11Z","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","stripe_customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-15 16:07:26","current_period_start":"2026-05-15T16:06:11Z","current_period_end":"2026-06-15T16:06:11Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-15 18:07:26","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","p_stripe_customer_id":"cus_UWR7k1el91VKRI","p_status":"active","p_current_period_start":"2026-05-15T16:06:11Z","p_current_period_end":"2026-06-15T16:06:11Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778861171},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-05-15T16:06:11Z","current_period_end":"2026-06-15T16:06:11Z","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","stripe_customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-15 16:07:26","current_period_start":"2026-05-15T16:06:11Z","current_period_end":"2026-06-15T16:06:11Z","created_at":"2026-05-15 16:06:11"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-15 18:07:26","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","p_stripe_customer_id":"cus_UWR7k1el91VKRI","p_status":"active","p_current_period_start":"2026-05-15T16:06:11Z","p_current_period_end":"2026-06-15T16:06:11Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-15 18:07:26","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-15 18:07:26","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","session_id":"cs_live_b1lJfks08eh5rLEIgG8OnCNwGV2xroPxcigdKHVVdkKRZniEBpVXinhP2R"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-15 18:07:26","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 18:07:26","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","credits":3500,"invoice_id":"in_1TXOFbCmOXyFMbar2f8MY76v"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-15 22:51:25","message":"create-billing-portal-session: session cr\u00e9\u00e9e","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","customer_id":"cus_UU469ppSMC2kok"},"ip":"2a02:a03f:6b21:de01:74fa:71c7:4cdc:1f2c","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-15 22:54:38","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b10olm23h3Tip7WOFP3s2cN6vMYEvjqbaCJwuULh9tCMAa9a3YQQuyQSdf","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:6b21:de01:74fa:71c7:4cdc:1f2c","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-16 14:34:00","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1a7vP0cqxFot1et9V67TOcbc46NZof9bH3D92r4LM5IDpxkr2XhsffXpS","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","mode":"subscription","price_id":"price_1TXdyNCmOXyFMbar6OazVl6n"},"ip":"2a02:a03f:6b21:de01:74fa:71c7:4cdc:1f2c","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-16 14:35:38","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1TXhQvCmOXyFMbarFTmB15Pv","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:38","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1TXhPqCmOXyFMbarq21t42Mt","customer_id":"cus_UWkvSiRnf7k1MY","payment_method":"pm_1TXhPpCmOXyFMbarcVBhHoQ6","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:38","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:38","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1TXhPqCmOXyFMbarq21t42Mt","customer_id":"cus_UWkvSiRnf7k1MY","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TXhQxCmOXyFMbarhu8Pvjf3","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1a7vP0cqxFot1et9V67TOcbc46NZof9bH3D92r4LM5IDpxkr2XhsffXpS","customer_id":"cus_UWkvSiRnf7k1MY","payment_status":"paid","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","mode":"subscription","metadata":{"plan_id":"individual_max","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","source":"web","account_type":"individual"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","status":"active","customer_id":"cus_UWkvSiRnf7k1MY","plan_id":"individual_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_UWkvSiRnf7k1MY","new_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","plan_id":"individual_max"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_UWkvSiRnf7k1MY","new_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","canceled_count":0,"errors":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"SYNC DECISION","context":{"plan_id":"individual_max","should_sync":true,"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778934841},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-05-16T12:34:01Z","current_period_end":"2027-05-16T12:34:01Z","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:40","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","data":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","stripe_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","stripe_customer_id":"cus_UWkvSiRnf7k1MY","status":"active","plan_id":"individual_max","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-16 12:35:40","current_period_start":"2026-05-16T12:34:01Z","current_period_end":"2027-05-16T12:34:01Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-16 14:35:41","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","p_stripe_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","p_stripe_customer_id":"cus_UWkvSiRnf7k1MY","p_status":"active","p_current_period_start":"2026-05-16T12:34:01Z","p_current_period_end":"2027-05-16T12:34:01Z","p_plan_id":"individual_max","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-16 14:35:41","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TXhQyCmOXyFMbarR1nw07Eo","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TXhPqCmOXyFMbarlA0c8igD","subscription_id":null,"amount_paid":0,"customer_id":"cus_UWkvSiRnf7k1MY"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-16 14:35:41","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","session_id":"cs_live_b1a7vP0cqxFot1et9V67TOcbc46NZof9bH3D92r4LM5IDpxkr2XhsffXpS"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1TXhQyCmOXyFMbar96Lyv5Z9","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","customer_id":"cus_UWkvSiRnf7k1MY","status":"active","plan_id":"individual_max"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","credits":8000,"invoice_id":"in_1TXhPqCmOXyFMbarlA0c8igD"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC DECISION","context":{"plan_id":"individual_max","should_sync":true,"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778934841},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-05-16T12:34:01Z","current_period_end":"2027-05-16T12:34:01Z","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","data":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","stripe_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","stripe_customer_id":"cus_UWkvSiRnf7k1MY","status":"active","plan_id":"individual_max","is_yearly":true,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-05-16 12:35:41","current_period_start":"2026-05-16T12:34:01Z","current_period_end":"2027-05-16T12:34:01Z","created_at":"2026-05-16 12:34:01"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-16 14:35:41","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-16 14:35:41","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","p_stripe_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","p_stripe_customer_id":"cus_UWkvSiRnf7k1MY","p_status":"active","p_current_period_start":"2026-05-16T12:34:01Z","p_current_period_end":"2027-05-16T12:34:01Z","p_plan_id":"individual_max","p_is_yearly":true,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-16 14:35:41","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-05-16 14:35:41","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 21:03:32","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1ojB2B6Idj8EJg6gp6SHQX2isxuKzwVAsNvTAHxrAc5io0pBwVfu1J18v","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:6b21:de01:c126:adae:31d7:2165","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/148.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-18 22:03:20","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UXccSXS8eFfA5Q","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:d44c:8b00:9ccb:b04f:a4a3:8e22","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/148.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-18 22:03:20","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UXccSXS8eFfA5Q","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:d44c:8b00:9ccb:b04f:a4a3:8e22","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/148.0.0.0 Safari\/537.36"} {"timestamp":"2026-05-18 22:03:37","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TYXNYCmOXyFMbarG3slqeMJ","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 22:03:37","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","customer_id":"cus_UXccSXS8eFfA5Q","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 22:03:37","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 22:03:37","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 22:03:37","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 22:03:37","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-18 22:03:37","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1YiSdnWEtz32tx1750xhmJIlqtgcTY0B7aKF62E0yyWsVR9fWHfUOj8jS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-05-21 15:45:59","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b1MlFh3C8uBtOfd8OJHm602RCFWiE82zEPQqaFikM0Xoh1OpKd5vJ1PyNj","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","pack":100,"credits":100,"price_id":"price_1TUmZ5CmOXyFMbarEpKXmuPM"},"ip":"2a02:a03f:d44c:8b00:5534:25c0:3af1:d055","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/148.0.0.0 Safari\/537.36"} {"timestamp":"2026-06-02 07:26:53","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TdkqmCmOXyFMbarr8nCUfEV","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:53","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:53","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:53","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:53","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:53","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-06-02T05:26:10Z","current_period_end":"2026-07-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-06-02 05:26:54","current_period_start":"2026-06-02T05:26:10Z","current_period_end":"2026-07-02T05:26:10Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-02 07:26:54","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-06-02T05:26:10Z","p_current_period_end":"2026-07-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-02 07:26:54","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-02 07:26:54","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:26:54","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:28:35","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TdksQCmOXyFMbarRRTnYo3q","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 07:28:35","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TdkqlCmOXyFMbarDCoqHOMa","subscription_id":null,"amount_paid":6900,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:30","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UdDwQaE58pvgVv","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:d44c:8b00:f9eb:ce3e:7147:a3f6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-06-02 20:56:30","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UdDwQaE58pvgVv","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:d44c:8b00:f9eb:ce3e:7147:a3f6","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-06-02 20:56:53","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TdxUeCmOXyFMbarAX51fPc0","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:53","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","customer_id":"cus_UdDwQaE58pvgVv","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:53","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:53","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:53","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:53","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-02 20:56:53","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1mwJ1x7iQULhwP6uyUsyDaQOKx8p7tqevfnnZFeKfQmf8UfExo2R9kY0z","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:05","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UeAapAuCWQJiq2","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:d44c:8b00:1911:266c:adfb:71cd","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-06-05 09:33:05","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UeAapAuCWQJiq2","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:d44c:8b00:1911:266c:adfb:71cd","user_agent":"Mozilla\/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Version\/26.2 Mobile\/15E148 Safari\/604.1"} {"timestamp":"2026-06-05 09:33:44","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TesGBCmOXyFMbargZanafla","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:44","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","customer_id":"cus_UeAapAuCWQJiq2","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:44","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","product_id":"prod_TnoprDwLzf5oAU"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:44","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","payment_status":"paid"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:44","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","amount_total":0,"currency":"eur"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:44","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","rpc_result":{"success":true,"data":{"debug":{"agency_id":"074a6d9b-c126-4620-bb50-e8dc699b53bc","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":1},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":1,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-05 09:33:44","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1BarSfU136V1AfftR5CEcye9R8aCMhoG3qD5t7tNoqJes5DEjrE3XzKs4","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","properties_added":1},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:11","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TgKlaCmOXyFMbarF5EJGz3S","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:11","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","old_plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778314269},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-06-09T08:11:09Z","current_period_end":"2026-07-09T08:11:09Z","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","stripe_customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-06-09 08:12:12","current_period_start":"2026-06-09T08:11:09Z","current_period_end":"2026-07-09T08:11:09Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-09 10:12:12","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","p_stripe_customer_id":"cus_UU469ppSMC2kok","p_status":"active","p_current_period_start":"2026-06-09T08:11:09Z","p_current_period_end":"2026-07-09T08:11:09Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-09 10:12:12","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-09 10:12:12","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:12:12","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:13:55","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TgKnGCmOXyFMbarrJ9xbuG2","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-09 10:13:55","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TgKlZCmOXyFMbar1tr7Ud0k","subscription_id":null,"amount_paid":0,"customer_id":"cus_UU469ppSMC2kok"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:12","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1ThtGBCmOXyFMbarpblhxHkq","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:12","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","old_plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778685066},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-06-13T15:11:06Z","current_period_end":"2026-07-13T15:11:06Z","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","stripe_customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-06-13 15:14:13","current_period_start":"2026-06-13T15:11:06Z","current_period_end":"2026-07-13T15:11:06Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-13 17:14:13","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","p_stripe_customer_id":"cus_UVfiuQ1MgkN9BN","p_status":"active","p_current_period_start":"2026-06-13T15:11:06Z","p_current_period_end":"2026-07-13T15:11:06Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-13 17:14:13","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-13 17:14:13","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:14:13","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:16:17","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1ThtICCmOXyFMbarbZ4vVjnc","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-13 17:16:17","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1ThtGACmOXyFMbarPkYDzgoM","subscription_id":null,"amount_paid":4500,"customer_id":"cus_UVfiuQ1MgkN9BN"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 15:57:14","message":"Session Checkout cr\u00e9dits cr\u00e9\u00e9e","context":{"session_id":"cs_live_b10DvKXpkD0SupB9vQxr8tS54GZWAsTY2VAEMv75LOvUJZzFU3bO2gGsaV","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","pack":300,"credits":300,"price_id":"price_1TUmb3CmOXyFMbar5ltTxTqM"},"ip":"2a02:a03f:d44c:8b00:c04e:d319:ef43:5778","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/149.0.0.0 Safari\/537.36"} {"timestamp":"2026-06-15 15:57:28","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1Tib12CmOXyFMbarO5IWEbYB","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 15:57:28","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b10DvKXpkD0SupB9vQxr8tS54GZWAsTY2VAEMv75LOvUJZzFU3bO2gGsaV","customer_id":"cus_Ui12uQO2vMOdg0","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"credits":"300","pack":"300","type":"dashboard_credits_purchase","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 15:57:28","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b10DvKXpkD0SupB9vQxr8tS54GZWAsTY2VAEMv75LOvUJZzFU3bO2gGsaV","session_type":"dashboard_credits_purchase","metadata":{"credits":"300","pack":"300","type":"dashboard_credits_purchase","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","source":"dashboard_web"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 15:57:28","message":"\u2705 Credits purchase cr\u00e9dit\u00e9","context":{"session_id":"cs_live_b10DvKXpkD0SupB9vQxr8tS54GZWAsTY2VAEMv75LOvUJZzFU3bO2gGsaV","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","credits":300,"pack":"300","ok":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:45","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1Tid44CmOXyFMbarsqKlhUeo","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:45","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","old_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778861171},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-06-15T16:06:11Z","current_period_end":"2026-07-15T16:06:11Z","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","stripe_customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-06-15 16:08:46","current_period_start":"2026-06-15T16:06:11Z","current_period_end":"2026-07-15T16:06:11Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-15 18:08:46","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","p_stripe_customer_id":"cus_UWR7k1el91VKRI","p_status":"active","p_current_period_start":"2026-06-15T16:06:11Z","p_current_period_end":"2026-07-15T16:06:11Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-15 18:08:46","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-15 18:08:46","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:08:46","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:10:35","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1Tid5rCmOXyFMbarrLrpFN1o","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-15 18:10:35","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1Tid43CmOXyFMbarcySlh2LT","subscription_id":null,"amount_paid":0,"customer_id":"cus_UWR7k1el91VKRI"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:12","message":"Abonnement annul\u00e9 (fin de p\u00e9riode)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","cancel_at_period_end":true,"cancel_at":"2026-07-13 17:11:06"},"ip":"2a02:a03f:6792:7a00:9c93:8a0b:7760:af11","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/149.0.0.0 Safari\/537.36"} {"timestamp":"2026-06-17 14:16:12","message":"cancel-subscription: Sync Supabase user_subscriptions","context":{"stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","cancel_at_period_end":true,"http_code":200},"ip":"2a02:a03f:6792:7a00:9c93:8a0b:7760:af11","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/149.0.0.0 Safari\/537.36"} {"timestamp":"2026-06-17 14:16:12","message":"cancel-subscription: Email annulation envoy\u00e9","context":{"email":"expertise.lenz@gmail.com","http_code":200,"curl_error":null},"ip":"2a02:a03f:6792:7a00:9c93:8a0b:7760:af11","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/149.0.0.0 Safari\/537.36"} {"timestamp":"2026-06-17 14:16:12","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TjIO8CmOXyFMbarqjfJScla","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:12","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","old_plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778685066},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-06-13T15:11:06Z","current_period_end":"2026-07-13T15:11:06Z","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","stripe_customer_id":"cus_UVfiuQ1MgkN9BN","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-06-17 12:16:13","current_period_start":"2026-06-13T15:11:06Z","current_period_end":"2026-07-13T15:11:06Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-17 14:16:13","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","p_stripe_customer_id":"cus_UVfiuQ1MgkN9BN","p_status":"active","p_current_period_start":"2026-06-13T15:11:06Z","p_current_period_end":"2026-07-13T15:11:06Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-17 14:16:13","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-17 14:16:13","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-17 14:16:13","message":"BILLING RESET: Ignor\u00e9 (abonnement en cours d'annulation)","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","cancel_at_period_end":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 10:58:07","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1WZ66evtOEAoRvpj2rQoQJUmsdUsLEN7RjSbiQNz0ESjELW6t0aHjSPdY","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:c9b9:8d55:e992:eeaa","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/149.0.0.0 Safari\/537.36"} {"timestamp":"2026-06-18 11:00:12","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1TjbnzCmOXyFMbar3CUfQl0L","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:12","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1TjbnOCmOXyFMbarnCtb8kCo","customer_id":"cus_Uj3tOCsYBrELBO","payment_method":"pm_1TjbnNCmOXyFMbarHB6HMQPD","subscription_id":null,"all_metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:12","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:12","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1TjbnOCmOXyFMbarnCtb8kCo","customer_id":"cus_Uj3tOCsYBrELBO","metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1Tjbo1CmOXyFMbarl3icaWIZ","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1WZ66evtOEAoRvpj2rQoQJUmsdUsLEN7RjSbiQNz0ESjELW6t0aHjSPdY","customer_id":"cus_Uj3tOCsYBrELBO","payment_status":"paid","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","source":"web","account_type":"individual"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","status":"active","customer_id":"cus_Uj3tOCsYBrELBO","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_Uj3tOCsYBrELBO","new_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_Uj3tOCsYBrELBO","new_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","canceled_count":0,"errors":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1Tjbo2CmOXyFMbarIXQo5L5x","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TjbnOCmOXyFMbary7PHKoLZ","subscription_id":null,"amount_paid":0,"customer_id":"cus_Uj3tOCsYBrELBO"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1Tjbo2CmOXyFMbar8pQofVQC","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:14","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","customer_id":"cus_Uj3tOCsYBrELBO","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1781773174},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-06-18T08:59:34Z","current_period_end":"2026-07-18T08:59:34Z","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","data":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","stripe_customer_id":"cus_Uj3tOCsYBrELBO","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-06-18 09:00:15","current_period_start":"2026-06-18T08:59:34Z","current_period_end":"2026-07-18T08:59:34Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-18 11:00:15","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","p_stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","p_stripe_customer_id":"cus_Uj3tOCsYBrELBO","p_status":"active","p_current_period_start":"2026-06-18T08:59:34Z","p_current_period_end":"2026-07-18T08:59:34Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1781773174},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-06-18T08:59:34Z","current_period_end":"2026-07-18T08:59:34Z","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","data":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","stripe_customer_id":"cus_Uj3tOCsYBrELBO","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-06-18 09:00:15","current_period_start":"2026-06-18T08:59:34Z","current_period_end":"2026-07-18T08:59:34Z","created_at":"2026-06-18 08:59:34"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-18 11:00:15","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","p_stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","p_stripe_customer_id":"cus_Uj3tOCsYBrELBO","p_status":"active","p_current_period_start":"2026-06-18T08:59:34Z","p_current_period_end":"2026-07-18T08:59:34Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-18 11:00:15","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-18 11:00:15","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","session_id":"cs_live_b1WZ66evtOEAoRvpj2rQoQJUmsdUsLEN7RjSbiQNz0ESjELW6t0aHjSPdY"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-06-18 11:00:15","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-06-18 11:00:15","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1TjbnOCmOXyFMbary7PHKoLZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:21","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1Tod8kCmOXyFMbarxP5OM2QA","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:21","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-07-02T05:26:10Z","current_period_end":"2026-08-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-07-02 05:26:22","current_period_start":"2026-07-02T05:26:10Z","current_period_end":"2026-08-02T05:26:10Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-02 07:26:22","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-07-02T05:26:10Z","p_current_period_end":"2026-08-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-02 07:26:22","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-02 07:26:22","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:26:22","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:27:47","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TodA7CmOXyFMbarXF4GiFKX","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-02 07:27:47","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1Tod8jCmOXyFMbarG3cDFJQZ","subscription_id":null,"amount_paid":6900,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TrD39CmOXyFMbarBcAEfYGh","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","old_plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778314269},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-07-09T08:11:09Z","current_period_end":"2026-08-09T08:11:09Z","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:16","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","stripe_customer_id":"cus_UU469ppSMC2kok","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-07-09 08:11:16","current_period_start":"2026-07-09T08:11:09Z","current_period_end":"2026-08-09T08:11:09Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:17","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-09 10:11:17","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","p_stripe_customer_id":"cus_UU469ppSMC2kok","p_status":"active","p_current_period_start":"2026-07-09T08:11:09Z","p_current_period_end":"2026-08-09T08:11:09Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-09 10:11:17","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-09 10:11:17","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:17","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:17","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:17","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:11:17","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:13:13","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TrD52CmOXyFMbarNfaYqGwh","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-09 10:13:13","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TrD38CmOXyFMbarGZ3oFHpv","subscription_id":null,"amount_paid":0,"customer_id":"cus_UU469ppSMC2kok"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:51","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TslWMCmOXyFMbar3A53ZywN","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:51","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","customer_id":"cus_UVfiuQ1MgkN9BN"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778685066},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-06-13T15:11:06Z","current_period_end":"2026-07-13T15:11:06Z","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","data":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","stripe_customer_id":"cus_UVfiuQ1MgkN9BN","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":true,"updated_at":"2026-07-13 15:11:52","current_period_start":"2026-06-13T15:11:06Z","current_period_end":"2026-07-13T15:11:06Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-13 17:11:52","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"58333cdc-0023-436d-a9df-660f4a394caa","p_stripe_subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","p_stripe_customer_id":"cus_UVfiuQ1MgkN9BN","p_status":"canceled","p_current_period_start":"2026-06-13T15:11:06Z","p_current_period_end":"2026-07-13T15:11:06Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-13 17:11:52","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-13 17:11:52","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TWeS5CmOXyFMbarmQCscDMV","user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-13 17:11:52","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"58333cdc-0023-436d-a9df-660f4a394caa","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:05","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TtVKuCmOXyFMbaryLDuobYj","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:05","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","old_plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778861171},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-07-15T16:06:11Z","current_period_end":"2026-08-15T16:06:11Z","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","stripe_customer_id":"cus_UWR7k1el91VKRI","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-07-15 16:07:06","current_period_start":"2026-07-15T16:06:11Z","current_period_end":"2026-08-15T16:06:11Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-15 18:07:06","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","p_stripe_customer_id":"cus_UWR7k1el91VKRI","p_status":"active","p_current_period_start":"2026-07-15T16:06:11Z","p_current_period_end":"2026-08-15T16:06:11Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-15 18:07:06","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-15 18:07:06","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:07:06","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:08:33","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TtVMKCmOXyFMbarZuc2DY3I","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-15 18:08:33","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TtVKtCmOXyFMbaritzzorB7","subscription_id":null,"amount_paid":0,"customer_id":"cus_UWR7k1el91VKRI"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TuU63CmOXyFMbarRFI5Qfqb","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","customer_id":"cus_Uj3tOCsYBrELBO","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","old_plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1781773174},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-07-18T08:59:34Z","current_period_end":"2026-08-18T08:59:34Z","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","data":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","stripe_customer_id":"cus_Uj3tOCsYBrELBO","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-07-18 08:59:48","current_period_start":"2026-07-18T08:59:34Z","current_period_end":"2026-08-18T08:59:34Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:48","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 10:59:48","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","p_stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","p_stripe_customer_id":"cus_Uj3tOCsYBrELBO","p_status":"active","p_current_period_start":"2026-07-18T08:59:34Z","p_current_period_end":"2026-08-18T08:59:34Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 10:59:49","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 10:59:49","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:49","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:49","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:49","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 10:59:49","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 11:01:05","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TuU7ICmOXyFMbarlqBSDWYm","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 11:01:05","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TuU62CmOXyFMbarONDBW5M5","subscription_id":null,"amount_paid":0,"customer_id":"cus_Uj3tOCsYBrELBO"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:26:22","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UuNyabPVEYlJUt","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:f999:ade6:b38b:ceb2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:26:22","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b175ihb2OjCrzHB5wAX9gXdnP97qJtLKb0urjnBVbAv1U35oz6EjnDsV8J","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b175ihb2OjCrzHB5wAX9gXdnP97qJtLKb0urjnBVbAv1U35oz6EjnDsV8J#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UuNyabPVEYlJUt","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:f999:ade6:b38b:ceb2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:30:54","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UuO2nc3WTehhRx","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","price_id":"price_1SqDBdCmOXyFMbar7Zsxc3T7","product_id":"prod_TnoprDwLzf5oAU"},"ip":"2a02:a03f:6b21:de01:f999:ade6:b38b:ceb2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:30:54","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1uB1MF3jCmXLU7gILsgOkigr7Fi9OIutkiqftCLS7l06fEiEGBo02lgsk","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1uB1MF3jCmXLU7gILsgOkigr7Fi9OIutkiqftCLS7l06fEiEGBo02lgsk#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UuO2nc3WTehhRx","amount_total":899,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:f999:ade6:b38b:ceb2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:40:25","message":"Cr\u00e9ation Checkout Session - Paiement \u00e0 l'unit\u00e9","context":{"customer_id":"cus_UuOCTYeiIm4VsS","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","price_id":"price_1TuWvGCmOXyFMbar8548MM6H","product_id":"prod_UuLc2A8wFHpD5F"},"ip":"2a02:a03f:6b21:de01:81ea:bb11:24cc:1c48","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:40:26","message":"Checkout Session cr\u00e9\u00e9e avec succ\u00e8s (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","url":"https:\/\/checkout.stripe.com\/c\/pay\/cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc#fid1d2BpamRhQ2prcSc%2FJ1FscWxpaWxwaCVSYGcnKSdnandhYHdWcXxpYCc%2FJ3dqcGthJyknaWpmZGlgJz8nY3cnKSdicGRmZGhqaWBTZHdsZGtxJz8nZmprcXdqaScpJ2R1bE5gfCc%2FJ3VuWmlsc2BaMDRXY3wwcEZoSl18Q0hnZHdLbGRMQ0FjQmpRV2hnMEhsZkRiTlJgdVY2V3FpbDBQYjFyQEw3R01sPGJ0VEtvVjZJR1E1Nmw8aWcyU1A8QlxzVTdVNGBjUnQ1NU88SnR9b1RKJyknY3dqaFZgd3Ngdyc%2FcXdwYCknZ2RmbmJ3anBrYUZqaWp3Jz8nJmNjY2NjYycpJ2lkfGpwcVF8dWAnPydocGlxbFpscWBoJyknYGtkZ2lgVWlkZmBtamlhYHd2Jz9xd3BgeCUl","customer_id":"cus_UuOCTYeiIm4VsS","amount_total":499,"currency":"eur","mode":"payment"},"ip":"2a02:a03f:6b21:de01:81ea:bb11:24cc:1c48","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:48:34","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TuZXZCmOXyFMbarxM7DQMlh","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:48:34","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","customer_id":"cus_UuOCTYeiIm4VsS","payment_status":"paid","subscription_id":null,"mode":"payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1TuWvGCmOXyFMbar8548MM6H","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","product_id":"prod_UuLc2A8wFHpD5F"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:48:34","message":"\ud83d\udd0d Webhook: Mode payment d\u00e9tect\u00e9","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","session_type":"single_property_payment","metadata":{"app":"web","type":"single_property_payment","price_id":"price_1TuWvGCmOXyFMbar8548MM6H","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","product_id":"prod_UuLc2A8wFHpD5F"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:48:34","message":"\u2705 Paiement \u00e0 l'unit\u00e9 d\u00e9tect\u00e9 - Appel handleSinglePropertyPayment","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","payment_status":"paid"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:48:34","message":"Traitement paiement \u00e0 l'unit\u00e9","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","amount_total":0,"currency":"eur"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:48:35","message":"R\u00e9ponse RPC Supabase (paiement \u00e0 l'unit\u00e9)","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","rpc_result":{"success":true,"data":{"debug":{"agency_id":"bd33771a-3db8-4548-ab30-b44977c0a73e","reset_logic":{"new_used":0,"old_used":0,"new_purchased":1,"old_purchased":0},"rows_updated":1},"message":"1 propri\u00e9t\u00e9 ajout\u00e9e via paiement \u00e0 l'unit\u00e9 (used_properties r\u00e9initialis\u00e9 \u00e0 0)","success":true,"new_used":0,"old_used":0,"account_type":"single_payment","old_purchased":0,"reset_applied":true,"properties_added":1,"new_total_purchased":1},"function":"add_properties_rpc"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:48:35","message":"\u2705 Paiement \u00e0 l'unit\u00e9 trait\u00e9 avec succ\u00e8s","context":{"session_id":"cs_live_b1AHfnBjeXvLtMbVblMUYIQ4qXzoKmb7LzSJ3hmSqR5CeKwvB1wZ0FNuUc","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","properties_added":1},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:58:42","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1jCrvYNJ9ZbMAX11XQkaddUTL5sEpAlVaTriP8QG8eFSvJvpc2DCMomTI","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1TuWzTCmOXyFMbarx7bVNPxy"},"ip":"2a02:a03f:6b21:de01:81ea:bb11:24cc:1c48","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/150.0.0.0 Safari\/537.36"} {"timestamp":"2026-07-18 16:59:58","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1TuZicCmOXyFMbarGozdljSC","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:59:58","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1TuZhxCmOXyFMbarGmKWIULO","customer_id":"cus_UuOUa9CIURgTpk","payment_method":"pm_1TuZhwCmOXyFMbarFEI9YGqZ","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:59:58","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 16:59:59","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1TuZhxCmOXyFMbarGmKWIULO","customer_id":"cus_UuOUa9CIURgTpk","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:00","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1TuZidCmOXyFMbarDnntAiA2","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:00","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1jCrvYNJ9ZbMAX11XQkaddUTL5sEpAlVaTriP8QG8eFSvJvpc2DCMomTI","customer_id":"cus_UuOUa9CIURgTpk","payment_status":"paid","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","mode":"subscription","metadata":{"plan_id":"individual_inventory","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","source":"web","account_type":"individual"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","status":"active","customer_id":"cus_UuOUa9CIURgTpk","plan_id":"individual_inventory"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_UuOUa9CIURgTpk","new_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TuZieCmOXyFMbarjodGxf70","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TuZhxCmOXyFMbarQbtVYabK","subscription_id":null,"amount_paid":0,"customer_id":"cus_UuOUa9CIURgTpk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","plan_id":"individual_inventory"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_UuOUa9CIURgTpk","new_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC DECISION","context":{"plan_id":"individual_inventory","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC AGENCY: Plan non reconnu, utilisation fallback","context":{"plan_id":"individual_inventory","fallback_max_agents":1,"fallback_mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1TuZieCmOXyFMbarvV4rMCmh","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","customer_id":"cus_UuOUa9CIURgTpk","status":"active","plan_id":"individual_inventory"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","market":"fr","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1784386756},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-07-18T14:59:16Z","current_period_end":"2026-08-18T14:59:16Z","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","stripe_customer_id":"cus_UuOUa9CIURgTpk","status":"active","plan_id":"individual_inventory","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-07-18 15:00:01","current_period_start":"2026-07-18T14:59:16Z","current_period_end":"2026-08-18T14:59:16Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:01","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 17:00:01","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","p_stripe_customer_id":"cus_UuOUa9CIURgTpk","p_status":"active","p_current_period_start":"2026-07-18T14:59:16Z","p_current_period_end":"2026-08-18T14:59:16Z","p_plan_id":"individual_inventory","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC DECISION","context":{"plan_id":"individual_inventory","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: Plan non reconnu, utilisation fallback","context":{"plan_id":"individual_inventory","fallback_max_agents":1,"fallback_mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 17:00:02","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","session_id":"cs_live_b1jCrvYNJ9ZbMAX11XQkaddUTL5sEpAlVaTriP8QG8eFSvJvpc2DCMomTI"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: Plan non reconnu, utilisation fallback","context":{"plan_id":"individual_inventory","fallback_max_agents":1,"fallback_mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"injectSubscriptionCredits: plan sans cr\u00e9dits configur\u00e9s, skip","context":{"plan_id":"individual_inventory"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","market":"fr","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1784386756},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-07-18T14:59:16Z","current_period_end":"2026-08-18T14:59:16Z","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","stripe_customer_id":"cus_UuOUa9CIURgTpk","status":"active","plan_id":"individual_inventory","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-07-18 15:00:02","current_period_start":"2026-07-18T14:59:16Z","current_period_end":"2026-08-18T14:59:16Z","created_at":"2026-07-18 14:59:16"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-18 17:00:02","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 17:00:02","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","p_stripe_customer_id":"cus_UuOUa9CIURgTpk","p_status":"active","p_current_period_start":"2026-07-18T14:59:16Z","p_current_period_end":"2026-08-18T14:59:16Z","p_plan_id":"individual_inventory","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 17:00:02","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-18 17:00:02","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:04","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TwfXPCmOXyFMbarSL0jrf1D","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:04","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","customer_id":"cus_UU469ppSMC2kok"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778314269},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-07-09T08:11:09Z","current_period_end":"2026-08-09T08:11:09Z","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","stripe_customer_id":"cus_UU469ppSMC2kok","status":"canceled","plan_id":"agency_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-07-24 09:37:05","current_period_start":"2026-07-09T08:11:09Z","current_period_end":"2026-08-09T08:11:09Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:05","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","p_stripe_customer_id":"cus_UU469ppSMC2kok","p_status":"canceled","p_current_period_start":"2026-07-09T08:11:09Z","p_current_period_end":"2026-08-09T08:11:09Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:05","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:05","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TV5z1CmOXyFMbarRLbPQHwH","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"CANCEL AGENTS: Associations agents supprim\u00e9es pour admin annul\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:05","message":"CANCEL RESET: Compteurs agence remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TwfXaCmOXyFMbarGZQplUhL","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","customer_id":"cus_UWR7k1el91VKRI"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","plan_id":"individual_pro","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778861171},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-07-15T16:06:11Z","current_period_end":"2026-08-15T16:06:11Z","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","data":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","stripe_customer_id":"cus_UWR7k1el91VKRI","status":"canceled","plan_id":"individual_pro","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-07-24 09:37:15","current_period_start":"2026-07-15T16:06:11Z","current_period_end":"2026-08-15T16:06:11Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:15","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","p_stripe_subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","p_stripe_customer_id":"cus_UWR7k1el91VKRI","p_status":"canceled","p_current_period_start":"2026-07-15T16:06:11Z","p_current_period_end":"2026-08-15T16:06:11Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:15","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:15","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXOGICmOXyFMbarGwUxukzj","user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:15","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"7c7d34a3-f298-46b1-8879-051288c3a24d","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:25","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TwfXkCmOXyFMbarhhKw942y","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:25","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","customer_id":"cus_UWkvSiRnf7k1MY"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SYNC DECISION","context":{"plan_id":"individual_max","should_sync":true,"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_max","max_agents":1,"mode":"individual","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","plan_id":"individual_max","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1778934841},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"year","is_yearly_from_price":true,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-05-16T12:34:01Z","current_period_end":"2027-05-16T12:34:01Z","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","is_yearly":true,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","data":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","stripe_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","stripe_customer_id":"cus_UWkvSiRnf7k1MY","status":"canceled","plan_id":"individual_max","is_yearly":true,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-07-24 09:37:26","current_period_start":"2026-05-16T12:34:01Z","current_period_end":"2027-05-16T12:34:01Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:26","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","p_stripe_subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","p_stripe_customer_id":"cus_UWkvSiRnf7k1MY","p_status":"canceled","p_current_period_start":"2026-05-16T12:34:01Z","p_current_period_end":"2027-05-16T12:34:01Z","p_plan_id":"individual_max","p_is_yearly":true,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:26","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:26","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TXhQvCmOXyFMbarfhjy6Mrj","user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:26","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"1b6b1190-b599-4adc-8607-852766dde2f6","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TwfXvCmOXyFMbarS6EXYBa8","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","customer_id":"cus_Uj3tOCsYBrELBO"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1781773174},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-07-18T08:59:34Z","current_period_end":"2026-08-18T08:59:34Z","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","data":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","stripe_customer_id":"cus_Uj3tOCsYBrELBO","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-07-24 09:37:36","current_period_start":"2026-07-18T08:59:34Z","current_period_end":"2026-08-18T08:59:34Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:36","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:36","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","p_stripe_subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","p_stripe_customer_id":"cus_Uj3tOCsYBrELBO","p_status":"canceled","p_current_period_start":"2026-07-18T08:59:34Z","p_current_period_end":"2026-08-18T08:59:34Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:37","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-24 11:37:37","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TjbnzCmOXyFMbarWhRgDAwS","user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-24 11:37:37","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"47a63e5d-5c63-4b0d-a842-78de71b60be2","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1TxlT2CmOXyFMbarEQyFljOf","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","customer_id":"cus_UuOUa9CIURgTpk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC DECISION","context":{"plan_id":"individual_inventory","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC AGENCY: Plan non reconnu, utilisation fallback","context":{"plan_id":"individual_inventory","fallback_max_agents":1,"fallback_mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_inventory","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_inventory","market":"fr","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1784386756},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-07-18T14:59:16Z","current_period_end":"2026-08-18T14:59:16Z","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","stripe_customer_id":"cus_UuOUa9CIURgTpk","status":"canceled","plan_id":"individual_inventory","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-07-27 10:09:05","current_period_start":"2026-07-18T14:59:16Z","current_period_end":"2026-08-18T14:59:16Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:05","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-27 12:09:05","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","p_stripe_customer_id":"cus_UuOUa9CIURgTpk","p_status":"canceled","p_current_period_start":"2026-07-18T14:59:16Z","p_current_period_end":"2026-08-18T14:59:16Z","p_plan_id":"individual_inventory","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-27 12:09:05","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-07-27 12:09:05","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1TuZicCmOXyFMbarNHhYZbz0","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-07-27 12:09:06","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:22","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1TzrujCmOXyFMbarKiV1PdEr","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:22","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-08-02T05:26:10Z","current_period_end":"2026-09-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-02 05:26:23","current_period_start":"2026-08-02T05:26:10Z","current_period_end":"2026-09-02T05:26:10Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-02 07:26:23","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-08-02T05:26:10Z","p_current_period_end":"2026-09-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-02 07:26:23","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-02 07:26:23","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:26:23","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:28:30","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1TzrwoCmOXyFMbar4GDtMrKi","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-02 07:28:30","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1TzruiCmOXyFMbariK7Glz6y","subscription_id":null,"amount_paid":6900,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:38:59","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b18H10pHzoHFVDwPAjSoqo1LMSBnm3nGaY3yutu36PU2KXSdJoSsQcyIX8","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3f3VCmOXyFMbaryXZM78oT"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:39:11","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1uCPT2Pe5l5pQjzDdCvduKuZVNmMlp7fz3cRVMoDMP7o3wZ10oBAFfZbV","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3f6GCmOXyFMbarkhcGJvws"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:39:24","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1eikZijgAXr2Mo6l7dG7dKxrsxfQN6hllfrOEbM3vnG5M79A4gaR9UaLP","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3fJYCmOXyFMbarqmc2kRXE"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:39:35","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1dmswi5drgLn0xlZa2LcgHgBaEO9Uy7ZkkKz2kosCR9H7nBLylp4bRtuF","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3d3zCmOXyFMbarm5389zNi"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:39:43","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1An7mciWFlFxqNsYGsmp4oK8xeAf22WzXUMey8doQKRISE0HmtoYbfcRA","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3czbCmOXyFMbarCVg5F3JH"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:39:53","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1zBeEeNWZrCQXE0obenVnZ3VuQIUYQTc4egWVpyZYF1SXNSsvqpVPi9Dh","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3cucCmOXyFMbarVZVx6X83"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:40:05","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b175qqRHZDP3fE04xaPdsLM2UpFhY1sbRQHaglbiJYbHy7L9uR2a5jQVAF","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3f4ECmOXyFMbara8Rcolfi"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:40:13","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1Xvn5qXQejkEgdBALsePjCGa84Cl8n2znPVyxS1NrIE6IFO2JrR3DywsA","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3f7HCmOXyFMbarcprxaXIu"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:40:20","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b162Uerh47oMapIzlPAmjpftMr45vtJUaVtNcsQUr6JruQ76WtUFZdMw5G","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3fKRCmOXyFMbargLg1MTJx"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:41:05","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1Q1YnMvxAoBnssp5a4KIdWCz87l9f1HiznXgln4I0WJwL9ocOi2ysiQ4A","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3d4kCmOXyFMbarsNUM1DNB"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:41:20","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b10HRGjwBHpFJbZZe4igRXKYGUFUiRFGSVrl2YnlniljPRILXjgRiKK0Ry","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3d0XCmOXyFMbar8bxAtVkN"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:41:28","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1Db3pMA2jvwfJVETfClWUm3Y9qMfGUQTMTo4oYL9tajBNhdFgicWyhAFZ","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3cwWCmOXyFMbarMBkgLJdc"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:41:41","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1jZ4QyYvL9mCbiKbdH9EimpkA7P3VvEFjTFQ02DY61KDbXMxZ9CY2mWfY","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","mode":"subscription","price_id":"price_1U3f3VCmOXyFMbaryXZM78oT"},"ip":"2a02:a03f:6b21:de01:1145:25c5:6adb:18e2","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-12 19:42:56","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1U3gB1CmOXyFMbarDX98VZzg","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:56","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1U3gAQCmOXyFMbarLcNt50dK","customer_id":"cus_V3nlUnB7cjp1jK","payment_method":"pm_1U3gAPCmOXyFMbarti4tSpML","subscription_id":null,"all_metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:56","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:56","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1U3gAQCmOXyFMbarLcNt50dK","customer_id":"cus_V3nlUnB7cjp1jK","metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:58","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1U3gB3CmOXyFMbartKtxwOY1","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:58","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1jZ4QyYvL9mCbiKbdH9EimpkA7P3VvEFjTFQ02DY61KDbXMxZ9CY2mWfY","customer_id":"cus_V3nlUnB7cjp1jK","payment_status":"paid","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","source":"web","account_type":"individual"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:58","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","status":"active","customer_id":"cus_V3nlUnB7cjp1jK","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:58","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_V3nlUnB7cjp1jK","new_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1U3gB4CmOXyFMbaruiQemwfg","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","customer_id":"cus_V3nlUnB7cjp1jK","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_V3nlUnB7cjp1jK","new_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","canceled_count":0,"errors":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1U3gB4CmOXyFMbar9tzBJh2n","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1U3gAQCmOXyFMbarVogl7Qsh","subscription_id":null,"amount_paid":0,"customer_id":"cus_V3nlUnB7cjp1jK"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786556537},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-08-12T17:42:17Z","current_period_end":"2026-09-12T17:42:17Z","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","stripe_customer_id":"cus_V3nlUnB7cjp1jK","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-12 17:42:59","current_period_start":"2026-08-12T17:42:17Z","current_period_end":"2026-09-12T17:42:17Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-12 19:42:59","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","p_stripe_customer_id":"cus_V3nlUnB7cjp1jK","p_status":"active","p_current_period_start":"2026-08-12T17:42:17Z","p_current_period_end":"2026-09-12T17:42:17Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786556537},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-08-12T17:42:17Z","current_period_end":"2026-09-12T17:42:17Z","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","stripe_customer_id":"cus_V3nlUnB7cjp1jK","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-12 17:42:59","current_period_start":"2026-08-12T17:42:17Z","current_period_end":"2026-09-12T17:42:17Z","created_at":"2026-08-12 17:42:17"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-12 19:42:59","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-12 19:42:59","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","p_stripe_customer_id":"cus_V3nlUnB7cjp1jK","p_status":"active","p_current_period_start":"2026-08-12T17:42:17Z","p_current_period_end":"2026-09-12T17:42:17Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-12 19:42:59","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","session_id":"cs_live_b1jZ4QyYvL9mCbiKbdH9EimpkA7P3VvEFjTFQ02DY61KDbXMxZ9CY2mWfY"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-12 19:42:59","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-12 19:42:59","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1U3gAQCmOXyFMbarVogl7Qsh"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:49:52","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b12C93XrY6ypsHnJIQxCK7KPzLxAFJMSXrK61EwWUv6a7LLy5392MfZhdj","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:90ba:245e:b2ad:163","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-15 13:51:24","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1U4g7SCmOXyFMbarKSP8cAV0","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:24","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1U4g6uCmOXyFMbarYO5gjVUK","customer_id":"cus_V4plRlVFel5B9L","payment_method":"pm_1U4g6tCmOXyFMbarOXANKHY2","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:24","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:24","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1U4g6uCmOXyFMbarYO5gjVUK","customer_id":"cus_V4plRlVFel5B9L","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:25","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1U4g7VCmOXyFMbarNMyrPb1Z","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:25","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b12C93XrY6ypsHnJIQxCK7KPzLxAFJMSXrK61EwWUv6a7LLy5392MfZhdj","customer_id":"cus_V4plRlVFel5B9L","payment_status":"paid","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"individual"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","status":"active","customer_id":"cus_V4plRlVFel5B9L","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_V4plRlVFel5B9L","new_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_V4plRlVFel5B9L","new_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786794648},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-08-15T11:50:48Z","current_period_end":"2026-09-15T11:50:48Z","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","stripe_customer_id":"cus_V4plRlVFel5B9L","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 11:51:26","current_period_start":"2026-08-15T11:50:48Z","current_period_end":"2026-09-15T11:50:48Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:51:26","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","p_stripe_customer_id":"cus_V4plRlVFel5B9L","p_status":"active","p_current_period_start":"2026-08-15T11:50:48Z","p_current_period_end":"2026-09-15T11:50:48Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:51:26","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:51:26","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","session_id":"cs_live_b12C93XrY6ypsHnJIQxCK7KPzLxAFJMSXrK61EwWUv6a7LLy5392MfZhdj"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1U4g7VCmOXyFMbar8Bbf67y9","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:26","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1U4g6uCmOXyFMbaruPhWRWIX","subscription_id":null,"amount_paid":0,"customer_id":"cus_V4plRlVFel5B9L"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1U4g7WCmOXyFMbarAq4EjGGt","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","customer_id":"cus_V4plRlVFel5B9L","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1U4g6uCmOXyFMbaruPhWRWIX"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786794648},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-08-15T11:50:48Z","current_period_end":"2026-09-15T11:50:48Z","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","stripe_customer_id":"cus_V4plRlVFel5B9L","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 11:51:27","current_period_start":"2026-08-15T11:50:48Z","current_period_end":"2026-09-15T11:50:48Z","created_at":"2026-08-15 11:50:48"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:51:27","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:51:27","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","p_stripe_customer_id":"cus_V4plRlVFel5B9L","p_status":"active","p_current_period_start":"2026-08-15T11:50:48Z","p_current_period_end":"2026-09-15T11:50:48Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:51:27","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:51:27","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:20","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1U4gBICmOXyFMbarYqYa5gVF","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:20","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","customer_id":"cus_V4plRlVFel5B9L"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786794648},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-08-15T11:50:48Z","current_period_end":"2026-09-15T11:50:48Z","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","stripe_customer_id":"cus_V4plRlVFel5B9L","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-08-15 11:55:21","current_period_start":"2026-08-15T11:50:48Z","current_period_end":"2026-09-15T11:50:48Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:55:21","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","p_stripe_customer_id":"cus_V4plRlVFel5B9L","p_status":"canceled","p_current_period_start":"2026-08-15T11:50:48Z","p_current_period_end":"2026-09-15T11:50:48Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:55:21","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:55:21","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4g7TCmOXyFMbar5gLeLLXl","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:55:21","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:56:15","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1HZKj2ugyZzD905fn9kCTZXishj9qtUdTLlvhoA5PQm1BDWw3tRijgkI4","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:90ba:245e:b2ad:163","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-15 13:58:15","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1U4gE6CmOXyFMbarQW3pb2X9","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:15","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1U4gCpCmOXyFMbarYdk3Q3uJ","customer_id":"cus_V4prm7fhg57Qmj","payment_method":"pm_1U4gCoCmOXyFMbarEEBUFXvK","subscription_id":null,"all_metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:15","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:15","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1U4gCpCmOXyFMbarYdk3Q3uJ","customer_id":"cus_V4prm7fhg57Qmj","metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:16","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1U4gE8CmOXyFMbarHNFRzNON","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:16","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1HZKj2ugyZzD905fn9kCTZXishj9qtUdTLlvhoA5PQm1BDWw3tRijgkI4","customer_id":"cus_V4prm7fhg57Qmj","payment_status":"paid","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"individual"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","status":"active","customer_id":"cus_V4prm7fhg57Qmj","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_V4prm7fhg57Qmj","new_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_V4prm7fhg57Qmj","new_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","canceled_count":0,"errors":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786795014},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-08-15T11:56:54Z","current_period_end":"2026-09-15T11:56:54Z","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:17","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","stripe_customer_id":"cus_V4prm7fhg57Qmj","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 11:58:17","current_period_start":"2026-08-15T11:56:54Z","current_period_end":"2026-09-15T11:56:54Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:58:18","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","p_stripe_customer_id":"cus_V4prm7fhg57Qmj","p_status":"active","p_current_period_start":"2026-08-15T11:56:54Z","p_current_period_end":"2026-09-15T11:56:54Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:58:18","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1U4gE9CmOXyFMbarYVqxjRIV","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1U4gCpCmOXyFMbarktyxil1V","subscription_id":null,"amount_paid":0,"customer_id":"cus_V4prm7fhg57Qmj"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:58:18","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","session_id":"cs_live_b1HZKj2ugyZzD905fn9kCTZXishj9qtUdTLlvhoA5PQm1BDWw3tRijgkI4"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1U4gCpCmOXyFMbarktyxil1V"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1U4gE9CmOXyFMbartiBGhqaN","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","customer_id":"cus_V4prm7fhg57Qmj","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786795014},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-08-15T11:56:54Z","current_period_end":"2026-09-15T11:56:54Z","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","stripe_customer_id":"cus_V4prm7fhg57Qmj","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 11:58:18","current_period_start":"2026-08-15T11:56:54Z","current_period_end":"2026-09-15T11:56:54Z","created_at":"2026-08-15 11:56:54"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:58:18","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:58:18","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","p_stripe_customer_id":"cus_V4prm7fhg57Qmj","p_status":"active","p_current_period_start":"2026-08-15T11:56:54Z","p_current_period_end":"2026-09-15T11:56:54Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:58:18","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:58:18","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:54","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1U4gFiCmOXyFMbarqXg4TWwR","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:54","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","customer_id":"cus_V4prm7fhg57Qmj"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786795014},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-08-15T11:56:54Z","current_period_end":"2026-09-15T11:56:54Z","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","stripe_customer_id":"cus_V4prm7fhg57Qmj","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-08-15 11:59:55","current_period_start":"2026-08-15T11:56:54Z","current_period_end":"2026-09-15T11:56:54Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:59:55","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","p_stripe_customer_id":"cus_V4prm7fhg57Qmj","p_status":"canceled","p_current_period_start":"2026-08-15T11:56:54Z","p_current_period_end":"2026-09-15T11:56:54Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:59:55","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 13:59:55","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gE6CmOXyFMbarb6ojuYwD","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 13:59:55","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:02:50","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1MevUPWePa7lvETrUwaeKmTzR5vlmDt8FDbWLWzasIGMm0hLG1ReiX7JM","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:90ba:245e:b2ad:163","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-15 14:05:53","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1U4gLUCmOXyFMbarwpV6xuVt","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:53","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1U4gJKCmOXyFMbar7tUcAxSt","customer_id":"cus_V4pyU6NvBeMDQi","payment_method":"pm_1U4gJJCmOXyFMbarx3qmlw7D","subscription_id":null,"all_metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:53","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:53","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1U4gJKCmOXyFMbar7tUcAxSt","customer_id":"cus_V4pyU6NvBeMDQi","metadata":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:55","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1U4gLWCmOXyFMbarK8egMMh3","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:55","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1MevUPWePa7lvETrUwaeKmTzR5vlmDt8FDbWLWzasIGMm0hLG1ReiX7JM","customer_id":"cus_V4pyU6NvBeMDQi","payment_status":"paid","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"individual"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:55","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","status":"active","customer_id":"cus_V4pyU6NvBeMDQi","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:55","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_V4pyU6NvBeMDQi","new_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_V4pyU6NvBeMDQi","new_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","canceled_count":0,"errors":[]},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1U4gLXCmOXyFMbarMNRcBumn","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1U4gJKCmOXyFMbarKgd9vEyc","subscription_id":null,"amount_paid":0,"customer_id":"cus_V4pyU6NvBeMDQi"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786795418},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-08-15T12:03:38Z","current_period_end":"2026-09-15T12:03:38Z","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","stripe_customer_id":"cus_V4pyU6NvBeMDQi","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 12:05:56","current_period_start":"2026-08-15T12:03:38Z","current_period_end":"2026-09-15T12:03:38Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:05:56","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","p_stripe_customer_id":"cus_V4pyU6NvBeMDQi","p_status":"active","p_current_period_start":"2026-08-15T12:03:38Z","p_current_period_end":"2026-09-15T12:03:38Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:05:56","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:05:56","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","session_id":"cs_live_b1MevUPWePa7lvETrUwaeKmTzR5vlmDt8FDbWLWzasIGMm0hLG1ReiX7JM"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1U4gLXCmOXyFMbarGl8LnakI","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","customer_id":"cus_V4pyU6NvBeMDQi","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","old_plan_id":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:56","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1U4gJKCmOXyFMbarKgd9vEyc"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786795418},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-08-15T12:03:38Z","current_period_end":"2026-09-15T12:03:38Z","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","stripe_customer_id":"cus_V4pyU6NvBeMDQi","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 12:05:57","current_period_start":"2026-08-15T12:03:38Z","current_period_end":"2026-09-15T12:03:38Z","created_at":"2026-08-15 12:03:38"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:05:57","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:05:57","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","p_stripe_customer_id":"cus_V4pyU6NvBeMDQi","p_status":"active","p_current_period_start":"2026-08-15T12:03:38Z","p_current_period_end":"2026-09-15T12:03:38Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:05:57","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:05:57","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:27","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1U4gUkCmOXyFMbarzjh0gRYO","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:27","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","customer_id":"cus_V4pyU6NvBeMDQi"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786795418},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-08-15T12:03:38Z","current_period_end":"2026-09-15T12:03:38Z","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","stripe_customer_id":"cus_V4pyU6NvBeMDQi","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-08-15 12:15:28","current_period_start":"2026-08-15T12:03:38Z","current_period_end":"2026-09-15T12:03:38Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:15:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","p_stripe_customer_id":"cus_V4pyU6NvBeMDQi","p_status":"canceled","p_current_period_start":"2026-08-15T12:03:38Z","p_current_period_end":"2026-09-15T12:03:38Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:15:28","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:15:28","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gLUCmOXyFMbar4Kheo55i","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:28","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:15:56","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1wZjPy5RwFPfxJVJdxiAjOFgB6ivMEmJexWiGM4IXT1Jdg2l6I6O5Eh6X","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1U3f3VCmOXyFMbaryXZM78oT"},"ip":"2a02:a03f:6b21:de01:90ba:245e:b2ad:163","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-15 14:20:35","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1U4gZiCmOXyFMbarejg8Yy3l","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:35","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1U4gZ5CmOXyFMbarQt2Pot7D","customer_id":"cus_V4qBmfs0QFx6zn","payment_method":"pm_1U4gZ3CmOXyFMbarQp3Y1mEX","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:35","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:35","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1U4gZ5CmOXyFMbarQt2Pot7D","customer_id":"cus_V4qBmfs0QFx6zn","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1U4gZkCmOXyFMbare6neEFOw","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1wZjPy5RwFPfxJVJdxiAjOFgB6ivMEmJexWiGM4IXT1Jdg2l6I6O5Eh6X","customer_id":"cus_V4qBmfs0QFx6zn","payment_status":"paid","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"individual"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","status":"active","customer_id":"cus_V4qBmfs0QFx6zn","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_V4qBmfs0QFx6zn","new_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_V4qBmfs0QFx6zn","new_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1U4gZlCmOXyFMbarssqvyxbJ","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:37","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","customer_id":"cus_V4qBmfs0QFx6zn","status":"active","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786796394},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-08-15T12:19:54Z","current_period_end":"2026-09-15T12:19:54Z","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","stripe_customer_id":"cus_V4qBmfs0QFx6zn","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 12:20:38","current_period_start":"2026-08-15T12:19:54Z","current_period_end":"2026-09-15T12:19:54Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:20:38","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","p_stripe_customer_id":"cus_V4qBmfs0QFx6zn","p_status":"active","p_current_period_start":"2026-08-15T12:19:54Z","p_current_period_end":"2026-09-15T12:19:54Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1U4gZlCmOXyFMbarJ0EZIU8p","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1U4gZ4CmOXyFMbar7V3C5sko","subscription_id":null,"amount_paid":0,"customer_id":"cus_V4qBmfs0QFx6zn"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:20:38","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","session_id":"cs_live_b1wZjPy5RwFPfxJVJdxiAjOFgB6ivMEmJexWiGM4IXT1Jdg2l6I6O5Eh6X"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786796394},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-08-15T12:19:54Z","current_period_end":"2026-09-15T12:19:54Z","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","stripe_customer_id":"cus_V4qBmfs0QFx6zn","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-15 12:20:38","current_period_start":"2026-08-15T12:19:54Z","current_period_end":"2026-09-15T12:19:54Z","created_at":"2026-08-15 12:19:54"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:20:38","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","p_stripe_customer_id":"cus_V4qBmfs0QFx6zn","p_status":"active","p_current_period_start":"2026-08-15T12:19:54Z","p_current_period_end":"2026-09-15T12:19:54Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:20:38","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-15 14:20:38","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-15 14:20:38","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1U4gZ4CmOXyFMbar7V3C5sko"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:27","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1U5OZeCmOXyFMbarH83UCmM1","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:27","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","customer_id":"cus_V4qBmfs0QFx6zn"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:27","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:27","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:27","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:27","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786796394},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-08-15T12:19:54Z","current_period_end":"2026-09-15T12:19:54Z","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","stripe_customer_id":"cus_V4qBmfs0QFx6zn","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-08-17 11:19:28","current_period_start":"2026-08-15T12:19:54Z","current_period_end":"2026-09-15T12:19:54Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:19:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","p_stripe_customer_id":"cus_V4qBmfs0QFx6zn","p_status":"canceled","p_current_period_start":"2026-08-15T12:19:54Z","p_current_period_end":"2026-09-15T12:19:54Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:19:28","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:19:28","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U4gZiCmOXyFMbar6qWVTWFz","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:28","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:19:39","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1CKzHrjBLuIRn06mSAln5a5Yf1Yo3d8Dkvu2lHGySR0SFQsyOohrikA5A","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1SkL6RCmOXyFMbarj628u90T"},"ip":"2a02:a03f:6b21:de01:c845:cc55:ab00:5d3d","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/151.0.0.0 Safari\/537.36"} {"timestamp":"2026-08-17 13:20:33","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1U5OaiCmOXyFMbar0JaO6ot9","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:33","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1U5OaKCmOXyFMbarppQaln0W","customer_id":"cus_V5ZjE6PXNMEvsl","payment_method":"pm_1U5OaJCmOXyFMbar5pDmkjjZ","subscription_id":null,"all_metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:33","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:33","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1U5OaKCmOXyFMbarppQaln0W","customer_id":"cus_V5ZjE6PXNMEvsl","metadata":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:35","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1U5OakCmOXyFMbari5YVTbGS","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:35","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1CKzHrjBLuIRn06mSAln5a5Yf1Yo3d8Dkvu2lHGySR0SFQsyOohrikA5A","customer_id":"cus_V5ZjE6PXNMEvsl","payment_status":"paid","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","mode":"subscription","metadata":{"plan_id":"individual_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"individual"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:35","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","status":"active","customer_id":"cus_V5ZjE6PXNMEvsl","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:35","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_V5ZjE6PXNMEvsl","new_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:35","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1U5OalCmOXyFMbariauVa41M","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:35","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1U5OaKCmOXyFMbarsrcnFmee","subscription_id":null,"amount_paid":0,"customer_id":"cus_V5ZjE6PXNMEvsl"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","plan_id":"individual_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_V5ZjE6PXNMEvsl","new_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1U5OalCmOXyFMbarYIb6tJwp","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","customer_id":"cus_V5ZjE6PXNMEvsl","status":"active","plan_id":"individual_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786965607},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-08-17T11:20:07Z","current_period_end":"2026-09-17T11:20:07Z","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","stripe_customer_id":"cus_V5ZjE6PXNMEvsl","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-17 11:20:36","current_period_start":"2026-08-17T11:20:07Z","current_period_end":"2026-09-17T11:20:07Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:20:36","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","p_stripe_customer_id":"cus_V5ZjE6PXNMEvsl","p_status":"active","p_current_period_start":"2026-08-17T11:20:07Z","p_current_period_end":"2026-09-17T11:20:07Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:20:36","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:20:36","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","session_id":"cs_live_b1CKzHrjBLuIRn06mSAln5a5Yf1Yo3d8Dkvu2lHGySR0SFQsyOohrikA5A"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786965607},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-08-17T11:20:07Z","current_period_end":"2026-09-17T11:20:07Z","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","stripe_customer_id":"cus_V5ZjE6PXNMEvsl","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-08-17 11:20:36","current_period_start":"2026-08-17T11:20:07Z","current_period_end":"2026-09-17T11:20:07Z","created_at":"2026-08-17 11:20:07"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:36","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:20:36","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","p_stripe_customer_id":"cus_V5ZjE6PXNMEvsl","p_status":"active","p_current_period_start":"2026-08-17T11:20:07Z","p_current_period_end":"2026-09-17T11:20:07Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:20:37","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 13:20:37","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 13:20:37","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","credits":1500,"invoice_id":"in_1U5OaKCmOXyFMbarsrcnFmee"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1U5RDICmOXyFMbari0iaL7tR","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","customer_id":"cus_V5ZjE6PXNMEvsl"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786965607},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-08-17T11:20:07Z","current_period_end":"2026-09-17T11:20:07Z","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","stripe_customer_id":"cus_V5ZjE6PXNMEvsl","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-08-17 14:08:34","current_period_start":"2026-08-17T11:20:07Z","current_period_end":"2026-09-17T11:20:07Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:34","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 16:08:34","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","p_stripe_customer_id":"cus_V5ZjE6PXNMEvsl","p_status":"canceled","p_current_period_start":"2026-08-17T11:20:07Z","p_current_period_end":"2026-09-17T11:20:07Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 16:08:34","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-08-17 16:08:34","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U5OaiCmOXyFMbarcbbxJRsk","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-08-17 16:08:35","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":204},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1UB6grCmOXyFMbarIQggmoQs","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-09-02T05:26:10Z","current_period_end":"2026-10-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-09-02 05:26:30","current_period_start":"2026-09-02T05:26:10Z","current_period_end":"2026-10-02T05:26:10Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:30","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-02 07:26:30","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-09-02T05:26:10Z","p_current_period_end":"2026-10-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-02 07:26:31","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-02 07:26:31","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:31","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:31","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:31","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:26:31","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:28:36","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1UB6itCmOXyFMbarwwiVz5UE","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-02 07:28:36","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1UB6gqCmOXyFMbarnKjfT1Fu","subscription_id":null,"amount_paid":6900,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-04 13:30:54","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1cTQfroVKoEMM08LN7qlm3IMzMdSeiqYZc23wu9Y0AzDU1XFvOf1Vz7TB","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1U3f3VCmOXyFMbaryXZM78oT"},"ip":"2a02:a03f:6b21:de01:c48e:70b5:7559:b4a8","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/152.0.0.0 Safari\/537.36"} {"timestamp":"2026-09-12 19:42:29","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1UEuwaCmOXyFMbardKiDBz1F","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:29","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","customer_id":"cus_V3nlUnB7cjp1jK","status":"active","plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","old_plan_id":"individual_starter"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786556537},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-09-12T17:42:17Z","current_period_end":"2026-10-12T17:42:17Z","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","stripe_customer_id":"cus_V3nlUnB7cjp1jK","status":"active","plan_id":"individual_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-09-12 17:42:30","current_period_start":"2026-09-12T17:42:17Z","current_period_end":"2026-10-12T17:42:17Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-12 19:42:30","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","p_stripe_customer_id":"cus_V3nlUnB7cjp1jK","p_status":"active","p_current_period_start":"2026-09-12T17:42:17Z","p_current_period_end":"2026-10-12T17:42:17Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-12 19:42:30","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-12 19:42:30","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:42:30","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:43:48","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1UEuxrCmOXyFMbartgkoWtDC","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-12 19:43:48","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1UEuwaCmOXyFMbarYDRMuN7q","subscription_id":null,"amount_paid":0,"customer_id":"cus_V3nlUnB7cjp1jK"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:06:30","message":"Session Checkout cr\u00e9\u00e9e (plateforme web)","context":{"session_id":"cs_live_b1bn4uMXAID67tVfBLuqriIXvdK11HPvJWvp6U7TTLkK7il6ULAudyArMq","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","mode":"subscription","price_id":"price_1U3d3zCmOXyFMbarm5389zNi"},"ip":"2a02:a03f:6b21:de01:10ac:7404:21e9:b4f0","user_agent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/152.0.0.0 Safari\/537.36"} {"timestamp":"2026-09-15 14:07:49","message":"Webhook re\u00e7u","context":{"event_type":"setup_intent.succeeded","event_id":"evt_1UFv9MCmOXyFMbarZ7pYJOIb","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:49","message":"Setup Intent r\u00e9ussi","context":{"setup_intent_id":"seti_1UFv8qCmOXyFMbaruiHj6z5I","customer_id":"cus_VGS22sgvsn5TJe","payment_method":"pm_1UFv8pCmOXyFMbarKGdaftWR","subscription_id":null,"all_metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:49","message":"Pas de subscription_id dans m\u00e9tadonn\u00e9es, recherche via customer","context":[],"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:50","message":"Aucun subscription_id trouv\u00e9 (ni m\u00e9tadonn\u00e9es ni customer)","context":{"setup_intent_id":"seti_1UFv8qCmOXyFMbaruiHj6z5I","customer_id":"cus_VGS22sgvsn5TJe","metadata":[]},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:51","message":"Webhook re\u00e7u","context":{"event_type":"checkout.session.completed","event_id":"evt_1UFv9OCmOXyFMbarqcr22XB4","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:51","message":"Checkout Session compl\u00e9t\u00e9e via webhook","context":{"session_id":"cs_live_b1bn4uMXAID67tVfBLuqriIXvdK11HPvJWvp6U7TTLkK7il6ULAudyArMq","customer_id":"cus_VGS22sgvsn5TJe","payment_status":"paid","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","mode":"subscription","metadata":{"plan_id":"agency_starter","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","source":"web","account_type":"agency"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:51","message":"Abonnement r\u00e9cup\u00e9r\u00e9 depuis Checkout Session","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","status":"active","customer_id":"cus_VGS22sgvsn5TJe","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:51","message":"\ud83e\uddf9 CLEANUP: Recherche des anciens abonnements Stripe \u00e0 annuler","context":{"customer_id":"cus_VGS22sgvsn5TJe","new_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\ud83d\udd04 CLEANUP: Abonnement actuel (garder)","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\ud83c\udfc1 CLEANUP: Nettoyage termin\u00e9","context":{"customer_id":"cus_VGS22sgvsn5TJe","new_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","canceled_count":0,"errors":[]},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1UFv9PCmOXyFMbarzRsYHMHC","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1UFv8qCmOXyFMbar5S4dVMtt","subscription_id":null,"amount_paid":0,"customer_id":"cus_VGS22sgvsn5TJe"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.created","event_id":"evt_1UFv9PCmOXyFMbarSvdgS3Mg","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Abonnement cr\u00e9\u00e9 via webhook","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","customer_id":"cus_VGS22sgvsn5TJe","status":"active","plan_id":"agency_starter"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","old_plan_id":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1789474036},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\ud83e\uddea DATES WEBHOOK (action=created_from_checkout)","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created_from_checkout","current_period_start":"2026-09-15T12:07:16Z","current_period_end":"2026-10-15T12:07:16Z","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created_from_checkout","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","stripe_customer_id":"cus_VGS22sgvsn5TJe","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-09-15 12:07:52","current_period_start":"2026-09-15T12:07:16Z","current_period_end":"2026-10-15T12:07:16Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-15 14:07:52","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","p_stripe_customer_id":"cus_VGS22sgvsn5TJe","p_status":"active","p_current_period_start":"2026-09-15T12:07:16Z","p_current_period_end":"2026-10-15T12:07:16Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1789474036},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\ud83e\uddea DATES WEBHOOK (action=created)","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"created","current_period_start":"2026-09-15T12:07:16Z","current_period_end":"2026-10-15T12:07:16Z","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"created","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","stripe_customer_id":"cus_VGS22sgvsn5TJe","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-09-15 12:07:52","current_period_start":"2026-09-15T12:07:16Z","current_period_end":"2026-10-15T12:07:16Z","created_at":"2026-09-15 12:07:16"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-15 14:07:52","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","p_stripe_customer_id":"cus_VGS22sgvsn5TJe","p_status":"active","p_current_period_start":"2026-09-15T12:07:16Z","p_current_period_end":"2026-10-15T12:07:16Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-15 14:07:52","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","http_code":200,"response":{"success":true,"action":"inserted","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-15 14:07:52","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","http_code":200,"response":{"success":false,"error":"duplicate key value violates unique constraint \"user_subscriptions_stripe_subscription_id_key\"","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-15 14:07:52","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created_from_checkout","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"created","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"\u2705 Abonnement activ\u00e9 dans Supabase depuis Checkout Session","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","session_id":"cs_live_b1bn4uMXAID67tVfBLuqriIXvdK11HPvJWvp6U7TTLkK7il6ULAudyArMq"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:52","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-15 14:07:53","message":"\u2705 Cr\u00e9dits abonnement inject\u00e9s","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","credits":2400,"invoice_id":"in_1UFv8qCmOXyFMbar5S4dVMtt"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.deleted","event_id":"evt_1UL2hLCmOXyFMbarXIWQGcIU","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"Abonnement supprim\u00e9 via webhook","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","customer_id":"cus_V3nlUnB7cjp1jK"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SYNC DECISION","context":{"plan_id":"individual_starter","should_sync":true,"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","old_plan_id":null},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_starter","max_agents":1,"mode":"individual","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","plan_id":"individual_starter","market":"be","http_code":200},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1786556537},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"\ud83e\uddea DATES WEBHOOK (action=deleted)","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"deleted","current_period_start":"2026-09-12T17:42:17Z","current_period_end":"2026-10-12T17:42:17Z","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"deleted","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","data":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","stripe_customer_id":"cus_V3nlUnB7cjp1jK","status":"canceled","plan_id":"individual_starter","is_yearly":false,"auto_renew":false,"cancel_at_period_end":false,"updated_at":"2026-09-29 15:12:04","current_period_start":"2026-09-12T17:42:17Z","current_period_end":"2026-10-12T17:42:17Z"}},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:04","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-29 17:12:04","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","p_stripe_subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","p_stripe_customer_id":"cus_V3nlUnB7cjp1jK","p_status":"canceled","p_current_period_start":"2026-09-12T17:42:17Z","p_current_period_end":"2026-10-12T17:42:17Z","p_plan_id":"individual_starter","p_is_yearly":false,"p_auto_renew":false}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-29 17:12:04","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-09-29 17:12:04","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1U3gB1CmOXyFMbariOgMvUmL","user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":200,"action":"deleted","result":"unknown"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-09-29 17:12:05","message":"CANCEL RESET INDIVIDUAL: Compteurs individuels remis \u00e0 z\u00e9ro","context":{"user_id":"ab7f261d-7aa7-43f3-a69b-cf138e105add","http_code":204},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1ULyzGCmOXyFMbar7HfIZ8yJ","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-10-02T05:26:10Z","current_period_end":"2026-11-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-10-02 05:26:28","current_period_start":"2026-10-02T05:26:10Z","current_period_end":"2026-11-02T05:26:10Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-10-02 07:26:28","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-10-02T05:26:10Z","p_current_period_end":"2026-11-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-10-02 07:26:28","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-10-02 07:26:28","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:28","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:29","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:26:29","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:27:47","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1ULz0YCmOXyFMbar9Ua3HTCL","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-02 07:27:47","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1ULyzFCmOXyFMbar1nXdV1wH","subscription_id":null,"amount_paid":6900,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:14","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1UQnSBCmOXyFMbarZHiCyyS0","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:14","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","customer_id":"cus_VGS22sgvsn5TJe","status":"active","plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SYNC DECISION","context":{"plan_id":"agency_starter","should_sync":true,"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","old_plan_id":"agency_starter"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"agency_starter","max_agents":2,"mode":"group","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","new_max_agents":2,"http_code":200,"updated_agencies":0},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","plan_id":"agency_starter","market":"be","http_code":200},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1789474036},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-10-15T12:07:16Z","current_period_end":"2026-11-15T12:07:16Z","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","data":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","stripe_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","stripe_customer_id":"cus_VGS22sgvsn5TJe","status":"active","plan_id":"agency_starter","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-10-15 12:08:15","current_period_start":"2026-10-15T12:07:16Z","current_period_end":"2026-11-15T12:07:16Z"}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-10-15 14:08:15","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","p_stripe_subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","p_stripe_customer_id":"cus_VGS22sgvsn5TJe","p_status":"active","p_current_period_start":"2026-10-15T12:07:16Z","p_current_period_end":"2026-11-15T12:07:16Z","p_plan_id":"agency_starter","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-10-15 14:08:15","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-10-15 14:08:15","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","cancel_at_period_end":false},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","subscription_id":"sub_1UFv9MCmOXyFMbar2egcvO3l","current_period_start":null,"current_period_end":null},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:08:15","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"3907a1cc-87db-4d5b-bbe7-d56f96cdb120","message":"Raison inconnue"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:09:51","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1UQnTkCmOXyFMbarJfhCfNVY","livemode":true},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-10-15 14:09:51","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1UQnSBCmOXyFMbarOz4kXtJt","subscription_id":null,"amount_paid":0,"customer_id":"cus_VGS22sgvsn5TJe"},"ip":"54.187.205.235","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:07","message":"Webhook re\u00e7u","context":{"event_type":"customer.subscription.updated","event_id":"evt_1UXDlqCmOXyFMbar1pwFSq0r","livemode":true},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:07","message":"Abonnement mis \u00e0 jour via webhook","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SYNC DECISION","context":{"plan_id":"individual_pro","should_sync":true,"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","old_plan_id":"individual_pro"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SYNC AGENCY: D\u00e9but synchronisation max_agents","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SYNC AGENCY: Configuration d\u00e9termin\u00e9e","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SYNC AGENCY: Mise \u00e0 jour sans subscription_plan","context":{"plan_id":"individual_pro","max_agents":1,"mode":"individual","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","note":"subscription_plan non mis \u00e0 jour - source de v\u00e9rit\u00e9: user_subscriptions.plan_id"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SYNC AGENCY: max_agents synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","new_max_agents":1,"http_code":200,"updated_agencies":0},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SYNC MARKET: market synchronis\u00e9","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","plan_id":"individual_pro","market":"be","http_code":200},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"Debug timestamps Stripe","context":{"current_period_start_raw":null,"current_period_end_raw":null,"created_raw":1775107570},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"\ud83e\uddea DATES WEBHOOK (action=updated)","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_start_type":"NULL","current_period_end":null,"current_period_end_type":"NULL","start_gt_0":false,"end_gt_0":false,"hasValidDates_will_be":false,"start_formatted":"(invalid)","end_formatted":"(invalid)"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"\ud83d\udd0d D\u00e9tection is_yearly depuis price interval","context":{"interval":"month","is_yearly_from_price":false,"is_yearly_from_metadata":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"\u2705 Dates fournies par Stripe (format ISO8601)","context":{"action":"updated","current_period_start":"2026-11-02T05:26:10Z","current_period_end":"2026-12-02T05:26:10Z","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","is_yearly":false,"source":"items.data[0]"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"Donn\u00e9es pr\u00e9par\u00e9es pour Supabase","context":{"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","data":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","stripe_customer_id":"cus_UGA4wVgUQghymZ","status":"active","plan_id":"individual_pro","is_yearly":false,"auto_renew":true,"cancel_at_period_end":false,"updated_at":"2026-11-02 05:27:08","current_period_start":"2026-11-02T05:26:10Z","current_period_end":"2026-12-02T05:26:10Z"}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"SUPABASE FUNCTION - D\u00e9but","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2"},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-11-02 06:27:08","message":"SUPABASE FUNCTION - Param\u00e8tres","context":{"function_params":{"p_user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","p_stripe_subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","p_stripe_customer_id":"cus_UGA4wVgUQghymZ","p_status":"active","p_current_period_start":"2026-11-02T05:26:10Z","p_current_period_end":"2026-12-02T05:26:10Z","p_plan_id":"individual_pro","p_is_yearly":false,"p_auto_renew":true}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-11-02 06:27:08","message":"SUPABASE FUNCTION - Succ\u00e8s","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","http_code":200,"response":{"success":true,"action":"updated","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9"}},"ip":"54.36.142.130","user_agent":"unknown"} {"timestamp":"2026-11-02 06:27:08","message":"Abonnement sauvegard\u00e9 via webhook insert","context":{"subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"action":"updated","result":"unknown"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"BILLING RESET: V\u00e9rification autoris\u00e9e","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","cancel_at_period_end":false},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"BILLING RESET: V\u00e9rification remise \u00e0 z\u00e9ro","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","subscription_id":"sub_1THdm4CmOXyFMbarzdTeZJH2","current_period_start":null,"current_period_end":null},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"BILLING RESET: R\u00e9sultat","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","http_code":200,"response":{"message":"Aucune nouvelle p\u00e9riode de facturation d\u00e9tect\u00e9e","success":false,"reset_performed":false}},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:27:08","message":"BILLING RESET: \u2139\ufe0f Pas de remise \u00e0 z\u00e9ro n\u00e9cessaire","context":{"user_id":"6b7dae63-f8c2-4141-92c8-9a4c4ec975b9","message":"Raison inconnue"},"ip":"54.187.216.72","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:28:23","message":"Webhook re\u00e7u","context":{"event_type":"invoice.payment_succeeded","event_id":"evt_1UXDn4CmOXyFMbarJnm7bkpm","livemode":true},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"} {"timestamp":"2026-11-02 06:28:23","message":"Paiement de facture r\u00e9ussi","context":{"invoice_id":"in_1UXDlpCmOXyFMbarXFzmMRwm","subscription_id":null,"amount_paid":6900,"customer_id":"cus_UGA4wVgUQghymZ"},"ip":"54.187.174.169","user_agent":"Stripe\/1.0 (+https:\/\/stripe.com\/docs\/webhooks)"}