fix:discount coupon code not reflected if added in payment step #570
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Problem
When a customer applies or removes a discount code during the Payment step of the checkout flow, the Checkout.com payment request does not reflect the updated order total.
This occurs because the payment object/payload is initialized when the user first lands on the payment step. Since applying a coupon in Magento's standard checkout doesn't always trigger a full re-initialization of the payment component's internal data, the extension continues to pass the original amount (pre-discount) to the Checkout.com API. This results in the customer being charged the full price despite a coupon being successfully applied to the Magento quote.
Solution
I have updated the logic to ensure that the payment totals are recalculated/refreshed whenever the quote's "totals" object is updated. This ensures that the final payload sent to Checkout.com always contains the most recent grand_total including any discounts applied at the last minute.
Changes
How to Test