Developer kernel for Sylius plugins that keep orders unpaid for a while: excluded from unpaid-order cancellation, payment methods filtered everywhere.
Plugins that keep placed orders unpaid for a while (pay on account, manual review) all need the same changes to Sylius: keep their orders out of sylius:cancel-unpaid-orders, hide some payment methods everywhere Sylius offers or assigns one, and stop the customer from paying an order that is not ready. When two plugins decorate the same Sylius services on their own, the decorations compete and break each other.
UnpaidOrderCancellationExclusionInterface: hold an order indefinitely or since a date; one decorator of the unpaid orders updater, a command that always terminates, each cancellation flushed and logged on its own.UnpaidOrderCandidateQueryExtensionInterface: exclude held orders in SQL.PaymentMethodEligibilityCheckerInterface: refuse a payment method with a reason, applied to the shop and API method lists, the default method, payments created after a failed one, method changes after checkout, payment requests and checkout completion.PaymentEntryBlockerInterface: block the shop payment routes and shop API payment requests until the order may be paid.AccountOwnerResolverInterface: the customer by default, decorated by a company plugin.This is a library for plugin developers: it has no route, no screen and no table of its own. Merchants get it as a dependency of Trade Credit.
Usually installed as a dependency of another plugin. Directly:
composer require tmonier/sylius-order-hold-pluginTmonier\SyliusOrderHoldPlugin\TmonierSyliusOrderHoldPlugin in config/bundles.php.Full documentation: README on GitHub.
Sylius 2.2.9+ and 2.3, Symfony Workflow adapter for the checkout, order and payment graphs (the Sylius 2 default); MySQL, MariaDB and PostgreSQL.
Default messages in English, French, German, Spanish, Italian, Dutch, Polish.
No reviews yet. Be the first to review this product!
Free, open source (MIT) Sylius 2 plugins for European merchants: compliance (Factur-X, EU withdrawal, GPSR), B2B (quick order, volume pricing, quotes) and back-office productivity. Tested, PHPStan max, 7 languages.
Read more© 2026 Sylius. All rights reserved.