Общий чек-лист
1. URL правильный?
Сравни с правильным форматом:
- СДЭК:
https://<your-domain>/shops/{shop_id}/delivery/webhook/cdek - МойСклад:
https://<your-domain>/api/v1/sync/moysklad/webhook - Т-Банк:
https://vitrina-ai.ru/api/v1/shops/{shop_id}/payments/webhook/tinkoff - ЮKassa:
https://vitrina-ai.ru/api/v1/shops/{shop_id}/payments/webhook/yukassa
2. SSL валиден?
curl -I https://<your-domain>/health
Должен вернуть 200 OK, не «certificate expired».
3. Webhook зарегистрирован у провайдера?
- СДЭК: ЛК → Webhook'и → должен быть в списке
- МС: Настройки → Webhook'и → должен быть активен
- Т-Банк: в Terminal настройках → Notification URL
4. Provider видит наш ответ?
Мы отвечаем 200 OK в течение 5 секунд. Если дольше — провайдер считает ошибкой и пытается снова (и снова).
В логах провайдера — статус доставки webhook.
5. IP Whitelist (если есть)
Некоторые провайдеры требуют добавить их IP в whitelist. Наш nginx не блокирует — возможно в firewall выше.
Специфичные проблемы
Т-Банк webhook упорно валится
Проверь NotificationURL — должен быть именно https://vitrina-ai.ru/api/v1/shops/{shop_id}/payments/webhook/tinkoff с правильным shop_id.
МС webhook зарегистрирован но не срабатывает
Возможно ты создал его руками через API без scope. Удали, подключи МС заново через админку — создастся правильный.