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

Command icon 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

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

Opened 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.

  • mably committed 219dc6cd on 1.x
    feat: #3611874 Release the order when its checkout payment expires
    
    By:...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.