Webhook signature mismatch

Telegram (`X-Telegram-Bot-Api-Secret-Token`)

ImpactBot проверяет токен из header. Если не сходится:

1. Re-set webhook: Settings → Channels → Reset webhook 2. ImpactBot сгенерирует новый secret и установит в Telegram 3. Проверка снова OK

Meta (Facebook/Instagram/WhatsApp) `x-hub-signature-256`

HMAC-SHA256 над body с App Secret.

Если падает:

  • Проверьте App Secret в Settings → Channels
  • Должен совпадать с тем что в Meta dashboard
  • Спецсимволы в Secret обычно надо escape

Stripe `stripe-signature`

Format: `t={timestamp},v1={signature}`. Webhook Secret нужен.

Если fails:

  • Settings → Payments → Stripe → Webhook Secret (`whsec_...`)
  • Должен совпадать с endpoint в Stripe dashboard
  • Если используете Stripe CLI для testing — используется отдельный secret

YooKassa

YooKassa подписывает через basic auth: `shopId:secretKey`. Проверяется в middleware.

Generic verifier

Подписи всех провайдеров проверяет один общий модуль на стороне API — правила и коды ответов одинаковые для любого платёжного провайдера.