Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Revisions: Issue #44615 All Revisions ] Back to Issue ]
Summary 0044615: ACI- Timestamp for the request missing microseconds (.sss as per dev guide)
Revision 2020-07-15 21:21 by guillermogil
Description There is an issue with ACI due to the time stamp format.

Ensure the format:
So without a time zone sending the current local time should look like this should be:
<SaleTransactionID TransactionID="00792000004241594045784233" TimeStamp="2020-07-06T16:29:44.233"/>

The same time send in UTC offset should look like this:
<SaleTransactionID TransactionID="00792000004241594045784233" TimeStamp="2020-07-06T16:29:44.233+02:00"/>
See image attached, it is a must to ensure the timezone.

You are sending a payment transaction with an incorrectly formatted Timestamp and then immediately attempt to abort it .
The error for this can be seen in the log file:

2020-07-09 14:48:04,025 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.text.ParseException: Unparseable date: "2020-07-09T12:48:04Z.000"
at java.text.DateFormat.parse(DateFormat.java:366)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampIntoUTCTimezone(SepaUtils.java:1646)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampToIso(SepaUtils.java:1613)
at postilion.esposcar.epas.handlers.AMessageHandler.constructTimeStampFieldsFromSaleDataToIso(AMessageHandler.java:1688)
at postilion.esposcar.epas.handlers.PaymentHandler.mapPaymentRequestFromEpasToIso(PaymentHandler.java:1247)
at postilion.esposcar.epas.handlers.PaymentHandler.processRequest(PaymentHandler.java:462)
at postilion.esposcar.epas.posinterface.EpasInterface.processRequest(EpasInterface.java:309)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:813)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

2020-07-09 14:48:04,026 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.lang.NullPointerException
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:848)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

I believe because of this error our epas frontend believes it is still busy processing a request (esocket never send a response for the request at 14:48 because of the format error) so by the time the 14:52 transaction is send and it is just declined straight off.

Solution:
A restart of the terminal will be needed to get it out of this state.

OB needs to see why the timstamp for the request at 14:48 was not according to dev guide. It is missing the microseconds (.sss as per dev guide).

Revision 2020-07-15 21:20 by guillermogil
Description There is an issue with ACI due to the time stamp format.

Ensure the format:
So without a time zone sending the current local time should look like this should be:
<SaleTransactionID TransactionID="00792000004241594045784233" TimeStamp="2020-07-06T16:29:44.233"/>

The same time send in UTC offset should look like this:
<SaleTransactionID TransactionID="00792000004241594045784233" TimeStamp="2020-07-06T16:29:44.233+02:00"/>
See image attached

You are sending a payment transaction with an incorrectly formatted Timestamp and then immediately attempt to abort it .
The error for this can be seen in the log file:

2020-07-09 14:48:04,025 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.text.ParseException: Unparseable date: "2020-07-09T12:48:04Z.000"
at java.text.DateFormat.parse(DateFormat.java:366)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampIntoUTCTimezone(SepaUtils.java:1646)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampToIso(SepaUtils.java:1613)
at postilion.esposcar.epas.handlers.AMessageHandler.constructTimeStampFieldsFromSaleDataToIso(AMessageHandler.java:1688)
at postilion.esposcar.epas.handlers.PaymentHandler.mapPaymentRequestFromEpasToIso(PaymentHandler.java:1247)
at postilion.esposcar.epas.handlers.PaymentHandler.processRequest(PaymentHandler.java:462)
at postilion.esposcar.epas.posinterface.EpasInterface.processRequest(EpasInterface.java:309)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:813)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

2020-07-09 14:48:04,026 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.lang.NullPointerException
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:848)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

I believe because of this error our epas frontend believes it is still busy processing a request (esocket never send a response for the request at 14:48 because of the format error) so by the time the 14:52 transaction is send and it is just declined straight off.

Solution:
A restart of the terminal will be needed to get it out of this state.

OB needs to see why the timstamp for the request at 14:48 was not according to dev guide. It is missing the microseconds (.sss as per dev guide).

Revision 2020-07-15 16:45 by guillermogil
Description There is an issue with ACI due to the time stamp format.


You are sending a payment transaction with an incorrectly formatted Timestamp and then immediately attempt to abort it .
The error for this can be seen in the log file:

2020-07-09 14:48:04,025 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.text.ParseException: Unparseable date: "2020-07-09T12:48:04Z.000"
at java.text.DateFormat.parse(DateFormat.java:366)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampIntoUTCTimezone(SepaUtils.java:1646)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampToIso(SepaUtils.java:1613)
at postilion.esposcar.epas.handlers.AMessageHandler.constructTimeStampFieldsFromSaleDataToIso(AMessageHandler.java:1688)
at postilion.esposcar.epas.handlers.PaymentHandler.mapPaymentRequestFromEpasToIso(PaymentHandler.java:1247)
at postilion.esposcar.epas.handlers.PaymentHandler.processRequest(PaymentHandler.java:462)
at postilion.esposcar.epas.posinterface.EpasInterface.processRequest(EpasInterface.java:309)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:813)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

2020-07-09 14:48:04,026 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.lang.NullPointerException
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:848)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

I believe because of this error our epas frontend believes it is still busy processing a request (esocket never send a response for the request at 14:48 because of the format error) so by the time the 14:52 transaction is send and it is just declined straight off.

Solution:
A restart of the terminal will be needed to get it out of this state.

OB needs to see why the timstamp for the request at 14:48 was not according to dev guide. It is missing the microseconds (.sss as per dev guide).

Revision 2020-07-15 16:45 by guillermogil
Description There is an issue in DKT production with ACI due to the time stamp format.


You are sending a payment transaction with an incorrectly formatted Timestamp and then immediately attempt to abort it .
The error for this can be seen in the log file:

2020-07-09 14:48:04,025 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.text.ParseException: Unparseable date: "2020-07-09T12:48:04Z.000"
at java.text.DateFormat.parse(DateFormat.java:366)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampIntoUTCTimezone(SepaUtils.java:1646)
at postilion.esposcar.sepafast.util.SepaUtils.translateEpasTimeStampToIso(SepaUtils.java:1613)
at postilion.esposcar.epas.handlers.AMessageHandler.constructTimeStampFieldsFromSaleDataToIso(AMessageHandler.java:1688)
at postilion.esposcar.epas.handlers.PaymentHandler.mapPaymentRequestFromEpasToIso(PaymentHandler.java:1247)
at postilion.esposcar.epas.handlers.PaymentHandler.processRequest(PaymentHandler.java:462)
at postilion.esposcar.epas.posinterface.EpasInterface.processRequest(EpasInterface.java:309)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:813)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

2020-07-09 14:48:04,026 [EpasFrontEndProcessor worker thread - 3] ERROR eSocket.POS - 0. A software failure occurred and the following exception was thrown:%njava.lang.NullPointerException
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:848)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:780)
at postilion.esocketpos.ESocketPOS.processRequest(ESocketPOS.java:723)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processDataEventFromPosEntity(EpasFrontEndProcessor.java:261)
at postilion.esposcar.epas.posinterface.EpasFrontEndProcessor.processEvent(EpasFrontEndProcessor.java:108)
at postespos.core.util.Processor.run(Processor.java:209)

I believe because of this error our epas frontend believes it is still busy processing a request (esocket never send a response for the request at 14:48 because of the format error) so by the time the 14:52 transaction is send and it is just declined straight off.

Solution:
A restart of the terminal will be needed to get it out of this state.

OB needs to see why the timstamp for the request at 14:48 was not according to dev guide. It is missing the microseconds (.sss as per dev guide).



Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker