Hey folks, posting a bug report here to hopefully get some on it!
The ‘Order’ class discount functions allow you to pass an array of ‘Conditions’, for example that an order subtotal minimum is met.
It appears that in a specific scenario, these are not working correctly. An example discount:
- Returns multiple discounts, each with a different ‘minimumSubtotal’ (e.g spend $100, get 10% off, spend $200 get 20% off)
- A discount application strategy of ‘MAXIMUM’ (or ‘FIRST’)
- When a shopper changes market, the presentment rate is used to update the ‘minimumSubtotal’ to that currency.
If this is an ‘automatic’ discount, the discount works flawlessly in both the store’s base currency and any other currency/market.
When the discount is created as a ‘manual code’, it works flawlessly for the store’s base currency. However, when you change currency/market, in some currencies, no discount(s) apply, and in other cases some (or all) tiers apply correctly, but not others.
It’s worth noting that when this discount is an ‘Automatic’ code, this works completely as expected.