💳

test-webhook-fix

Test du correctif des webhooks Stripe

Problèmes corrigés

  1. Méthodes inexistantes dans Cashier : Les méthodes handleInvoicePaymentSucceeded et handleInvoicePaymentFailed n'existent pas dans Cashier par défaut. Elles retournent maintenant successMethod() au lieu d'essayer d'appeler le parent.

  2. Gestion des erreurs améliorée : La création de transaction ne bloque plus le webhook si elle échoue.

  3. Prévention des doublons : Vérification si une transaction existe déjà avant d'en créer une nouvelle.

Pour tester

  1. Relancer le webhook listener (si pas déjà actif) :

    stripe listen --forward-to localhost/stripe/webhook
    
  2. Tester un nouvel abonnement :

    • Aller sur votre site
    • Créer un nouvel abonnement
    • Vérifier que l'abonnement est bien créé dans la base de données
  3. Vérifier les logs :

    tail -f storage/logs/laravel.log
    
  4. Vérifier les transactions :

    ./vendor/bin/sail artisan tinker
    >>> App\Models\StripeTransaction::latest(5)->get(['event_type', 'processed', 'stripe_event_id'])
    
  5. Vérifier les abonnements :

    ./vendor/bin/sail artisan tinker
    >>> \Laravel\Cashier\Subscription::all()
    >>> \App\Models\User::whereNotNull('stripe_id')->with('subscriptions')->get()
    

Si ça ne fonctionne toujours pas

  1. Vérifier que la migration a bien été exécutée :

    ./vendor/bin/sail artisan migrate:status
    
  2. Vérifier les erreurs dans les logs :

    tail -100 storage/logs/laravel.log | grep ERROR
    
  3. Vérifier que le webhook secret est correct :

    ./check-stripe-config.sh