Биллинговая система Nodeny
08 Мая 2024, 14:40:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
  Начало Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 5
1  Главная категория / Nodeny 50 / Re: Как поменять платежный код клиенту? : 01 Июля 2011, 17:25:13
Спасибо попробую. Правда смущает что в клиентской статистике 0 не написан. Както его туда дописать можно?
2  Главная категория / Nodeny 50 / Как поменять платежный код клиенту? : 01 Июля 2011, 17:09:02
Как поменять платежный код клиенту? Дело в том что у первых клиентов трехзначные платежные коды а терминал их не принимает. Подскажите пожалуйста как быть?
3  Главная категория / Разработка / Re: Платежные терминалы Smartpoint : 26 Апреля 2011, 09:05:48
О спасибо. Виноват недосмотрел искал Smartpoint...
4  Главная категория / Разработка / Re: Платежные терминалы Smartpoint : 26 Апреля 2011, 08:42:20
•   Сверка платежей
Поставщику услуг раз в сутки отправляется на email(указанный при подключении) реестр платежей в формате .csv.
Формат файла:

OrderId;PaymentId;ServiceId;Account;Amount;OrderDate;
11;7891123;223;4589687;45.50;2010-05-02T14:05:30;
12;4139874;497;3257879;5.00;2010-05-02T20:05:30;
14;5478877;544;1121458;15.00;2010-05-02T21:08:30;


 

•   Цифровая подпись
Для подписи запроса вы должны использовать все тело запроса с пустым тегом <Sign></Sign>:

Запрос:

<Request>
   <DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<Check>
<ServiceId>int</ServiceId>
<Account>string</Account>
</Check>
</Request>

Подпись: RSA1024(SHA1(Запрос))
 
Для проверки подписи используется аналогичная процедура:

Ответ:

<Response>
<StatusCode>int</StatusCode>
<StatusDetail>string</StatusDetail>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
</Response>

 

•   Схемы оплаты
•   Прямое пополнение
1 Проверка возможности платежа(проверка абонента)
<Request>
   <DateTime>2010-09-01T12:00:00</DateTime>
<Sign>94C8682CABCF1D…</Sign>
<Check>
<ServiceId>100</ServiceId>
<Account>12345678</Account>
</Check>
</Request>

<Response>
<StatusCode>0</StatusCode>
<StatusDetail>OK</StatusDetail>
<DateTime>2010-09-01T12:00:05</DateTime>
<Sign>47EDE8324D05CC1…</Sign>
<AccountInfo>
<Name>Иванов А.А.</Name>
<Address>ул. Садовая 5, кв. 16</Address>
<Balance>125.00</Balance>
</AccountInfo>
</Response>
Если проверка выполнена успешно переходим на шаг 2
2 Создание заказа
<Request>
   <DateTime>2010-09-01T12:00:10</DateTime>
<Sign>2EE9485D8747963E…</Sign>
<Payment>
<ServiceId>100</ServiceId>
<OrderId>11</OrderId>
<Account>12345678</Account>
<Amount>25.00</Amount>
</Payment>
</Request>

<Response>
<StatusCode>0</StatusCode>
<StatusDetail>Order Created</StatusDetail>
<DateTime>2010-09-01T12:00:15</DateTime>
<Sign>D3479BB615EFF…</Sign>
<PaymentId>145</PaymentId>
</Response>
В случае успеха переходим на подтверждение платежа.
3 Подтверждение заказа
<Request>
   <DateTime>2010-09-01T12:00:20</DateTime>
<Sign>615EFFD1D9E02BD…</Sign>
<Confirm>
   <PaymentId>145</PaymentId>
</Confirm>
</Request>

<Response>
<StatusCode>0</StatusCode>
<StatusDetail>Payment Confirmed</StatusDetail>
<DateTime>2010-09-01T12:00:25</DateTime>
<Sign>E4E54DD77C157F…</Sign>
   <OrderDate>2010-09-01T12:00:25</OrderDate>
</Response>
При подтверждении происходит списание средств со счета партнера. Если во время подтверждения произошол timeout – подтверждение может повторится, при этом должно возвращатся то же, что и в первый раз(OrderDate – при этом не изменяется).
 

•   Офлайновые платежи
•   Формат данных
Информацию о своих абонентах (если такая имеется) провайдер должен передавать в следующем формате:
<Clients>
<Client>
<Account>string</Account>
<AccountInfo>
<Name>string</Name>
<Address>string</ Address >

</AccountInfo>
</Client>

</ Clients>

Account – параметр, по которому осуществляется поиск в базе абонентов;
AссountInfo – любая информация о пользователе, необходимая, например, для вывода на терминале

Файл именуется как clients-304.xml, где 304 – номер сервиса (услуги), который сообщается провайдеру при заведении сервиса в системе.

 

•   Дополнительные параметры
•   Банковские реквизиты
Дополнительный параметр в операции Check. Возвращается провайдером, когда платежи на один сервис имеют разные банковские реквизиты.
<BankingDetails>
<Payee>
<Id>ЕГРПОУ или ИНН получателя</Id>
<Name>Название или имя получателя</Name>
<Bank>
<Name>Название банка получателя</Name>
<Mfo>МФО получателя</Mfo>
<Account>счет получателя</Account>
</Bank>
</Payee>
<Payer>
<Id>ЕГРПОУ или ИНН плательщика</Id>
<Name>Название или имя плательщика</Name>
<Bank>
<Name>Название банка плательщика</Name>
<Mfo>МФО плательщика</Mfo>
<Account>счет плательщика</Account>
</Bank>
</Payer>
<Narrative>
<Name>Назначение платежа в формате точно из договора</Name>
<Vat>20</Vat> <!--НДС, если не берется то 0-->
</Narrative>
</BankingDetails>
•   Оригинальный номер сервиса
Дополнительный параметр в операции Check, возвращается, если для данного пользователь сервис пополнения отличный от того, который указан в запросе(можно указывать только те сервиса, которые заведены у нас в системе). Это бывает необходимо в ситуациях когда например в терминале сервис один, а у нас в системе для каждого города или филиала заведен свой(разные договора, банковские реквизиты).  В этом случае операция покупки пройдет с новым ServiceId.
<OriginalServiceId>int</OriginalServiceId>
Пример:
<Request>
   <DateTime>2010-09-01T12:00:00</DateTime>
<Sign>94C8682CABCF1D…</Sign>
<Check>
<ServiceId>100</ServiceId>
<Account>12345678</Account>
</Check>
</Request>

<Response>
<StatusCode>0</StatusCode>
<StatusDetail>OK</StatusDetail>
<DateTime>2010-09-01T12:00:05</DateTime>
<Sign>47EDE8324D05CC1…</Sign>
<AccountInfo>
<Name>Иванов А.А.</Name>
<Address>ул. Садовая 5, кв. 16</Address>
<Balance>125.00</Balance>
</AccountInfo>
<OriginalServiceId>101</OriginalServiceId>
</Response>

 

•   Дополнение A
•   Создание сертификата
openssl genrsa -out provider.ppk 1024
openssl req -new -key provider.ppk -out provider.req
openssl ca -in provider.req -out provider.cer
openssl x509 -req -days 730 -in provider.req -signkey provider.ppk -out provider.cer

При создании сертификата подписи используется CN=ProviderSign-ProviderName, где ProviderName – название провайдера латинскими буквами (например, CN=ProviderSign-TopNet)
•   Подпись данных
Пример подписи на C#:

string path = "Provider-Test.pfx";
X509Certificate2 cert = new X509Certificate2(path,"test");
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateKey;

byte[] signature = rsa.SignData(Encoding.UTF8.GetBytes(data), new SHA1CryptoServiceProvider());
string result = Utilities.BytesToHex(signature);
•   Тестовый хост
Перед боевым запуском, Вы должны пройти тестирование на странице:
http://easysoft.com.ua/ProviderProtocolTest
•   Авторизационные данные на стороне провайдера
Провайдер должен заранее проинформировать о том, какого типа авторизация предусмотрена на их сервере (сертификаты, логин и пароль и т.д.)

5  Главная категория / Разработка / Платежные терминалы Smartpoint : 26 Апреля 2011, 08:40:51
Для работы с терминалом мне выслали руководство по подключению.
Если кто сталкивался покажите как привязать это к Nodeny. Возможно уже есть готовые решения или скажите сколько будет стоить написать модуль?


•   Описание
Протокол взаимодействия реализован на основе интернет протокола HTTPS. Данные передаются в xml-формате, используя метод POST. Для защиты канала передачи данных используется SSL-сертификат на стороне сервера (провайдера). Все запросы и ответы подписываются по алгоритму RSA (SHA1) с длиной ключа 1024, соответственно стороны (Провайдер, EasySoft) обмениваются сертификатами в формате *.PEM. На данный момент подпись является необязательной!
•   Общая структура
Запрос

<Request>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<Operation>
<Parameter1/>
 ...
<ParameterN/>
</Operation>
</Request>

Ответ

<Response>
<StatusCode>int</StatusCode>
<StatusDetail>string</StatusDetail>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
   <Parameter1/>
...
<ParameterN/>
</Response>
Где:

DateTime – время создания закпроса(ответа);
Sign – цифровая подпись в виде HEX-строки(AF4ED0…);
Operation – тип операции (список доступных операций приведен ниже);
StatusCode – код состояния (если запрос выполнен успешно то код 0, еcли ошибка то меньше нуля);
StatusDetail – описание результата операции.
 

•   Типы запросов
•   Check (проверка пользователя, счета);
•   Payment (создание заказа);
•   Confirm (подтверждение заказа);
•   Cancel (отмена платежа);
•   Проверка пользователя
Запрос

<Request>
   <DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<Check>
<ServiceId>int</ServiceId>
<Account>string</Account>
</Check>
</Request>

Ответ
<Response>
<StatusCode>int</StatusCode>
<StatusDetail>string</StatusDetail>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<AccountInfo>
<Parameter1>string</Parameter1>

<ParameterN>string</ParameterN>
</AccountInfo>
</Response>
ServiceId – номер вашего сервиса в нашей системе;
Account – идентификатор пользователя (номер телефона, номер договора, …);
AccountInfo – пользовательская информация, которая отображается на экране. Значение параметров – должны быть на английском языке (Эти параметры нам сообщаются при создании сервиса). Ввиду ограничения отображаемой информации, количество параметров не должно быть больше 4-х.
•   Создание заказа
Запрос

<Request>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<Payment>
<ServiceId>int</ServiceId>
<OrderId>long</OrderId>
<Account>string</Account>
<Amount>decimal</Amount>
</Payment>
</Request>

Ответ
<Response>
<StatusCode>int</StatusCode>
<StatusDetail>string</StatusDetail>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
   <PaymentId>string</PaymentId>
</Response>
OrderId – это наш уникальный идентификатор транзакции (тип long 8-байт);
Amount – сумма платежа(в формате NN.NN, пример 10.50);
PaymentId – номер платежа в вашей системе.
•   Подтверждение заказа
Запрос

<Request>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<Confirm>
<ServiceId>int</ServiceId>
<PaymentId>string</PaymentId>
</Confirm>
</Request>

Ответ
<Response>
<StatusCode>int</StatusCode>
<StatusDetail>string</StatusDetail>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
   <OrderDate>yyyy-MM-ddTHH:mm:ss</OrderDate>
</Response>
OrderDate – дата, которая фиксируется у вас как дата совершения платежа (списание денег), она же проходит по бухгалтерии и финансовым документам.
•   Отмена заказа
Запрос

<Request>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
<Cancel>
<ServiceId>int</ServiceId>
<PaymentId>string</PaymentId>
</Cancel>
</Request>

Ответ
<Response>
<StatusCode>int</StatusCode>
<StatusDetail>string</StatusDetail>
<DateTime>yyyy-MM-ddTHH:mm:ss</DateTime>
<Sign></Sign>
   <CancelDate>yyyy-MM-ddTHH:mm:ss</CancelDate>
</Response>
CancelDate – дата отмены заказа.
6  Главная категория / Nodeny Plus / Re: Фичереквест на 52 версию : 26 Апреля 2011, 03:18:41
Не знаю в тему или нет но хотелось бы в новой версии видеть привязку к МАС адресу.
7  Главная категория / Nodeny 50 / Re: Отображаются неверные данные в графике загрузки канала. : 13 Октября 2010, 21:09:48
Спасибо вроде стало получше  поставил inactive=30 active=30 как и в настройках ядра.
8  Главная категория / Nodeny 50 / Re: Как изменить сортировку по умолчанию? : 13 Октября 2010, 21:07:40
Спасибо ответ.

А как можно сделать что-бы по нажатию на "Статистика" информация выводилась в килобитах за секунду и сразу по всем направлениям. И также при нажатии на "График загрузки канала"
9  Главная категория / Разработка / Re: Чат в клиентской статистике. : 13 Октября 2010, 20:58:34
нужен веб чат или какой-то конкретный?

Нужен обычный веб чат главное чтобы поля имя и пароль сразу заполнялись данными клиента и вход происходил автоматически или по нажатию кнопки войти.
10  Главная категория / Nodeny 50 / Re: Отображаются неверные данные в графике загрузки канала. : 13 Октября 2010, 12:47:33
Немного поэкспериментировав выяснил что правильный результат дает только inactive=1 active=1 но запись в файл каждую секунду меня немного смущает.

Уважаемые разработчики пожалуйста скажите с какой частотой ядро опрашивает файл с трафиком ни нельзя ли как то синхронизировать эти процессы???
11  Главная категория / Разработка / Re: Чат в клиентской статистике. : 12 Октября 2010, 16:41:21
Да чат чатом, но к БИЛЛИНГУ то он какое отношение имеет? Поставь себе чат и в клиентскй статистике повесь баннер.

На пример почта к БИЛЛИНГУ имеет такое же отношение как и ЧАТ, И все таки такой раздел в клиентской статистике есть.

Не проще поднять DC++?
Сразу куча плюсов в догонку идет.

Уже пробовал он не прижился. Зашел к каждому установил настроил дал ник рассказал как пользоваться некоторым даже в автозагрузку поставил и ничего не получилось не прижился в общем не подходит DC++.


оплатишь ? я напишу - могу как к веб чату прикрутить так и обычному -  клиент-верверному.
но ... звери как правило хотят свои ники видеть а не логины - и как быть в случае если в одной квартире 5 чел ( 5 ников).

Сколь денег? Может с кем скинемся.
По умолчанию нужен вход под уже существующим ником и паролем. Если есть возможность то сделать кнопку сменить ник или что-то вроде того чтобы была возможность входить под другим ником или никами. И независимо от ника возможность банить хулиганов по IP-адресу. Или банить по нику но не давать возможность на этом адресе регистрироваться под другим ником. Я неспециалист по ТЗ прошу сильно не пинать.
12  Главная категория / Разработка / Re: Чат в клиентской статистике. : 12 Октября 2010, 01:11:10
Чат для общения между собой пользователей которые хотят в игрушки по сети играть, а не для общения с администрацией.
Но последнее не исключается. Пробовал ставить разные чат программки но они не приживаются. Скайп тоже не подходит потому как многие не знают друг друга а заниматься знакомством ну сами понимаете...

В общем в чем собственно говоря извращение???
13  Главная категория / Nodeny 50 / Re: Отображаются неверные данные в графике загрузки канала. : 12 Октября 2010, 01:00:53
На закачку ставил торрент но результат на лицо. Когда работают все пользователи то иногда показывает 16 мегабайт хотя больше 12.5 физически быть не может. Да и тарифы не все безлимитные.
В доступной форме можете сказать что значат эти два показателя inactive=20 active=40 на что они влияют?
14  Главная категория / Разработка / Чат в клиентской статистике. : 11 Октября 2010, 23:52:24
Есть мысль прикрутить чат на страничке статистики пользователей, пароль и логин получатся уже введенными.
15  Главная категория / Nodeny 50 / Как изменить сортировку по умолчанию? : 11 Октября 2010, 23:45:30
Подскажите пожалуйста как изменить сортировку по умолчанию в разделе клиентов?
Сейчас все сортируется по ip-адресу, а нужно сделать по номерам домов и квартир.
Страниц: [1] 2 3 ... 5
Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!