I'm posting here in the hopes that you'll be able to help or at least guide me, as I've been trying to figure out the solution to this issue for two days straight, and potentially losing sales because of this.
In my online shop, I've created a coupon that makes everything 25% off, and offers free shipping. It has no usage limit, and customers may use it as many times as they want. Its start date is in the past, and the end date in the future.
When a customer applies the coupon, a success message in the cart says the coupon was applied. However, right from the bat, the price doesn't change, and the shipping fees are not waived. If they decide to go to the checkout page, the coupon is not applied there either, which makes them end up paying both the full price and the shipping fees.
I had no choice but to dive into the code. I can confirm that the session data does contain the applied coupon, the coupon exists, and it has the right settings. The coupon can be found with
Code: Select all
$this->session->data['coupon']
It doesn't seem like the coupon class' method
Code: Select all
ModelExtensionTotalCoupon::getTotal()
Code: Select all
ControllerApiCoupon::index()
Code: Select all
ControllerCheckoutShippingMethod
I've looked far and wide in the code, your forums, and Google, and yet it seems like no one else has this issue.
My shop is using Opencart 3.0.3.9. Updating now to version 4 is definitely not a choice due to incompatibilties with some of the extensions.
Thank you all in advance for your help!