Безопасность webhook
Проверка исходного тела, времени и ротации ключей.
Используйте HTTPS и ограничьте исходное тело запроса 256 КиБ. Проверяйте все подписанные поля и HMAC сравнением со сталым временем, отклоняйте время вне ±300 секунд и устраняйте дубли ID событий. Сохраняйте старые нескомпрометированные секреты по ID ключа, пока возможна повторная доставка старых событий. Полный пример проверки.
Используйте полную проверку подписи и проверку заказа. Проверяйте точные исходные байты до обработки JSON, подписанные тип и идентичность события; исключайте повторы и события, и выполнения заказа. Одна подпись не доказывает связь с нужным заказом.