Fix #3372 by adding digital goods rounding item #3373
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.
Rounding differences were previously added as physical goods, which changed the properties of the cart. Now, if the cart does not contain physical items, the extra line item will be added as a digital goods item.
Issue: #3372
Description
Rounding differences can change the basket to contain physical goods and lead to additional errors such as order failure. This PR add the extra line item for rounding errors as a digital goods item by default, except if there are already some physical goods in the basket.
It may be viable to always add the rounding difference as a digital goods item, but I decided to change as little as possible compared to the current handling.
Steps to Test
Subtotal mismatch
will be added by default byPurchaseUnitSanitizer
. This item is now a digital product.Subtotal mismatch
will be added by default byPurchaseUnitSanitizer
.Changelog Entry
Fix - Rounding items are digital goods unless the basket contains physical goods #3372