Webhook signature mismatch
Telegram (`X-Telegram-Bot-Api-Secret-Token`)
ImpactBot проверяет токен из header. Если не сходится:
- Re-set webhook: Настройки → Channels → Reset webhook
- ImpactBot сгенерирует новый secret и установит в Telegram
- Проверка снова OK
Meta (Facebook/Instagram/WhatsApp) `x-hub-signature-256`
HMAC-SHA256 над body с App Secret.
Если падает:
- Проверьте App Secret в Настройки → Channels
- Должен совпадать с тем что в Meta dashboard
- Спецсимволы в Secret обычно надо escape
Stripe `stripe-signature`
Format: `t={timestamp},v1={signature}`. Webhook Secret нужен.
Если fails:
- Настройки → Payments → Stripe → Webhook Secret (`whsec_...`)
- Должен совпадать с endpoint в Stripe dashboard
- Если используете Stripe CLI для testing — используется отдельный secret
YooKassa
YooKassa подписывает через basic auth: `shopId:secretKey`. Проверяется в middleware.
Generic verifier
Подписи всех провайдеров проверяет один общий модуль на стороне API — правила и коды ответов одинаковые для любого платёжного провайдера.