Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: dimonous от 13 Марта 2019, 16:57:49



Название: Проблемы с терминальными модулями
Отправлено: dimonous от 13 Марта 2019, 16:57:49
Обновлял биллинг с целью получить фичу смс-уведомлений. Заодно решил взять последние версии модулей "platezhka" и "nonstop24".

Вот результат:

================================================================================
13.03.2019 16:31:23 [nonstop24.pl(90)]
ip: 212.42.93.154
13.03.2019 16:31:23 [nonstop24.pl(109) Db.pm::line(143) Db.pm::sql(112) Db.pm::connect(94)]
Connecting to DBI:mysql:database=nodeny;host=localhost;port=3306;mysql_connect_timeout=5 : 0.01318 sec
13.03.2019 16:31:23 [nonstop24.pl(109) Db.pm::line(143) Db.pm::sql(133) Db.pm::sql(320)]
SELECT *, UNIX_TIMESTAMP() AS t FROM config ORDER BY time DESC LIMIT 1
Строк: 1. Время выполнения sql: 0.0006 сек
13.03.2019 16:31:23 [nonstop24.pl(160)]
Received data:
  ACT          = '4'
  PAY_ACCOUNT  = '50049'
  PAY_AMOUNT   = '8.00'
  PAY_ID       = '00000000-0000-0000-0000-000314061740'
  RECEIPT_NUM  = '314061740'
  SERVICE_ID   = '1'
  SIGN         = '578435585A819FE9981781C76E45657E'
  TRADE_POINT  = '8750000'
13.03.2019 16:31:23 [nonstop24.pl(171)]
for sign: 4_50049_1_00000000-0000-0000-0000-000314061740_8.00
13.03.2019 16:31:23 [nonstop24.pl(177)]
  local_sign   = 'F31DCBB0D6A37DB7F05CD7AE73D2E804'
  remote_sign  = '578435585A819FE9981781C76E45657E'
13.03.2019 16:31:23 [nonstop24.pl(181) nonstop24.pl::Error_exit(83)]
Wrong SIGN
13.03.2019 16:31:23 [nonstop24.pl(181) nonstop24.pl::Error_exit(84) nonstop24.pl::Save_Debug(77)]
Elapsed time: 0.029849 sec

Вернул из бекапа файлы cgi-bin/*, в течение часа платежи провелись.

Какая может біть причина?


Название: Re: Проблемы с терминальными модулями
Отправлено: tom от 13 Марта 2019, 17:12:05
Гадаю потрібно налаштувати модуль.
 Wrong SIGN

Подивітьс по коду як формується підпис..


Название: Re: Проблемы с терминальными модулями
Отправлено: dimonous от 13 Марта 2019, 17:54:54
старый модуль:
$sign = uc md5_hex(join '_', $F{ACT}, $pay_account, $F{SERVICE_ID}, $F{PAY_ID}, $cfg::nonstop24_secret);

новый:
my @for_sign = ($F{ACT}, $pay_account, $F{SERVICE_ID}, $F{PAY_ID});
push @for_sign, $F{PAY_AMOUNT} if $act eq '4';
my $for_sign = join '_', @for_sign;
debug('for sign:', $for_sign);
my $sign = uc md5_hex( $for_sign . '_' . $cfg::nonstop24_secret );

Что здесь нужно настроить?


Название: Re: Проблемы с терминальными модулями
Отправлено: tom от 13 Марта 2019, 18:40:42
Перевірте в веб налаштуванні модуля, чи вказано вірно Секретне слово


Название: Re: Проблемы с терминальными модулями
Отправлено: dimonous от 13 Марта 2019, 19:11:23
Звичайно воно вказано вірно. Стара версія cgi-скрипта працює, з тим же самим секретним словом.


Название: Re: Проблемы с терминальными модулями
Отправлено: dimonous от 13 Марта 2019, 19:16:14
Але рядок:

push @for_sign, $F{PAY_AMOUNT} if $act eq '4';

є новим. Nonstop24 це не платіжна система вже давно, а протокол. Термінали - "нащадки" системи нонстоп24 я так розумію не використовують алгоритм, реалізований рядком.
На терміналі лого ibox.ua якщо цікаво.


Название: Re: Проблемы с терминальными модулями
Отправлено: tom от 13 Марта 2019, 20:49:15
Використовую з nonstop та 2click - працює


Название: Re: Проблемы с терминальными модулями
Отправлено: tom от 13 Марта 2019, 20:53:30
Але рядок:

push @for_sign, $F{PAY_AMOUNT} if $act eq '4';

є новим. Nonstop24 це не платіжна система вже давно, а протокол. Термінали - "нащадки" системи нонстоп24 я так розумію не використовують алгоритм, реалізований рядком.
На терміналі лого ibox.ua якщо цікаво.
Закоментуйте цей рядок. Можливо додаєеться в підпис цей параметр і тому не співпадає