forum.bitel.ru
http://forum.bitel.ru/

Рекурентные платежи
http://forum.bitel.ru/viewtopic.php?f=77&t=12256
Страница 2 из 2

Автор:  skn [ 19 дек 2019, 15:45 ]
Заголовок сообщения:  Re: Рекурентные платежи

не понятно, в чем проблема?

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

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

Автор:  maxst-net [ 19 дек 2019, 19:10 ]
Заголовок сообщения:  Re: Рекурентные платежи

К сожалению, мне не известно, какой протокол был раньше. Но сейчас, Сбер говорит, что нужно для регистрации автоплатежа обязательно передавать следующие поля:
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 нет такого.
Возможно это и является причиной того, что авто платежи не регистрируются.

Автор:  skn [ 20 дек 2019, 04:42 ]
Заголовок сообщения:  Re: Рекурентные платежи

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

Автор:  maxst-net [ 20 дек 2019, 21:08 ]
Заголовок сообщения:  Re: Рекурентные платежи

Увидел, что Вы опубликовали обновление для модуля (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

Автор:  Cromeshnic [ 22 дек 2019, 12:22 ]
Заголовок сообщения:  Re: Рекурентные платежи

Код:
Информация о версии:

  Сервер: 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)


Автор:  Cromeshnic [ 22 дек 2019, 12:23 ]
Заголовок сообщения:  Re: Рекурентные платежи

В server.error.log сервера биллинга ошибок не вижу за то же время.

Автор:  skn [ 23 дек 2019, 02:44 ]
Заголовок сообщения:  Re: Рекурентные платежи

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


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

Автор:  simka [ 23 янв 2020, 11:38 ]
Заголовок сообщения:  Re: Рекурентные платежи

Объясните, пожалуйста, про рекурентные платежи в автоматическом режиме.
Какая сумма используется для платежа, чтобы активировать автоплатеж?
Для чего нужны эти параметры? Они носят информативный характер или это реальные ограничения?
Код:
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

Автор:  Cromeshnic [ 23 янв 2020, 15:44 ]
Заголовок сообщения:  Re: Рекурентные платежи

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?

Автор:  skn [ 24 янв 2020, 20:23 ]
Заголовок сообщения:  Re: Рекурентные платежи

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) ограничения информативный, вы можете их использовать при формировании суммы, а может игнорировать

Автор:  skn [ 24 янв 2020, 20:24 ]
Заголовок сообщения:  Re: Рекурентные платежи

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?


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

Страница 2 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/