Контрольная подпись данных о платеже
Контрольная подпись данных о платеже позволяет продавцу проверять как источник
данных, так и целостность данных, переданных на Result URL через "Форму
оповещения о платеже".
При формировании контрольной подписи сервис Paymer Merchant "склеивает"
значения полей, передаваемых "Формой оповещения о платеже", в одну
строку в следующем порядке:
-
Ид. мерчанта (магазина) продавца (PM_PAYMERCH_ID);
-
Сумма платежа (PM_PAYMENT_AMOUNT);
-
Тип суммы платежа (PM_PAYMENT_ATYPE);
-
Внутренний номер покупки продавца (PM_PAYMENT_NO);
-
Флаг тестового режима (PM_PAYTEST_MODE);
-
Внутренний номер платежа в системе Paymer (PM_PAYSYS_TRANS_NO);
-
Дата и время выполнения платежа (PM_PAYSYS_TRANS_DATE);
-
Secret Key (PM_PAYSECRET_KEY);
Для формирования контрольной подписи используется алгоритм
MD5. При использовании MD5 формируется бинарная последовательность из 16
байт, передаваемых в параметре PM_PAYHASH в виде 32-х
шестнадцатеричных цифр, в соответствии с широко распространенным
алгоритмом Message Digest 5 (MD5).
Проверка контрольной подписи
Проверка контрольной подписи может выполняться как в "ручном" режиме на
соответствующей странице этого сайта, так и в "автоматическом" режиме на сайте
продавца по следующему алгоритму:
-
MD5
-
Сформируйте строку путем "склеивания" значений параметров, полученных через "Форму
оповещения о платеже", в том же порядке, что и при формировании
контрольной подписи в сервисе Paymer Merchant.
Помните, что при формировании подписи используется Secret Key.
-
Вычислите MD5 полученной строки.
-
Сравните полученное значение с значением параметра "PM_PAYHASH",
полученного через "Форму оповещения о платеже".
Если сформированная подпись совпадает с полученной через "Форму оповещения
о платеже", данные не изменены, и источник данных действительно сервис
Paymer Merchant.
-
Если проверка дала положительный результат, данные не были изменены, и источник
данных действительно сервис Paymer Merchant.
Несмотря на то, что покупатель не может изменить сумму платежа,
продавцу рекомендуется контролировать информацию о сумме платежа, передаваемую
через параметр " PM_PAYMENT_AMOUNT".
Paymer Merchant позволяет проводить платежи в тестовом режиме для
проверки работы веб-сайта продавца. Режим обработки платежа в сервисе
определяется установкой параметра "Тестовый/Рабочий режимы".
Дополнительно информация о текущем режиме передается в параметре "PM_PAYTEST_MODE
".
В тестовом режиме реальный платеж не проводится, но сервис посылает данные,
имитируя выполнение платежа.
|