I have a requirement of applying promotions based on multiple thresholds.
Say for example fixed discount on order threshold. on 100$ -> 5$ discount, on 200$-> 20$ discount.
My order value is now above 200$ but since the order value is greater than the threshold on both occasions, the discount applied is 5$+10$ rather than 10$ alone.
I have defined a custom promotion class extending OOTB fixed discount promotion class and am checking for the threshold and am applying based on promotion results and the instance of promotions applied and then removed the all promotions of the current instance and apply the new one.
Is there a way to ensure only one valid promotion is applied.