Display Payment Screen race situation

I am trying to use a rule that will…

  • Add a surcharge calculation based on the {:TENDEREDAMOUNT}
  • Refresh the payment screen (using Display Payment Screen action)
  • Set the Tendered Amount numberpad to a specific value

If I don’t refresh the the payment screen then setting the numberpad works. But I need to refresh the payment screen becaue if I don’t then you don’t see the service calculation getting applied to the balance.

Interestingly, if I use Show Message between the Display Payment Screen and the Set Numberpad then this gives enough time for the payment screen to refresh before the numberpad gets set. But it’s not ideal. I guess it would be better for the next action not to be triggered until the “Display Payment Screen” action has completely finished?

So just to reitorate…

#This works…

  • Add calcuation
  • Display Payment Screen
  • Show Message
  • Set Numberpad

#This doesn’t work…

  • Add calcuation
  • Display Payment Screen
  • Set Numberpad

Why can’t you just use calculation selector button instead of all that automation?

Because the calculation selector is based on the Ticket Total…

I am applying a Credit Card surcharge, so I only want to apply it either on the remaning about, or a surcharge on the amount keyed on the Tender Numberpad. Hence the need for the automation.

M

Ok have you tried a processor?

Yep, but it get’s messy with multiple payment types and multiple currencies and we sometimes charge 0%, 3% and 5% across 3 different terminals so that would be 9 payment types.

Try putting the Numberpad Action within a Rule for an Automation Command Executed.

Instead of setting Numberpad in your original Rule, replace that with an action to fire the Automation Command with a Delay of 1, which in turn fires the Numpad Action.

I already tried firing the Keypad change from a separate Rules using “Automation Command Executed”, but I had the same problem. I will take a look at the delay option shortly…