Stripe Webhook
Stripe, BILLING_PROVIDER=stripe olduğunda varsayılan faturalandırma sağlayıcısıdır. Webhook olmadan, Sosyabot başarılı ödemeleri veya abonelik değişikliklerini görmez — kullanıcıların ödeme yapacak ama çalışma alanı açılmayacaktır.
Endpoint
`<BASE_URL>/api/v1/webhooks/billing/stripe`İmzalama secret'ı .env'deki değerle eşleşmelidir:
STRIPE_WEBHOOK_SECRET=whsec_...Abone olunacak etkinlikler
Stripe panelinde, endpoint'i kaydet ve şu etkinlik tiplerini seç:
payment_intent.succeededpayment_intent.payment_failedsubscription_schedule.createdsubscription_schedule.updatedsubscription_schedule.canceledinvoice.paidinvoice.payment_failedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deleted
Lokal geliştirme
Stripe CLI'yı kullan:
stripe listen --forward-to localhost:4200/api/v1/webhooks/billing/stripeCLI geçici bir whsec_... yazdırır — onu lokal .env'ine yapıştır ve API'yi yeniden başlat.
Doğrulama
Sosyabot her gelen webhook'u, STRIPE_WEBHOOK_SECRET kullanarak ham body'ye karşı HMAC-SHA256 imzasını hesaplayarak doğrular. Doğrulama başarısızlıkları 400 invalid signature döner ve etkinlik düşürülür — Stripe standart backoff programına göre tekrar deneyecektir.
Secret'ı ortamlar arasında yeniden kullanma
Her Stripe ortamı (test modu, canlı mod, CLI listener) farklı bir imzalama secret'ına sahiptir. STRIPE_WEBHOOK_SECRET'ı döndürmeden ortamları döndürmek her etkinliği sessizce 400 yapacaktır.