Входящие уведомления
Last updated
Last updated
Если вы хотите отслеживать состояние объектов оплаты, вы можете подписаться на уведомления (webhook, callback) о событиях. Уведомления пригодятся в тех случаях, когда объект API изменяется без вашего участия. Вместо того, чтобы всё это время периодически отправлять GET-запросы, чтобы узнать статус платежа, вы можете просто дожидаться уведомления от Сам.Эквайринг.
Событие в Сам.Эквайринг — изменение статуса объекта. Как только произойдет событие, на которое вы подписались, вам придет уведомление. В нём будут все данные об объекте на момент, когда его статус изменился.
На данный момент в Сам.Эквайринг реализованы следующие события:
payment.succeeded
платеж перешел в статус succeeded
Уведомления высылаются в виде POST-запроса на адрес, который был указан в параметрах магазина
Если хотите получать уведомления от Сам.Эквайринг, нужно подписаться на них в личном кабинете. Для этого в разделе Параметры магазина укажите URL для уведомлений (Callback уведомления) и события, которые хотите отслеживать.
Когда получите уведомление, проверьте его подлинность, например по полю signature и IP-адресу. Это поможет защититься от атак, основанных на поддельных уведомлениях.
Входящее уведомление можно проверитьс помощью поля signature. Для формирования подписи уведомления используются параметры:
order_id;
amount;
api_key Секретный ключ из
параметров магазина
.
Никому не сообщайте секретный ключ. Он не должен фигурировать в запросе, в Javascript или внутри HTML-страницы. Секретный ключ не должен быть виден в браузере магазина. Если есть подозрение, что секретный ключ скомпрометирован, тогда сгенерируйте новый ключ в личном кабинете.
От полученной строки вычисляется хэш по алгоритму SHA-256, это значение можно сравнить с полем signature.
Пример:
Проверьте IP-адрес, с которого пришло уведомление. Сам.Эквайринг может присылать уведомления только с IP-адресов указанных ниже:
Уточнение для PHP