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

Главная категория => Модули NodenyPlus => Тема начата: Efendy от 16 Августа 2013, 11:50:25



Название: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 16 Августа 2013, 11:50:25
Закоммитил в папку test модуль Nonstop24. Необходимо скопировать в /cgi-bin/ и обязательно изменить пароль в переменной $SECRET в начале файла.

Внимание: в бою у меня нет возможности тестировать, поэтому я тестировал только по имеющейся документации. Буду благодарен если кто отпишется по ошибкам (надеюсь их нет) или доработкам. Хотя бы за то, что я выложил его бесплатно

В папке /usr/local/nodeny/logs появятся 2 лога для nonstop24 - для ошибок и успешных операций.


Название: Re: Nonstop24
Отправлено: boomer666 от 16 Августа 2013, 14:11:56
Закоммитил в папку test модуль Nonstop24. Необходимо скопировать в /cgi-bin/ и обязательно изменить пароль в переменной $SECRET в начале файла.
/quote]
пожалуйста можно чуть подробней как его установить?


Название: Re: Nonstop24
Отправлено: Efendy от 16 Августа 2013, 14:32:23
копируем в папку cgi-bin
даем права 777 (нормальный админ даст правильные, а для других и это сойдет)


Название: Re: Nonstop24
Отправлено: Efendy от 18 Августа 2013, 11:09:03
К сожалению пока вы меня подгоняли, сами немного тупили. Не тупил один только elite, который подогнал не только документацию, но и урл для тестирования. В общем, модуль оказался с небольшими ошибками, я их исправил, усовершенствовал сам модуль и сделал платным. Как всегда за копейки: 80 грн. elite, как показатель нетормознутости, получает награду в виде бесплатного модуля.

Как установить и проверить: https://app.nodeny-plus.com.ua/docs/work/modules.html#nonstop24


Название: Re: Nonstop24
Отправлено: boomer666 от 18 Августа 2013, 11:51:53
спасибо)


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Revizor от 18 Марта 2017, 22:53:01
Народ, нонстоп стал теперь 2click и они у себя поменяли методы, модуль будет переделываться или с нуля под 2click сразу?


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: kosmich от 12 Июня 2017, 14:30:02
Доброго времени всем.
2Revizor если не ошибаюсь, 2click  это только проверка протокола взаимодействия.

На этапе прохождения тестирования протокола взаимодействия h t t p s ://protocol.2click.money act4 не проходит.
Разработчик: по коду подпись формируется так: md5(ACT + '_' + PAY_ACCOUNT + '_' +SERVICE_ID  + '_' + PAY_ID + '_' + секретный ключ)
ТП нонстопа говорит: signStr = ACT+”_”+PAY_ACCOUNT+”_”+SERVICE_ID+”_”+PAY_ID+”_”+PAY_AMOUNT+”_”+SECRET
ТП нонстопа говорит что нет парамера: PAY_AMOUNT

Модуль куплен за деньги, не совсем понятно кто виноват и что делать, для решения вопроса.



Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 12 Июня 2017, 19:40:18
Кто виноват? Вот, например, я беру доку нонстопа, которую нашел на сайте Абилса :) http://abills.net.ua/wiki/lib/exe/fetch.php/abills:docs:modules:paysys:24nonstop_protocol_for_providers_service_2.20.pdf

И что я там вижу:

Цитировать
Sign=MD5(ACT+”_”+ PAY_ACCOUNT+”_”+
SERVICE_ID+”_”+PAY_ID+”_”+SECRET)

И где здесь PAY_AMOUNT?

Понятно, что криворукие создатели протокола не подумали, что можно перехватить запрос и подсунуть любую сумму пополнения, тока можно ж было как-то тебе об этом сообщить, а не падать на мороз.

Вот как в коде считается подпись:

Код:
my $sign = uc md5_hex(join '_', $F{ACT}, $pay_account, $F{SERVICE_ID}, $F{PAY_ID}, $cfg::nonstop24_secret);

Думаю, так должно сработать:

Код:
my $sign = uc md5_hex(join '_', $F{ACT}, $pay_account, $F{SERVICE_ID}, $F{PAY_ID}, $F{PAY_AMOUNT}, $cfg::nonstop24_secret);


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: kosmich от 13 Июня 2017, 09:31:38
Кто виноват? Вот, например, я беру доку нонстопа, которую нашел на сайте Абилса :) h t t p://abills.net.ua/wiki/lib/exe/fetch.php/abills:docs:modules:paysys:24nonstop_protocol_for_providers_service_2.20.pdf
Зачем нам Абиллс :)
Есть оригинальная дока h t t p s://protocol.2click.money/Content/Documents/2click_protocol_for_providers_service%202.30.pdf
Спасибо, проверю, отпишусь.


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 13 Июня 2017, 10:15:46
Видимо гугл считает, что там более оригинальная)


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: kosmich от 14 Июня 2017, 11:17:40
Изменил, теперь на первом действии ошибка 101.
Код:
11:10:01 [nonstop24.pl(107) 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.009216 sec
14.06.2017 11:10:01 [nonstop24.pl(107) 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.0002 сек
14.06.2017 11:10:01 [nonstop24.pl(158)]
Received data:
  ACT          = '1'
  PAY_ACCOUNT  = '56898'
  PAY_ID       = '60FEBDE7-D5C1-42D4-888D-83E93584BE61'
  SERVICE_ID   = 'Internet'
  SIGN         = '6128640FEEE98C140CE0D9E465AF288C'
  TRADE_POINT  = '1234'
14.06.2017 11:10:01 [nonstop24.pl(173)]
  local_sign   = '7FC0D7FBE3B0FF99DF9AAF23917DEA63'
  remote_sign  = '6128640FEEE98C140CE0D9E465AF288C'
14.06.2017 11:10:01 [nonstop24.pl(174) nonstop24.pl::Error_exit(81)]
Wrong SIGN
14.06.2017 11:10:01 [nonstop24.pl(174) nonstop24.pl::Error_exit(82) nonstop24.pl::Save_Debug(75)]
Elapsed time: 0.018982 se

Что еще необходимо показать ?
Если необходимо могу организовать доступ для прохождения/проверки тестового протокола.


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 14 Июня 2017, 11:20:07
Если необходимо могу организовать доступ для прохождения/проверки тестового протокола.
это неплохо было бы. Свяжись с Николаем - скайп parawoz2004 - передай эту инфу, плз


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 16 Июня 2017, 07:50:31
Скачай с личного кабинета модуль, должно работать


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: kosmich от 19 Июня 2017, 15:04:37
Скачай с личного кабинета модуль, должно работать
Скачал работает. Спасибо.
По факту 24ке нужны этапы(действия) 1,4,7. Пройдены успешно.

Но есть еще и "финальная проверка" которую не удалось пройти.
ТП 24ки что то мямлит по этому поводу, доступа к логам странички тестирования сейчас у них нет.
Тот у кого есть доступ к логам, его сейчас нет и будет не скоро.
Эти действия 3 и 6 необходимы для проверки если платежка пришлет какой то бред, или абон бред впишет. Хотя если бред вписать уже на первом действии абона в ошибку отправит.
В финальном тесте три поля, идентификатор, аккаунт существующий, аккаунт не существующий и кнопка "Финальный тест"


Заполнил все три поля в итоге такой результат.
Код:
Идентификатор Товара 
Internet
Аккаунт (номер телефона и т.п.)
98
Не существующий аккаунт
10598
Финальный тест
01. Акт1, Акт7, Акт4, Акт7
02. Акт7 на несуществующую транзакцию (должно ответить "-10 Транзакцию не найдено")
3. Акт4 на несуществующую транзакцию (должно ответить "-101 Параметры запроса не корректны. Обратитесь к администратору.")
Запрос вернул StatusCode 22, ожидалось -101
04. Акт1 с pay_account "правильный" (Найти из истории транзакций), потом с этим pay_id сделать Акт4 но подставить не правильный pay_account (должно ответить "-40 Клиента не найдено" )
05. Передача Акт1 с неправильно подписью (должно ответить "-101 Параметры запроса не корректны. Обратитесь к администратору.")
6. Сделать Акт1 с pay_id который уже был в предыдущих транзакция (должно ответить "-100 В биллинговой системе найдено более одного платежа c данным Pay_id")
Запрос вернул StatusCode 21, ожидалось -100


Сделать Акт1 с pay_id который уже был в предыдущих транзакция - этот акт1 с pay_id со странички тестирования не сделаешь. Зачем тогда это требовать выполнять в "Финальном тесте" ?
Его можно выполнить запросом, подставив необходимые данные. Страничка тестирования для этого не нужна.
аст4 не пройти, если не пройдеш перед этим аст1, с неправильным pay_account отвечает -40 Клиента не найдено.
Передача Акт1 с неправильно подписью - так и отвечает, "-101 Параметры запроса не корректны. Обратитесь к администратору."
Акт7 на несуществующую транзакцию - ничего не отвечает, потому что не пройдя 1 и 4, не получишь 7.
Закономерный вопрос, нахера нужен "Финальный тест" ? - непонятно.


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 19 Июня 2017, 15:36:45
У меня финальный тест проходил. Вообще можешь поиграться с таким участком кода:

Код:
my $pay_account = $act =~ /^(1|4)$/? $F{PAY_ACCOUNT} : '';
my @for_sign = ($F{ACT}, $pay_account, $F{SERVICE_ID}, $F{PAY_ID});

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

Это расшифровуется примерно так:
1-я строка: если act равен 1 или 4, то  в переменную $pay_account записать полученный PAY_ACCOUNT иначе ничего (пустая строка)
2-я строка: данные для подписи последовательно: ACT, pay_account, SERVICE_ID, PAY_ID
3-я строка: если act = 4, то к данным для подписи добавить PAY_AMOUNT

что интересно, по-моему при act=1 PAY_ACCOUNT не передается и вместо того, чтобы НЕ добавлять этот параметр, добавляется пустая строка (согласно первому правилу). А подпись по их доке склеивается символом подчеркивания. В итоге, в склеенной строке идет 2 подряд подчеркивания. При этом act=1 работает. А с PAY_AMOUNT уже такое не катит - при act=1 вместо него не нужно подсовывать пустую строку. Короче, какой-то у них корявый протокол, видно, что на ходу лампичили


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Windows от 18 Июля 2017, 16:22:18
Всем привет! Так в итоге получилось разобраться? Вот поставили задачу подключиться к терминалам 2click. Модуль 24нонстоп подходит для них?


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: gudwin от 18 Июля 2017, 19:39:21
А вы смотрели доку на данный сервис, какой они протокол используют? Или киньте ссылку на доку их, потому что на сайте не нашел


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Windows от 18 Июля 2017, 20:14:54
А вы смотрели доку на данный сервис, какой они протокол используют? Или киньте ссылку на доку их, потому что на сайте не нашел

хттпс://protocol 2click money/ не дает ссылку опубликовать!

Там нужно залогиниться.Я свой логин и пароль скинул Вам в личку для проверки.Спасибо!


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: kosmich от 30 Июля 2017, 14:09:17
Всем привет! Так в итоге получилось разобраться? Вот поставили задачу подключиться к терминалам 2click. Модуль 24нонстоп подходит для них?
Да, разобрались. Точнее после вмешательства Станислава и допиливания, платежка взлетела, хотя и какие то мелочи остались, но платежка сказала можно и без них.
Сошлись с платежкой на "и так сойдет"  ;D


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: md5 от 23 Января 2020, 15:21:59
Если необходимо могу организовать доступ для прохождения/проверки тестового протокола.
это неплохо было бы. Свяжись с Николаем - скайп parawoz2004 - передай эту инфу, плз


так как проблему решили ? у меня такая же ситуация


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: md5 от 24 Января 2020, 11:02:15
Лог от 24 ностоп

Код:
Start Log, input parameters: 

Date of testing : (2020-01-24 10:51:16)
------------------------------------------------------
1_103150_81_0000-000-00123666666_H5F9PCPFqBge6rmeFbx0ZwmOadexTFJD
------------------------------------------------------
------------------------------------------------------
(10:51:16) Created Query:
https://................/nonstop24.pl?ACT=1&PAY_ACCOUNT=103150&SERVICE_ID=81&PAY_ID=0000-000-00123666666&TRADE_POINT=familyBank&SIGN=0D10C26A95EA6580CB9B9933CF6422B6
------------------------------------------------------
(10:51:16) Response:
++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?><pay-response> <name>Тест</name> <account>103150</account> <balance>-9.59</balance> <max_amount>5000</max_amount> <min_amount>50</min_amount> <service_id>81</service_id> <status_code>21</status_code> <time_stamp>24.01.2020 10:52:25</time_stamp> </pay-response>
++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 Payment is allowed.
------------------------------------------------------
------------------------------------------------------
4_103150_81_0000-000-00123666666_H5F9PCPFqBge6rmeFbx0ZwmOadexTFJD
------------------------------------------------------
(10:51:16) Created Query:
------------------------------------------------------
https://.................../nonstop24.pl?ACT=4&PAY_ACCOUNT=103150&PAY_AMOUNT=4.00&RECEIPT_NUM=3568910&SERVICE_ID=81&PAY_ID=0000-000-00123666666&TRADE_POINT=familyBank&SIGN=DC9D87A8CA69F82DF54DEEB75A001EE9
------------------------------------------------------
(10:51:16) Response:
++++++++++++++++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?><pay-response> <status_code>-101</status_code> <time_stamp>24.01.2020 10:52:25</time_stamp> </pay-response>
++++++++++++++++++++++++++++++++++++++++++++++++++++++
-101 Incorrect query parameters. Contact your administrator!
------------------------------------------------------
Payment is unsuccess. Test Failed.


Лог на сервере:


Код:
24.01.2020 10:52:25 [nonstop24.pl(90)]
ip: 212.42.94.154
24.01.2020 10:52:25 [nonstop24.pl(109) Db.pm::line(143) Db.pm::sql(112) Db.pm::connect(94)]
Connecting to DBI:mysql:database=bill;host=localhost;port=3306;mysql_connect_timeout=5 : 0.02171 sec
24.01.2020 10:52:25 [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.0005 ▒.ек
24.01.2020 10:52:25 [nonstop24.pl(160)]
Received data:
  ACT          = '4'
  PAY_ACCOUNT  = '103150'
  PAY_AMOUNT   = '4.00'
  PAY_ID       = '0000-000-00123666666'
  RECEIPT_NUM  = '3568910'
  SERVICE_ID   = '81'
  SIGN         = 'DC9D87A8CA69F82DF54DEEB75A001EE9'
  TRADE_POINT  = 'familyBank'
24.01.2020 10:52:25 [nonstop24.pl(171)]
for sign: 4_103150_81_0000-000-00123666666_4.00
24.01.2020 10:52:25 [nonstop24.pl(180)]
  local_sign   = '706329CFAE55177C2D96535918B305B3'
  remote_sign  = 'DC9D87A8CA69F82DF54DEEB75A001EE9'
24.01.2020 10:52:25 [nonstop24.pl(181) nonstop24.pl::Error_exit(83)]
Wrong SIGN
24.01.2020 10:52:25 [nonstop24.pl(181) nonstop24.pl::Error_exit(84) nonstop24.pl::Save_Debug(77)]
Elapsed time: 0.052247 sec


не совпадают контрольные суммы... как это исправить ????


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 24 Января 2020, 21:34:35
Видимо изменились параметры формирования подписи. Для ACT = 4 подпись сейчас формируется так:

Код:
MD5(ACT+”_”+ PAY_ACCOUNT+”_”+SERVICE_ID+”_”+PAY_ID+”_”+ PAY_AMOUNT + ”_” + пароль) 

они ничего не поменяли? можешь спросить в их техподдежке (при условии, что у тебя раньше работало и дело не в неправильном пароле)

 P.S. Кстати, вижу доку, где в подписи не участвует сумма платежа (PAY_AMOUNT) - лол, толку тогда от подписи, если можно подставить любую сумму. В общем, попробуй закомментировать (вначале поставить #) строку:

Код:
push @for_sign, $F{PAY_AMOUNT} if $act eq '4';


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: md5 от 24 Января 2020, 23:32:09
Вот такое он мне скинул...



Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 25 Января 2020, 00:03:14
Ну да, то, о чем я говорил. Видимо у них несколько версий протокола и тебе достался кривой без проверки суммы. Дилетанты


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: md5 от 25 Января 2020, 00:08:15
Я написал уже им что бы включили проверку...

Спасибо! Завтра проверю


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 03 Февраля 2020, 12:23:41
Я написал уже им что бы включили проверку...

Спасибо! Завтра проверю
Результат?


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 22 Апреля 2021, 12:52:50
для терминалов 2click какой модуль покупать? NonStop24 ?


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 23 Апреля 2021, 12:38:31
вот их протокол взаимодействия


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 23 Апреля 2021, 18:22:33
Прошелся по доке, вроде все соответсвует протоколу нонстоп 24


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 23 Апреля 2021, 18:53:02
спасибо за ответ, тогда будем брать


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 25 Мая 2021, 13:30:44
помогите пжл с некоторыми пунктами
по доке установки модуля - nodeny.com.ua/wiki/index.php/24nonStop нету некоторой инфы

1 нужно дать url. Они просят - //суперпуперпровайдер/cgi-bin/nonstop24.pl ?
2 что нужно выбрать из - get или post ?
3 какой Метод аутентификации?
4 Что вводит клиент ?
в файле /usr/local/www/apache24/cgi-bin/nonstop24.pl есть строка
Код:
my $account_field = 1; # 1: аккаунт - это логин клиента, 0: платежный код, 2: дополнительное поле
по умолчанию стоит логин, если подходит то указываем логин?
5 Алгоритм подписи (MD5 или SH1) ?
6 что такое Service Id ?


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 25 Мая 2021, 13:36:05
5 Алгоритм подписи (MD5 или SH1) ?
в файле /usr/local/www/apache24/cgi-bin/nonstop24.pl вначале есть
Цитировать
use strict;
use XML::Simple;
use Digest::MD5 qw(md5_hex);
use MIME::Base64;
use Time::localtime;
значит алгоритм выбираем MD5 ?


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 26 Мая 2021, 00:52:10
В доке написано
Цитировать
Service Id устанавливаем, например, в Internet.
видимо это параметр, который сам придумываешь. Возможно он нужен когда у провайдера несколько типов услуг (счетов) и клиент может выбрать.


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 26 Мая 2021, 10:32:59
В доке написано
Цитировать
Service Id устанавливаем, например, в Internet.
видимо это параметр, который сам придумываешь. Возможно он нужен когда у провайдера несколько типов услуг (счетов) и клиент может выбрать.
так и есть, спасибо за ответ, эмпирическим путем выяснил
Цитировать
1 нужно дать url. Они просят - //суперпуперпровайдер/cgi-bin/nonstop24.pl ?
здесь верно
Цитировать
2 что нужно выбрать из - get или post ?
выбираем get
Цитировать
3 какой Метод аутентификации?
пишем что нету
Цитировать
4 Что вводит клиент ?
здесь можем выбрать логин, платежный код, или допполе, по умолчанию стоит логин
Цитировать
5 Алгоритм подписи (MD5 или SH1) ?
MD5


можно в доку добавить при желании


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 26 Мая 2021, 12:06:12
А как выглядит их "опросник" (я хочу именно их формулировки)? Я добавлю в доку


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 26 Мая 2021, 13:28:43
А как выглядит их "опросник" (я хочу именно их формулировки)? Я добавлю в доку
прикрепил


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: WideAreaNetwork от 26 Мая 2021, 17:16:33
так как нонстоп24 уже нету, то смените если не трудно названия на 2click, я вначале не хотел с ними работать так как модуля не было, а оказывается есть но название другое


Название: Re: Nonstop24 - терминалы 24nonstop.com.ua
Отправлено: Efendy от 26 Мая 2021, 21:24:53
так как нонстоп24 уже нету, то смените если не трудно названия на 2click, я вначале не хотел с ними работать так как модуля не было, а оказывается есть но название другое
ну, я наверное название модуля не буду менять, но в документации это отражу