A payer who abandons the hosted checkout leaves the order locked. Now that kessai expires a lapsed payment, release the hold on it too.
OrderLockSubscriber adds kessai.expired to its unlock set, alongside failed and cancelled, so an expiry unlocks the order back to the editable basket like any other non-payment outcome.
The example booking workflow drops its node-level payment timeout for the payment step's own payment_timeout (PT20M) and routes the dedicated expired outcome.
Depends on the kessai expiry event (kessai #3611872) and the orchestra bridge (#3611873). Covered by the end to end workflow test.
Issue fork yoyaku-3611874
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mably commentedOpened merge request !48 against 1.x. The full end to end suite passes locally (10 tests). Depends on the kessai expiry event (kessai #3611872) and the orchestra bridge (#3611873), so CI here goes green once kessai has landed in 1.x-dev.
Comment #5
mably commented