You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a partial payment has one part that is cancelled, the order in shopware will be cancelled and remain cancelled. Even when another succesful part completes the entire payment.
What happens is when you have a failed part - for example when someone enters an incorrect pin on a giftcard - a push is sent to shopware with a 690 status. This causes the order state to change to cancelled.
Then when another payment part has been succesful a new push is sent to shopware with status 190. This is supposed to reopen the order and handle the payment. However the check to see if the order should be reopened breaks. This causes the order to remain cancelled. The rest of the handling fails because you will get illegal state transitions, since the order is still cancelled instead of reopened.
The issue is in the PushController at line 140 - the part that should reopen the order:
The order state is being checked to see if the order has the state cancelled. This check fails, since it is being checked against: StateMachineTransitionActions::ACTION_CANCEL which is cancel, not cancelled.
The check is in the CheckoutHelper->getOrderTransactionStatesNameFromAction
The text was updated successfully, but these errors were encountered:
rickschippers
added a commit
to rickschippers/Shopware-6-plugin
that referenced
this issue
Aug 5, 2021
Another side effect of this issue is that this check will return true if the order state is open. Since the getOrderTransactionStatesNameFromAction will return OrderTransactionStates::STATE_OPEN; if it doesn't find a match.
So you propably want to make the isOrderState method a bit more robust.
When a partial payment has one part that is cancelled, the order in shopware will be cancelled and remain cancelled. Even when another succesful part completes the entire payment.
What happens is when you have a failed part - for example when someone enters an incorrect pin on a giftcard - a push is sent to shopware with a 690 status. This causes the order state to change to cancelled.
Then when another payment part has been succesful a new push is sent to shopware with status 190. This is supposed to reopen the order and handle the payment. However the check to see if the order should be reopened breaks. This causes the order to remain cancelled. The rest of the handling fails because you will get illegal state transitions, since the order is still cancelled instead of reopened.
The issue is in the PushController at line 140 - the part that should reopen the order:
The order state is being checked to see if the order has the state
cancelled
. This check fails, since it is being checked against:StateMachineTransitionActions::ACTION_CANCEL
which iscancel
, notcancelled
.The check is in the
CheckoutHelper->getOrderTransactionStatesNameFromAction
The text was updated successfully, but these errors were encountered: