Сообщение об ошибке

Deprecated function: Function create_function() is deprecated в функции GeSHi->_optimize_regexp_list_tokens_to_string() (строка 4698 в файле /var/www/promoan/3wt.promo.org.il/sites/all/libraries/geshi/geshi.php).

инвалид_сигнатура

7 сообщений / 0 новое
Последняя публикация
Олег Кныш
Аватар пользователя Олег Кныш
инвалид_сигнатура

Большая просьба! Опубликуйте пожалуйста результат работы функции

<?php
join
('',compact(
     
'private_key',
     
'amount',
     
'currency',
     
'merchant_id',
     
'order_id',
     
'type',
     
'description',
     
'return_url',
     
'server_url'
))
?>

Пишу на C#, аналога compact не могу подобрать и не могу разобраться какой вид должна иметь строка для хеширования. Постоянно получаю "инвалид_сигнатуру". Заранее благодарен!

Олег Кныш
Аватар пользователя Олег Кныш
С предыдущим вопросом

Разобрал. Строка просто формируется как privat_key + amount + currency + public_key + order_id + type + description + result_url + server_url
У меня возникла следующая проблема: я взял Ваш код, подставил свои private_key и public_key и получил в ответ "инвалид_сигнатура".
В чем может быть проблема?

WT George
Аватар пользователя WT George
А

А

  • $merchant_id //ID мерчанта Он же public_key
  • и $private_key //Подпись мерчанта

точно ваши? В аккаунте ликпэя у Вас все правильно настроено?

WT George
Аватар пользователя WT George
Если вы называете переменные

Если вы называете переменные мерчанта как $order_id и $merchant_id перед тем как сформировать $signature
эти же названия используете при формировании $signature =
?
API LiqPay 2.0

Олег Кныш
Аватар пользователя Олег Кныш
$merchant_id и $private_key

$merchant_id и $private_key точно мои. Я взял Ваш код и заменил только в $merchant_id на свой public_key и в $private_key на свой код.
И получаю "invalid_signature". Что может быть не так?

WT George
Аватар пользователя WT George
Олег, ну как разобрались с

Олег, ну как разобрались с invalid_signature?

Олег Кныш
Аватар пользователя Олег Кныш
Да. Спасибо.

Да. Спасибо.
Для тех кто пишет на C# (может кому то пригодится):

signature = HashBank(privateKey + amount + currency + public_key + order_id + type + description + result_url + server_url);
 
private string HashBank(string str)
  {
      byte[] hash;
      byte[] byteStr = Encoding.UTF8.GetBytes(str);
      using (var sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider())
          hash = sha1.ComputeHash(byteStr);
      string strpay = Convert.ToBase64String(hash);
      return strpay;
  }
Тема заблокирована