Serreau Jovann 0ab2c8d0aa feat: creation automatique des webhooks Stripe + controllers de reception
src/Service/StripeWebhookService.php (nouveau):
- createAllWebhooks(baseUrl): cree 4 webhook endpoints dans Stripe:
  - /webhooks/stripe/main/light: customer.created/updated/deleted,
    product.created/updated, price.created/updated, invoice.created/
    finalized/payment_succeeded/payment_failed, subscription.created/
    updated/deleted
  - /webhooks/stripe/main/instant: checkout.session.completed/expired,
    payment_intent.succeeded/payment_failed, charge.succeeded/failed/
    refunded/dispute.created, invoice.paid/payment_failed,
    customer.subscription.trial_will_end/deleted
  - /webhooks/stripe/connect/light: account.updated/application.
    authorized/deauthorized, transfer.created/updated, payout.created/
    paid/failed
  - /webhooks/stripe/connect/instant: payment_intent.succeeded/
    payment_failed, charge.succeeded/failed/refunded,
    checkout.session.completed
- Verification si le webhook existe deja par URL avant creation
  (pas de doublon)
- listWebhooks(): liste tous les webhooks du compte
- deleteWebhook(): supprime un webhook par ID

src/Controller/WebhookStripeController.php (nouveau):
- 4 routes POST sans authentification (firewall webhooks):
  /webhooks/stripe/main/light, /webhooks/stripe/main/instant,
  /webhooks/stripe/connect/light, /webhooks/stripe/connect/instant
- Verification de signature Stripe via Stripe\Webhook::constructEvent()
- Log de chaque evenement avec channel, type et event_id
- TODO pour dispatcher vers les handlers specifiques

src/Controller/Admin/SyncController.php:
- Nouvelle route POST /admin/sync/stripe/webhooks: prend une URL
  de base en parametre, appelle createAllWebhooks(), affiche les
  resultats (cree/existe deja) en flash messages

templates/admin/sync/index.html.twig:
- Nouveau bloc "Webhooks Stripe" (bleu) avec champ URL de base
  (pre-rempli avec l'URL courante), bouton "Creer les webhooks",
  et liste des 4 endpoints avec leurs evenements

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:53:29 +02:00
2026-03-30 18:52:03 +02:00
2026-03-30 18:52:03 +02:00
2026-03-30 18:51:57 +02:00
2026-03-30 18:51:57 +02:00
2026-03-30 18:52:03 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
Description
No description provided
9.6 MiB
Languages
PHP 66.2%
Twig 28.7%
JavaScript 4%
Jinja 0.5%
Makefile 0.3%
Other 0.2%