Рекомендации
| Что | Почему |
|---|---|
Дедуплицируйте уведомления по заголовку X-Event-Id (он же RequestID) | Между попытками доставки он не меняется, а номер попытки лежит отдельно в X-Event-Attempt. На повтор отвечайте 200: ошибка на дубль заставит песочницу повторять снова |
| Проверяйте подпись входящего уведомления | Она приходит в теле (Now и Signature) и считается тем же вашим секретом. Как и у разовых платежей, подписывается метка времени, а не тело, — целостность payload она не гарантирует |
| Не полагайтесь на коллбек как на единственный источник состояния | После седьмой неуспешной попытки доставка прекращается — дальше расписание вышло бы за минутное окно песочницы; статус всегда доступен через GetSubscriptionStatus |
| Держите обработчик быстрым | Отвечайте 2xx сразу, тяжёлую работу уносите в очередь: таймаут считается неуспехом, редиректы не выполняются |
Храните SubscriptionID у себя | В боевом сервисе именно он идентифицирует подписку во всех последующих вызовах |
| Не используйте демо-доступы за пределами песочницы | Проект песочницы и его секрет общие для всех, кто открыл эту страницу |