Skip to content

[5.x] Adjustments being dropped on payment - #4346

Merged
nfourtythree merged 9 commits into
5.xfrom
bugfix/5.x-adjustments-being-dropped
Aug 10, 2026
Merged

[5.x] Adjustments being dropped on payment#4346
nfourtythree merged 9 commits into
5.xfrom
bugfix/5.x-adjustments-being-dropped

Conversation

@nfourtythree

Copy link
Copy Markdown
Contributor

Description

Related issues

#4342

@nfourtythree nfourtythree self-assigned this Aug 7, 2026
@nfourtythree
nfourtythree requested a review from a team as a code owner August 7, 2026 07:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses an order-completion edge case where Order::updateOrderPaidInformation() could unintentionally re-enable full recalculation on a now-completed order, allowing later recalculation to drop shipping adjustments (making orders appear overpaid), particularly with dynamically-registered third-party shipping methods.

Changes:

  • Update Order::updateOrderPaidInformation() to only restore the prior recalculation mode if the call did not complete the order.
  • Add unit tests reproducing the paid/completed “shipping adjustment dropped” scenario and asserting the corrected recalculation lock behavior.
  • Add a unit test validating that dropping a shipping adjustment when a method no longer matches is expected cart behavior.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
src/elements/Order.php Prevents restoring recalculationMode after updateOrderPaidInformation() when the order becomes completed, keeping completed orders locked against recalculation.
tests/unit/elements/order/OrderRecalculationTest.php Adds regression tests covering the paid/completed recalculation-lock scenario and related control cases.
tests/unit/adjusters/ShippingTest.php Adds a focused test confirming shipping adjustments are dropped when a previously-matching method no longer matches (expected cart behavior).

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/unit/adjusters/ShippingTest.php
Comment thread tests/unit/elements/order/OrderRecalculationTest.php
nfourtythree and others added 5 commits August 10, 2026 15:35
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
[ci skip]
@nfourtythree
nfourtythree merged commit 9f7334b into 5.x Aug 10, 2026
14 checks passed
@nfourtythree
nfourtythree deleted the bugfix/5.x-adjustments-being-dropped branch August 10, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants