Acest pachet oferă integrarea cu Stripe pentru procesarea plăților și gestionarea webhook-urilor, fiind special configurat pentru aplicația Auditor. Pachetul gestionează automat evenimentele Stripe și se integrează cu modulul intern de facturare.
- PHP >= 8.2
- Laravel >= 12.0
- Pachetul
webrteu/invoicing(^1.0) instalat și configurat. - Modelele de bază din aplicația principală:
Order,AuditRequest,AuditLog.
Poți instala pachetul folosind Composer:
composer require webrteu/stripe(Notă: Dacă pachetul se instalează din stadiul de dezvoltare, poți folosi composer require webrteu/stripe:@dev)
Publică fișierul de configurare necesar pentru setările Stripe:
php artisan vendor:publish --tag=stripe-configAcest lucru va genera un fișier config/stripe.php în cadrul aplicației principale.
Adaugă următoarele variabile în fișierul tău .env:
STRIPE_KEY=pk_test_...
STRIPE_SECRET=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...Important: Asigură-te că ruta de webhook este exclusă din validarea CSRF. Modifică excepțiile în bootstrap/app.php (specific Laravel 11+) sau în Middleware-ul VerifyCsrfToken.php:
// Pentru Laravel 11+ (bootstrap/app.php):
->withMiddleware(function (Middleware $middleware) {
$middleware->validateCsrfTokens(except: [
'stripe/webhook',
]);
})// Pentru versiuni sub Laravel 11 (app/Http/Middleware/VerifyCsrfToken.php):
protected $except = [
'/stripe/webhook',
];Pachetul definește și exportă automat o rută /stripe/webhook, pe care Stripe o poate apela pentru a notifica sistemul în legătură cu statusul plăților.
Controller-ul central este WeBRTeu\Stripe\Http\Controllers\StripeWebhookController și procesează următoarele evenimente din Stripe:
checkout.session.completed: Verifică statusul plății, generează notificările de confirmare ale comenzii, creeazăAuditRequestși activează serviciul de facturare pentru finalizarea procesului.payment_intent.succeededpayment_intent.payment_failed
Ruta implicită poartă numele de stripe.webhook. Dacă ai nevoie să modifici comportamentul implicit, poți extinde / suprascrie controller-ul din aplicația principală sau poți defini seturi complet noi de funcționalități respectând fluxul existent.
În mediul de dezvoltare (APP_ENV=local), dacă valoarea din .env pentru webhook (STRIPE_WEBHOOK_SECRET) este lăsată temporar la valoarea whsec_your_webhook_secret_here, pachetul va renunța automat la verificarea semnăturii pentru a facilita testarea mai ușoară cu payload-uri dummy.
- Nume: WeBRTeu
- Website: https://webrteu.eu
- Email: pfa.razvan.bodnariu@gmail.com
Proiectul este distribuit sub licența MIT.