Если вы получаете следующую ошибку:
Подпись к данным оплаты не прошла проверку
или
Не задана подпись к данным оплаты! Укажите параметр ZP_SIGN или удалите пароль инициализации магазина.
это означает что вы некорректно предаете параметр ZP_SIGN в вашей форме оплаты.
Параметр обеспечивает дополнительную защиту от подмены данных. Передавать параметр ZP_SIGN необходимо только если в настройках вашего магазина указан Пароль инициализации. Если вы оставите пустое поле на месте Пароля инициализации - данная ошибка пропадет.
Для того, чтобы убрать пароль инициализации в личном кабинете Z-Payment выберите меню Мои магазины и нажмите на кнопку уведомления напротив нужного магазина.
Если у вас в настройках пароль инициализации указан, то в форме оплаты обязательно должна передаваться корректно выссчитанная контрольная подпись ZP_SIGN
Для получения контрольной подписи нужно "склеить" значения полей, передаваемых "Формой запроса платежа", в одну строку в следующем порядке:
Из полученной строки вычисляется контрольная подпись алгоритмом Message Digest 5 (MD5), полученное значение должно представлять последовательность из 32-х шестнадцатеричных цифр.
В PHP для получения контрольной подписи используется параметр ZP_SIGN.
<?php
$LMI_PAYEE_PURSE = '00000'; //номер вашего магазина, указанный в личном кабинете (меню Мои магазины)
$LMI_PAYMENT_NO = 2; //номер счета в вашем магазине
$LMI_PAYMENT_AMOUNT = "10.00"; //сумма счета, с точностью до 2 знаков после точки!!
$initialization_password='12345'; //пароль инициализации, указанный в личном кабинете
$ZP_SIGN = md5($LMI_PAYEE_PURSE.$LMI_PAYMENT_NO.$LMI_PAYMENT_AMOUNT.$initialization_password);
?>
В платежной форме необходимо передать поле с именем ZP_SIGN
<form name='order' id='order' method='POST' action='https://z-payment.com/merchant.php'>
<input type='hidden' name='LMI_PAYEE_PURSE' value='<?php echo $LMI_PAYEE_PURSE ; ?>' />
<input type='hidden' name='LMI_PAYMENT_NO' value='<?php echo $LMI_PAYMENT_NO ; ?>' />
<input type='hidden' name='LMI_PAYMENT_AMOUNT' value='<?php echo $LMI_PAYMENT_AMOUNT; ?>' />
<input type='hidden' name='ZP_SIGN' value='<?php echo $ZP_SIGN ; ?>' />
<input type='submit' value='Заказать' />
</form>
« Назад