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/ |