2. Уведомление об оплате счетов


Уведомления о платеже отправляются только по протоколу HTTPS. Сертификат должен быть выдан доверенным центром сертификации (напр., Comodo, Verisign, Thawte и т.п.)

Уведомление представляет собой входящий POST-запрос на notify_url, предоставляемый мерчантом.

Тело запроса содержит JSON-данные счета:

{
    "status": "DECLINED",
    "transaction_id": "123456789",
    "bill_id": 70440,
    "signature": "1f6df66ecf41280a6c66fc2076db19862dcc0f4c6bd76a7ab811feddc05ae2d8"
}

После получения входящего уведомления необходимо проверить подлинность уведомления. Для этого используется механизм цифровой подписи. Подпись уведомления отправляется в параметре "signature".

Алгоритм проверки подписи:

Объединить значения параметров в одну строку с разделителем ":" parameters = {transaction_id}:{bill_id}:{status}
Вычислить хэш алгоритмом хэширования sha256: signature = sha256( sha256( {secret_token}:{merchant_id} ):{parameters} )