BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 ноя 2021, 15:28

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Рекуррентные платежи
СообщениеДобавлено: 31 май 2018, 15:14 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
Добрый день.

Возможно добавить в модуль поддержку рекуррентных платежей (TRTYPE = 171) в обработке уведомлений от банка? Набор параметров такой же как и при оплате (TRTYPE = 1).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 31 май 2018, 19:23 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
ну обычно этого не достаточно...
нужен протокол поизучать....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 31 май 2018, 20:22 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
Основной протокол реализован
https://www.psbank.ru/-/media/Files/Pro ... s_api.ashx
Прикрепил дополнение к протоколу для работы с рекуррентными платежами.

Сам платеж успешно прошел и от банка пришло уведомление об успехе. Но в ru.bitel.bgbilling.modules.psb.server.ModuleExecutor обработка только для TRTYPE 0, 1, 21 и 22.


Вложения:
Протокол_взаимодействия - рекуррентные платежи.doc [35.5 КБ]
Скачиваний: 131
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 31 май 2018, 22:38 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
вы используете какую внешную систему для регистрации рекурентных платежей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 13:55 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
Написан свой личный кабинет абонентов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 14:16 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
Тогда вам проще в нем и сделать и обработчик ответов от банка
добавлять в биллинг костыль для обработки рекурентных запросов не хочется, а делать полноценную поддержку рекурентных платежей в модуле потребует много вренени и сил.
Добавили в TODO. По возможности сделаем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 14:40 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
Урл для уведомлений о платежах общий и для обычных платежей и для рекуррентных. Не хотелось бы вносить своих правок чтоб потом при обновлении не попались на полностью не работающие платежи с карт. Может можно сейчас добавить обработчик для уведомлений, а полноценную поддержку уже потом?
Изменения то минимальные: массив требуемых параметров абсолютно аналогочен SET_1 и добавить 2 условия:
Код:
private static final String[] SET_171 = new String[]{"AMOUNT", "CURRENCY", "ORDER", "MERCH_NAME", "MERCHANT", "TERMINAL", "EMAIL", "TRTYPE", "TIMESTAMP", "NONCE", "BACKREF", "RESULT", "RC", "RCTEXT", "AUTHCODE", "RRN", "INT_REF"};

if ( ... || TRTYPE == 171 && this.check(request, secret, SET_171))

if (TRTYPE == 1 || TRTYPE == 171) {


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 15:31 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
вы уверены, что набор и последовательность параметров именно такая, в файле, что вы приложили выше это не описано, а для других запросов набор и последовательность менялись (насколько я понимаю из соображений безопасности, порядок параметров влият на проверку подписи запроса)

Код:
private static final String[] SET_171 = new String[]{"AMOUNT", "CURRENCY", "ORDER", "MERCH_NAME", "MERCHANT", "TERMINAL", "EMAIL", "TRTYPE", "TIMESTAMP", "NONCE", "BACKREF", "RESULT", "RC", "RCTEXT", "AUTHCODE", "RRN", "INT_REF"};


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 15:52 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
Да, набор и последовательность именно такая


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 16:23 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
какую версию вы используете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 01 июн 2018, 16:24 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
psb: вер. 7.0.52 / 14.03.2018 16:04:36


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 09 июл 2018, 17:58 
Не в сети

Зарегистрирован: 24 май 2018, 16:38
Сообщения: 12
Карма: 0
psb: вер. 7.0.59 / 28.06.2018 19:21:26
Код:
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream - java.lang.NullPointerException
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.modules.psb.server.bean.TransactionManager.lambda$doRequest$0(TransactionManager.java:257)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.modules.psb.server.bean.TransactionManager.doRequest(TransactionManager.java:256)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.modules.psb.server.Module$1.notify(Module.java:108)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.modules.psb.server.Module$1.notify(Module.java:56)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:359)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:19)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:87)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at java.lang.Thread.run(Thread.java:748)
mq 07-09/14:45:01 ERROR [event-proc-p-2-t-1] LoggingPrintStream -    at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекуррентные платежи
СообщениеДобавлено: 10 июл 2018, 19:03 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4482
Откуда: Уфа, Россия
Карма: 186
пофиксили


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.050s | 45 Queries | GZIP : On ]