Openbravo Issue Tracking System - Retail Modules
View Issue Details
0048992Retail ModulesGift cards and gift voucherspublic2022-04-06 17:012022-04-26 08:29
idiez 
Retail 
highmajoralways
acknowledgedopen 
5
pi 
 
2022-04-25
No
0048992: INCORRECT BALANCE FOR GIFT CARD
The gift card is discounted in version 20q3

https://livebuilds.openbravo.com/retail_modules_pgsql_pi/web/org.openbravo.retail.posterminal/?terminal=YS-11 [^]
- Chrome debug mode
- Limited network (slow 3G)
- Scan of the gift card
- Enter the product
- Click on "Checkout
- Refresh the page quickly
- Delete the ticket
- Scan of the gift card : amount deducted
No tags attached.
Issue History
2022-04-06 17:01idiezNew Issue
2022-04-06 17:01idiezAssigned To => Retail
2022-04-06 17:01idiezRegression date => 2022-04-25
2022-04-06 17:01idiezTriggers an Emergency Pack => No
2022-04-06 17:05idiezNote Added: 0136373
2022-04-22 13:24ranjith_qualiantech_comAssigned ToRetail => ranjith_qualiantech_com
2022-04-22 13:24ranjith_qualiantech_comStatusnew => scheduled
2022-04-26 08:29marvintmNote Added: 0136736
2022-04-26 08:29marvintmTypedefect => design defect
2022-04-26 08:29marvintmAssigned Toranjith_qualiantech_com => Retail
2022-04-26 08:29marvintmStatusscheduled => acknowledged

Notes
(0136373)
idiez   
2022-04-06 17:05   
The video link with steps:
https://drive.google.com/file/d/1B38UcJJQt2oZ_L9vk6QztCE3dizcBEYN/view?usp=sharing [^]
(0136736)
marvintm   
2022-04-26 08:29   
This problem is actually not possible to fix without completely rethinking the technical approach of the gift cards module, and specifically the part where we pre-consume the gift card balance before actually completing the ticket.

We did some workarounds in the past, to try to minimise the problem, like this one: https://issues.openbravo.com/view.php?id=41488 [^]

However, it is still fundamentally not possible for us to prevent the unwanted balance consumption when the following is true:
- The request is triggered to the backend (after the gift card payment is created) and reaches it.
- The user very quickly refreshes the application after this
- The ticket is then deleted

In that case, the backend only receives the initial request for balance consumption, but nothing after that, so we don't have any information that can be used to revert this balance consumption.

The only solution would be to remove this pre-consumption of the balance, which we currently don't want to do as this was requested to minimise chances of fraud. Therefore, we are changing this issue to Design Defect.