Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SVC Accept Coupon Discount Reversal 1

Status
Not open for further replies.

wewantphil

Programmer
Sep 4, 2013
79
US
Micros 3700 system 5.2, I am using SVC to redeem coupons for Value discounts with the SV_Accept_Coupon message. When I void a discount applied in an active transaction, SVC is not sending a Reversal message through SVC like it does when you void a SVC payment approved by the SV_Redemption message (for stored value Tender Payments).
Anyone have any ideas on how to force this reversal behavior for the Discount?
 
If it passing as a Discount, you should include or check to see in the ISL that there is a DSC_VOID event. If there isn't I would add one and then test.

You can add this if there isn't one, then try the Void of the Discount. If the message Popups then you should add your information or process to this function. By the way, this works on a 9700 System, not sure on the 3700.
Code:
event DSC_VOID 
  infomessage "Testing Discount Void Reversal"
  // Add any process/functions here
endevent
 
Thank you for the reply and advise. since I'm using the prebuilt SVC SIM I had to create a new SIM with your suggested stub event and it did actually work. Interestingly I believe by going through this process I also discovered the root cause of my issue. I believe you need to have the Reference Required checkbox checked on the Discount configuration. If that box is not checked, you can get a discount authorization but it will not be automatically "reversed" through SVC if you don't have Reference Required. I knew I'd received a Reversal message from the Discount Void before but couldn't recreate it until apparently adding Reference Required. Anyway, your ISL worked as well so now I can do more with the void if I want after the reversal. Thanks again for the reply.
 
Great, Glad it worked, and didn't think about checking the options, that too would have been a cause.
 
so the next thing I am trying to do is trap the Cancel event and void any discounts applied through my the SVC SIM.
I have the following, but using VoidDetail does not send the discount reversal request through the SVC SIM like pressing the Void button does. Also cannot seem to compare the @DTL_STATUS bits when the discount is indeed Voided (they're always zero for bits 5, 10,24,32)

Code:
event TRANS_CANCEL : confirm
    var d : N9
    for d = 1 to @NUMDTLT
      if(@DTL_TYPE[d] = "D")
         VoidDetail(d)
      endif
    endfor
endevent

I would be willing to simply catch the Cancel attempt and cancel it (not allow cancel to finish successfully) instead of trying to call VoidDetail, but I'm not sure what exit or return statement to call to disallow the cancel from completing when an existing discount is found.
 
I've never been able to get the TRANS_CANCEL event to work. I am running Micros 9700 3.6. I want to say that there are a few others that have mentioned the same thing.

:::UPDATE:::
While looking this over, I have found an error in Micros' documentation for the TRANS_CANCEL event. The correct Event is TRANS_CNCL. I noticed this while preforming a Transaction Cancel on my lab. We have the emon interface working, and this writes to the 8700d.log file. You can see a good amount of information passing through here. I noticed when I cancelled the transaction it was showing up as TRANS_CNCL and not TRANS_CANCEL. So I created an event with TRANS_CNCL instead, and what do you know, it worked.

Here's the simple event I created.
Code:
Event TRANS_CNCL
  infomessage "Transaction has been Cancelled by User"
endevent
 
to be clear for future readers of this thread, TRANS_CANCEL is the correct event for 3700 and it sounds like TRANS_CNCL works for 9700... i have seen at least two other instances where an event name or method call is different in the two systems but performs the same function....
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top