Skip to content

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.succeeded
  • payment_intent.payment_failed
  • subscription_schedule.created
  • subscription_schedule.updated
  • subscription_schedule.canceled
  • invoice.paid
  • invoice.payment_failed
  • customer.subscription.created
  • customer.subscription.updated
  • customer.subscription.deleted

Lokal geliştirme

Stripe CLI'yı kullan:

bash
stripe listen --forward-to localhost:4200/api/v1/webhooks/billing/stripe

CLI 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.

İlgili