Вебхуки статуса оплаты счёта

Вебхуки Apiin присылают вашему сервису уведомления о том, что происходит с документом: создан ли счёт, изменился ли статус оплаты, подписан ли акт. Так вы реагируете на события мгновенно и не опрашиваете API в цикле.

Какие события отправляет Apiin

Apiin шлёт POST-уведомление на ваш URL при наступлении события. Основные типы событий — создание документа, смена статуса оплаты и смена статуса подписи. Их достаточно, чтобы держать вашу систему в актуальном состоянии без ручной сверки.

На событии оплаты особенно удобно строить автоматику: получили «оплачен» — открыли доступ к услуге; получили «акт подписан» — закрыли сделку. В Apiin для связки счёт↔акт это работает и внутри сервиса через автозакрытие.

  • Создание документа — счёт или акт выпущен
  • Смена статуса оплаты — частичная или полная оплата
  • Смена статуса подписи — акт подписан

HMAC-подпись и проверка

Каждое уведомление подписывается по HMAC секретом вашей интеграции. Ваш обработчик пересчитывает подпись по телу запроса и сравнивает с присланной: совпало — запрос действительно от Apiin, не совпало — отклоняете. Так вы защищаетесь от поддельных вызовов на ваш публичный URL.

Секрет храните на стороне сервера и никому не передавайте. Формат заголовка с подписью и пример проверки приведены в документации на /docs/api.

Как настроить и обработать вебхук

Укажите в интеграции URL, на который Apiin будет слать события, и подпишитесь на нужные типы. Обработчик должен быстро принять запрос, проверить HMAC-подпись и вернуть успешный ответ; тяжёлую логику выносите в фоновую обработку.

Проектируйте обработчик идемпотентным — одно и то же событие может прийти повторно, и повторная доставка не должна создавать дубли действий на вашей стороне.

Частые вопросы

Какие события можно получать?

Создание документа, смену статуса оплаты (частичная и полная) и смену статуса подписи акта. Этого хватает, чтобы синхронизировать вашу систему с Apiin.

Как убедиться, что вебхук пришёл от Apiin?

Проверьте HMAC-подпись: пересчитайте её по телу запроса своим секретом и сравните с присланной. При несовпадении запрос нужно отклонить.

Что делать, если событие пришло дважды?

Сделайте обработчик идемпотентным — реагируйте на событие один раз по его идентификатору. Повторная доставка тогда не создаст дублей.

Можно ли обойтись без вебхуков?

Да, статус оплаты доступен и через REST API запросом. Но вебхуки экономнее: вы получаете событие сразу, без периодического опроса.

Apiin

Выставьте счёт за пару минут — бесплатно

Счета и акты в PDF и Word, платёжный QR, отправка по ссылке. Для ИП, ООО и самозанятых.

Настроить вебхуки