BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 19 мар 2024, 15:50

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




Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Рекурентные платежи
СообщениеДобавлено: 19 дек 2019, 15:45 
Не в сети
Разработчик

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

сбер поменял протокол?

вроде никто не жалуется.


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

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
К сожалению, мне не известно, какой протокол был раньше. Но сейчас, Сбер говорит, что нужно для регистрации автоплатежа обязательно передавать следующие поля:
userName, password, amount, currency, orderNumber, returnUrl, clientId, bindingId и features=AUTO_PAYMENT.
Посмотрев немного классы в sberbank.jar версии 6.2 и 7.2 обнаружил, что в методе registerOrder класса TransactionManager в версии 7.2 есть вот такой код
Код:
String features = this.moduleSetup.get(autopaymentTransaction ? "sberbank.autopayment.features" : "sberbank.payment.features", (String)null);
if (!Utils.isBlankString(features)) {
 spec.append("&features=").append(features);
}


а в версии 6.2 нет такого.
Возможно это и является причиной того, что авто платежи не регистрируются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекурентные платежи
СообщениеДобавлено: 20 дек 2019, 04:42 
Не в сети
Разработчик

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекурентные платежи
СообщениеДобавлено: 20 дек 2019, 21:08 
Не в сети

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
Увидел, что Вы опубликовали обновление для модуля (ver 6.2.68) и добавили в класс "TransactionManager" код

Код:
if (autopaymentTransaction) {
            String features = this.moduleSetup.get("sberbank.autopayment.features", (String)null);
            if (!Utils.isBlankString(features)) {
                spec.append("&features=").append(features);
            }
}


Но вот в чём незадача, данный код выполнится если autopaymentTransaction=true.
При активации автоплатежа из личного кабинета вызывается класс "ActionDoTransaction", а в его методе "autopayment" регистрируется заказ
Код:
transactionManager.registerOrder(this.cid, contractTitle, customerAddress, autopaymentAutoMaxWeekSum, this.dataMap, false, true);

и предпоследний параметр (autopaymentTransaction) имеет значение false, что говорит нам о невозможности зарегистрировать автоплатеж (о невозможности добавить в строку запроса к сбербанку параметр &features=).
Такая картина для всех режимов автоплатежей AutopaymentMode.WEEK, AutopaymentMode.MONTH, AutopaymentMode.AUTO


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекурентные платежи
СообщениеДобавлено: 22 дек 2019, 12:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Код:
Информация о версии:

  Сервер: 8.0.1123 / 16.12.2019 19:42:16
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_152

  sberbank: 8.0.48 / 10.11.2019 01:16:33



В ЛК sberbank.jar тоже от 10.11.

Тоже перестали работать автоплатежи после обновления.
После добавления автоплатежа личный кабинет зависает у клиента, пока не удалишь запись об автоплатеже.
Выдаёт вот такую ошибку:

Код:
2019-12-19 17:27:58,517 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (pool-3-thread-12) Interceptor for {http://service.common.sberbank.modules.bgbilling.bitel.ru/}SberbankService#{http://service.common.sberbank.modules.bgbilling.bitel.ru/}autopaymentGet has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:908)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:714)
        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:179)
        at org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:805)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1684)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1560)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1361)
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
        at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:658)
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:518)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:427)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:328)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:281)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
        at com.sun.proxy.$Proxy150.autopaymentGet(Unknown Source)
        at ru.bitel.mybgbilling.modules.payment.SberbankPaymentBean.autopaymentGet(SberbankPaymentBean.java:38)
        at ru.bitel.mybgbilling.modules.payment.SberbankPaymentBean$Proxy$_$$_WeldSubclass.autopaymentGet$$super(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.weld.interceptor.proxy.TerminalAroundInvokeInvocationContext.proceedInternal(TerminalAroundInvokeInvocationContext.java:49)
        at org.jboss.weld.interceptor.proxy.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:77)
        at ru.bitel.mybgbilling.kernel.ws.WSInjectInterceptor.aroundInvoke(WSInjectInterceptor.java:62)
        at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:73)
        at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeAroundInvoke(InterceptorMethodHandler.java:84)
        at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:72)
        at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:56)
        at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:79)
        at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:68)
        at ru.bitel.mybgbilling.modules.payment.SberbankPaymentBean$Proxy$_$$_WeldSubclass.autopaymentGet(Unknown Source)
        at ru.bitel.mybgbilling.kernel.payment.AutopaymentBean.lambda$populate$5(AutopaymentBean.java:240)
        at ru.bitel.common.function.ThrowingSupplier.get(ThrowingSupplier.java:17)
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[com.sun.istack.SAXParseException2; lineNumber: 0; columnNumber: 0; java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0]
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:483)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:417)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:394)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:857)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:896)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:894)
        ... 44 more
Caused by: com.sun.istack.SAXParseException2; lineNumber: 0; columnNumber: 0; java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:740)
        at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:262)
        at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:249)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:240)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:576)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:555)
        at com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:75)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:246)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:180)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:415)
        ... 50 more
Caused by: javax.xml.bind.UnmarshalException: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
 - with linked exception:
[com.sun.xml.bind.api.AccessorException: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0]
        ... 60 more
Caused by: com.sun.xml.bind.api.AccessorException: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:87)
        at com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccessor.java:245)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:210)
        ... 56 more
Caused by: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
        at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
        at java.time.LocalDateTime.parse(LocalDateTime.java:492)
        at java.time.LocalDateTime.parse(LocalDateTime.java:477)
        at ru.bitel.common.xml.XmlAdapters$LocalDateTimeAdapter.unmarshal(XmlAdapters.java:134)
        at ru.bitel.common.xml.XmlAdapters$LocalDateTimeAdapter.unmarshal(XmlAdapters.java:128)
        at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:85)
        ... 58 more

2019-12-19 17:27:58,532 INFO  [ru.bitel.mybgbilling.kernel.common.MyExceptionHandler] (default task-5) ERROR class javax.el.ELException
2019-12-19 17:27:58,533 INFO  [ru.bitel.mybgbilling.kernel.common.MyExceptionHandler] (default task-5) Error message: null Unmarshalling Error: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
2019-12-19 17:27:58,533 ERROR [ru.bitel.mybgbilling.kernel.common.MyExceptionHandler] (default task-5) WebServiceException.



Не могу понять, что именно он пытается привести к DateTime

java.time.format.DateTimeParseException: Text 'null'

У объекта AutoPayment из дат только period.

Код:
[bgbilling]> select * from sberbank_autopayment_5;
+----+-------------+---------------------+-------+--------+------+-----------------------------------------------------------------------------------------------------------+------+--------------------------------------+
| id | contract_id | date1               | date2 | sum    | mode | mode_data                                                                                                 | data | access_token                         |
+----+-------------+---------------------+-------+--------+------+-----------------------------------------------------------------------------------------------------------+------+--------------------------------------+
|  5 |         256 | 2019-12-21 11:42:43 | NULL  | 100.00 |    3 | autopayment.mode.auto.day.sum=100
autopayment.mode.auto.week.sum=100
autopayment.mode.auto.month.sum=3000 | NULL | a1b3f9f7-.... |
|  6 |         738 | 2019-12-22 13:29:23 | NULL  |  50.00 |    2 | autopayment.mode.month.day=22
autopayment.mode.month.sum=50                                               | NULL | 17420e65-.....|
+----+-------------+---------------------+-------+--------+------+-----------------------------------------------------------------------------------------------------------+------+--------------------------------------+
2 rows in set (0.00 sec)



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекурентные платежи
СообщениеДобавлено: 22 дек 2019, 12:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
В server.error.log сервера биллинга ошибок не вижу за то же время.


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

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
maxst-net писал(а):
Увидел, что Вы опубликовали обновление для модуля (ver 6.2.68) и добавили в класс "TransactionManager" код

Код:
if (autopaymentTransaction) {
            String features = this.moduleSetup.get("sberbank.autopayment.features", (String)null);
            if (!Utils.isBlankString(features)) {
                spec.append("&features=").append(features);
            }
}


Но вот в чём незадача, данный код выполнится если autopaymentTransaction=true.
При активации автоплатежа из личного кабинета вызывается класс "ActionDoTransaction", а в его методе "autopayment" регистрируется заказ
Код:
transactionManager.registerOrder(this.cid, contractTitle, customerAddress, autopaymentAutoMaxWeekSum, this.dataMap, false, true);

и предпоследний параметр (autopaymentTransaction) имеет значение false, что говорит нам о невозможности зарегистрировать автоплатеж (о невозможности добавить в строку запроса к сбербанку параметр &features=).
Такая картина для всех режимов автоплатежей AutopaymentMode.WEEK, AutopaymentMode.MONTH, AutopaymentMode.AUTO


ну так все правильно из ЛК вы делаете ПЛАТЕЖ, а не АВТОПЛАТЕЖ
по которому в дальнейшем можно проводить АВТОПЛАТЕЖИ


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

Зарегистрирован: 23 дек 2015, 18:07
Сообщения: 31
Карма: 0
Объясните, пожалуйста, про рекурентные платежи в автоматическом режиме.
Какая сумма используется для платежа, чтобы активировать автоплатеж?
Для чего нужны эти параметры? Они носят информативный характер или это реальные ограничения?
Код:
sberbank.autopayment.mode.auto.day.sum.max
sberbank.autopayment.mode.auto.day.sum.default
sberbank.autopayment.mode.auto.week.sum.max
sberbank.autopayment.mode.auto.week.sum.default
sberbank.autopayment.mode.auto.month.sum.max
sberbank.autopayment.mode.auto.month.sum.default


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекурентные платежи
СообщениеДобавлено: 23 янв 2020, 15:44 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Cromeshnic писал(а):
Код:
Информация о версии:

  Сервер: 8.0.1123 / 16.12.2019 19:42:16
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_152

  sberbank: 8.0.48 / 10.11.2019 01:16:33



В ЛК sberbank.jar тоже от 10.11.

Тоже перестали работать автоплатежи после обновления.
После добавления автоплатежа личный кабинет зависает у клиента, пока не удалишь запись об автоплатеже.
Выдаёт вот такую ошибку:

Код:
2019-12-19 17:27:58,517 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (pool-3-thread-12) Interceptor for {http://service.common.sberbank.modules.bgbilling.bitel.ru/}SberbankService#{http://service.common.sberbank.modules.bgbilling.bitel.ru/}autopaymentGet has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unmarshalling Error: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:908)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:714)
        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:179)
        at org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:805)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1684)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1560)
        at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1361)
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
        at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:658)
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:518)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:427)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:328)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:281)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)
        at com.sun.proxy.$Proxy150.autopaymentGet(Unknown Source)
        at ru.bitel.mybgbilling.modules.payment.SberbankPaymentBean.autopaymentGet(SberbankPaymentBean.java:38)
        at ru.bitel.mybgbilling.modules.payment.SberbankPaymentBean$Proxy$_$$_WeldSubclass.autopaymentGet$$super(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.weld.interceptor.proxy.TerminalAroundInvokeInvocationContext.proceedInternal(TerminalAroundInvokeInvocationContext.java:49)
        at org.jboss.weld.interceptor.proxy.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:77)
        at ru.bitel.mybgbilling.kernel.ws.WSInjectInterceptor.aroundInvoke(WSInjectInterceptor.java:62)
        at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:73)
        at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeAroundInvoke(InterceptorMethodHandler.java:84)
        at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:72)
        at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:56)
        at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:79)
        at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:68)
        at ru.bitel.mybgbilling.modules.payment.SberbankPaymentBean$Proxy$_$$_WeldSubclass.autopaymentGet(Unknown Source)
        at ru.bitel.mybgbilling.kernel.payment.AutopaymentBean.lambda$populate$5(AutopaymentBean.java:240)
        at ru.bitel.common.function.ThrowingSupplier.get(ThrowingSupplier.java:17)
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[com.sun.istack.SAXParseException2; lineNumber: 0; columnNumber: 0; java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0]
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:483)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:417)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:394)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:857)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:102)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:896)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:894)
        ... 44 more
Caused by: com.sun.istack.SAXParseException2; lineNumber: 0; columnNumber: 0; java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:740)
        at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:262)
        at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.handleGenericException(Loader.java:249)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:240)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:576)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:555)
        at com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:75)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:246)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:180)
        at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:415)
        ... 50 more
Caused by: javax.xml.bind.UnmarshalException: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
 - with linked exception:
[com.sun.xml.bind.api.AccessorException: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0]
        ... 60 more
Caused by: com.sun.xml.bind.api.AccessorException: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:87)
        at com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccessor.java:245)
        at com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:210)
        ... 56 more
Caused by: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
        at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
        at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
        at java.time.LocalDateTime.parse(LocalDateTime.java:492)
        at java.time.LocalDateTime.parse(LocalDateTime.java:477)
        at ru.bitel.common.xml.XmlAdapters$LocalDateTimeAdapter.unmarshal(XmlAdapters.java:134)
        at ru.bitel.common.xml.XmlAdapters$LocalDateTimeAdapter.unmarshal(XmlAdapters.java:128)
        at com.sun.xml.bind.v2.runtime.reflect.AdaptedAccessor.set(AdaptedAccessor.java:85)
        ... 58 more

2019-12-19 17:27:58,532 INFO  [ru.bitel.mybgbilling.kernel.common.MyExceptionHandler] (default task-5) ERROR class javax.el.ELException
2019-12-19 17:27:58,533 INFO  [ru.bitel.mybgbilling.kernel.common.MyExceptionHandler] (default task-5) Error message: null Unmarshalling Error: java.time.format.DateTimeParseException: Text 'null' could not be parsed at index 0
2019-12-19 17:27:58,533 ERROR [ru.bitel.mybgbilling.kernel.common.MyExceptionHandler] (default task-5) WebServiceException.



Не могу понять, что именно он пытается привести к DateTime

java.time.format.DateTimeParseException: Text 'null'

У объекта AutoPayment из дат только period.

Код:
[bgbilling]> select * from sberbank_autopayment_5;
+----+-------------+---------------------+-------+--------+------+-----------------------------------------------------------------------------------------------------------+------+--------------------------------------+
| id | contract_id | date1               | date2 | sum    | mode | mode_data                                                                                                 | data | access_token                         |
+----+-------------+---------------------+-------+--------+------+-----------------------------------------------------------------------------------------------------------+------+--------------------------------------+
|  5 |         256 | 2019-12-21 11:42:43 | NULL  | 100.00 |    3 | autopayment.mode.auto.day.sum=100
autopayment.mode.auto.week.sum=100
autopayment.mode.auto.month.sum=3000 | NULL | a1b3f9f7-.... |
|  6 |         738 | 2019-12-22 13:29:23 | NULL  |  50.00 |    2 | autopayment.mode.month.day=22
autopayment.mode.month.sum=50                                               | NULL | 17420e65-.....|
+----+-------------+---------------------+-------+--------+------+-----------------------------------------------------------------------------------------------------------+------+--------------------------------------+
2 rows in set (0.00 sec)



up?


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

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
simka писал(а):
Объясните, пожалуйста, про рекурентные платежи в автоматическом режиме.
Какая сумма используется для платежа, чтобы активировать автоплатеж?
Для чего нужны эти параметры? Они носят информативный характер или это реальные ограничения?
Код:
sberbank.autopayment.mode.auto.day.sum.max
sberbank.autopayment.mode.auto.day.sum.default
sberbank.autopayment.mode.auto.week.sum.max
sberbank.autopayment.mode.auto.week.sum.default
sberbank.autopayment.mode.auto.month.sum.max
sberbank.autopayment.mode.auto.month.sum.default


1) сумму вы сами задаете в событии
2) ограничения информативный, вы можете их использовать при формировании суммы, а может игнорировать


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

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

  Сервер: 8.0.1123 / 16.12.2019 19:42:16
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_152

  sberbank: 8.0.48 / 10.11.2019 01:16:33



В ЛК sberbank.jar тоже от 10.11.

Тоже перестали работать автоплатежи после обновления.

up?


ЛК то обновляли? после обновления биллинга?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2

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


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

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


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

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