Формирование подписиЛюбые сообщения (запросы и ответы) между Firstpay и мерчантом подписываются. Для формирования подписи необходимо конкатенировать с разделителем
;• имя вызываемого скрипта (от последнего / до конца или ?)
• все поля сообщения в алфавитном порядке, включая случайную строку pg_salt, состоящую из произвольного количества цифр и латинских букв, при этом:
a. к вложенным тегам это правило применяется рекурсивно (только XML)
b. поля с одинаковыми именами берутся в том порядке, в котором они присутствуют в сообщении
• и платежный пароль
secret_key, который задается в настройках магазина и известен только мерчанту и Firstpay.
От полученной в результате конкатенации строки необходимо вычислить md5 и добавить в запрос или ответ в качестве дополнительного параметра
pg_sig. MD5 хэш записывается в виде шестнадцатеричной строки в нижнем регистре (32 символа).
Любая сторона может добавлять в запрос или ответ дополнительные параметры, не указанные в документации. Эти параметры также участвуют в вычислении подписи. Сообщение не подписывается, и соответственно поля
pg_salt и
pg_sig отсутствуют только в одном случае – когда Firstpay не смог идентифицировать мерчанта и поэтому не знает его secret_key. В таком случае поле
pg_error_code (числовой код ошибки) принимает значение 101. Полный список возможных значений поля
pg_error_code см. в разделе Справочник кодов ошибок.
Есть два варианта использования метода:
• Прямая передача данных от мерчанта в Firstpay
• Передача данных через браузер пользователя в Firstpay
При прямой передаче данных от мерчанта в Firstpay, мерчант должен посылать данные на init_payment.php.
При передаче данных через браузер пользователя в Firstpay, мерчант должен направить пользователя с данными на payment.php.
Можно передавать произвольные дополнительные параметры, имена которых не начинаются на pg_. Все эти параметры будут переданы на pg_check_url и pg_result_url.
Имена дополнительных параметров мерчанта должны быть уникальны.
После получение параметра pg_redirect_url пользователя перенаправляют на платежную страницу, где плательщик завершает платеж.
В случае успеха пользователь будет перенаправлен на страницу оплаты.
В случае если мерчантом переданы не все параметры, необходимые для создания платежной транзакции (платежная система, телефон пользователя и параметры, необходимые для выбранной платежной системы), они запрашиваются у пользователя на сайте http://firstpay.kz .