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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0044615
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Retail Modules] Nexo Implementationcriticalalways2020-07-15 16:432020-07-22 19:01
ReporterlmonrealView Statuspublic 
Assigned Toadrianromero 
PriorityurgentResolutionfixedFixed in VersionRR20Q4
StatusclosedFix in branchFixed in SCM revision90590516bea1
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Tojorge-garcia
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0044615: ACI- Timestamp for the request missing microseconds (.sss as per dev guide)

DescriptionThere 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).

Steps To ReproduceStore made few EFT payment this afternoon (working well at the beginning).
Then, for one customer, they had an issue :

1) scan items using RFId basket --> normal behaviour
2) press on total
3) total amount in EFT
The pop up saying the EFT payment has been launched is diplayed
1s after, it says that the payment was rejected
But nothing had been displayed on the EFT device.

After that, all EFT payments had the same behaviour
Please see attached films (2 smartphone, 1 on WebPOS the other on the EFT)
TagsNo tags attached.
Attached Filespng file icon image.png [^] (60,060 bytes) 2020-07-15 21:20

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0121540)
hgbot (developer)
2020-07-20 17:16

Repository: erp/pmods/org.openbravo.retail.nexoprovider
Changeset: 0df8754f07b94f5782f3800a10f3139e77c9b7b5
Author: Adrián Romero <adrian.romero <at> openbravo.com>
Date: Mon Jul 20 17:13:33 2020 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/0df8754f07b94f5782f3800a10f3139e77c9b7b5 [^]

Fixes ISSUE-0044615: ACI- Timestamp for the request missing microseconds
* Fixes formatting date function to fit ACI requirements

---
M web/org.openbravo.retail.nexoprovider/js/models/loginNexoModel.js
M web/org.openbravo.retail.nexoprovider/js/models/paymentNexoModel.js
M web/org.openbravo.retail.nexoprovider/js/models/serializer.js
M web/org.openbravo.retail.nexoprovider/js/websocket/mockWebsocket.js
---
(0121542)
guillermogil (manager)
2020-07-20 17:34
edited on: 2020-07-20 17:35

Fix is not OK, the local time is not being sent:

new Date()
Mon Jul 20 2020 17:33:30 GMT+0200 (Central European Summer Time)

convertDateTime(new Date())
"2020-07-20T15:33:34.438"

convertDateTime should return "2020-07-20T17:33:34.438" in the above example

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

(0121543)
hgbot (developer)
2020-07-20 17:52

Repository: erp/pmods/org.openbravo.retail.nexoprovider
Changeset: 90590516bea1b522dbe139c42fb47047a2f53a69
Author: Adrián Romero <adrian.romero <at> openbravo.com>
Date: Mon Jul 20 17:52:10 2020 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/90590516bea1b522dbe139c42fb47047a2f53a69 [^]

Fixes ISSUE-0044615: ACI- Timestamp for the request missing microseconds
* Uses Local time instead of UTC time

---
M web/org.openbravo.retail.nexoprovider/js/models/serializer.js
---
(0121557)
jorge-garcia (reporter)
2020-07-22 09:07

Code reviewed ok
(0121569)
hgbot (developer)
2020-07-22 19:01

Repository: erp/pmods/org.openbravo.retail.nexoprovider
Changeset: 27cb9ed4f7a12ca094c540486ecf42c890b77911
Author: Adrián Romero <adrian.romero <at> openbravo.com>
Date: Wed Jul 22 18:59:52 2020 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/27cb9ed4f7a12ca094c540486ecf42c890b77911 [^]

Related to ISSUE-0044615: ACI- Timestamp for the request missing microseconds * Uses Local time instead of UTC time
* Reorganize code for unit testing purposes

---
M src/org/openbravo/retail/nexoprovider/NEXOComponentProvider.java
M web/org.openbravo.retail.nexoprovider/js/models/serializer.js
A web/org.openbravo.retail.nexoprovider/js/utils/getdatetime.js
---
(0121570)
hgbot (developer)
2020-07-22 19:01

Repository: erp/pmods/org.openbravo.retail.nexoprovider
Changeset: 76947e7d7ed6762c172927e06fccdce06e412baf
Author: Adrián Romero <adrian.romero <at> openbravo.com>
Date: Wed Jul 22 19:00:30 2020 +0200
URL: http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/76947e7d7ed6762c172927e06fccdce06e412baf [^]

Related to ISSUE-0044615: ACI- Timestamp for the request missing microseconds * Uses Local time instead of UTC time
* Fixes unit tests according new timestamp functions

---
M web-test/modellogin.test.js
M web-test/modelpayment.test.js
M web-test/nexoprocess.test.js
M web-test/payment.test.js
M web-test/rootnexo.js
---

- Issue History
Date Modified Username Field Change
2020-07-15 16:43 lmonreal New Issue
2020-07-15 16:43 lmonreal Assigned To => Retail
2020-07-15 16:43 lmonreal Resolution time => 1595196000
2020-07-15 16:43 lmonreal Triggers an Emergency Pack => No
2020-07-15 16:45 guillermogil Category Web POS => Nexo Implementation
2020-07-15 16:45 guillermogil Description Updated View Revisions
2020-07-15 21:20 guillermogil Description Updated View Revisions
2020-07-15 21:20 guillermogil File Added: image.png
2020-07-15 21:21 guillermogil Description Updated View Revisions
2020-07-20 17:16 hgbot Checkin
2020-07-20 17:16 hgbot Note Added: 0121540
2020-07-20 17:16 hgbot Status new => resolved
2020-07-20 17:16 hgbot Resolution open => fixed
2020-07-20 17:16 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/0df8754f07b94f5782f3800a10f3139e77c9b7b5 [^]
2020-07-20 17:34 guillermogil Note Added: 0121542
2020-07-20 17:34 guillermogil Assigned To Retail => adrianromero
2020-07-20 17:34 guillermogil Status resolved => new
2020-07-20 17:34 guillermogil Resolution fixed => open
2020-07-20 17:35 guillermogil Note Edited: 0121542 View Revisions
2020-07-20 17:52 hgbot Checkin
2020-07-20 17:52 hgbot Note Added: 0121543
2020-07-20 17:52 hgbot Status new => resolved
2020-07-20 17:52 hgbot Resolution open => fixed
2020-07-20 17:52 hgbot Fixed in SCM revision http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/0df8754f07b94f5782f3800a10f3139e77c9b7b5 [^] => http://code.openbravo.com/erp/pmods/org.openbravo.retail.nexoprovider/rev/90590516bea1b522dbe139c42fb47047a2f53a69 [^]
2020-07-21 10:16 adrianromero Review Assigned To => jorge-garcia
2020-07-22 09:07 jorge-garcia Note Added: 0121557
2020-07-22 09:07 jorge-garcia Status resolved => closed
2020-07-22 09:07 jorge-garcia Fixed in Version => RR20Q4
2020-07-22 19:01 hgbot Checkin
2020-07-22 19:01 hgbot Note Added: 0121569
2020-07-22 19:01 hgbot Checkin
2020-07-22 19:01 hgbot Note Added: 0121570


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker