Commerce now in alpha

Commerce makes it easy to sell online exactly the way you want. Extend functionality with our Payment Methods and Modules or build your own.

Commerce: Work in Progress

Commerce is currently in private alpha testing. We've got ambitious plans to make Commerce the best e-commerce solution available for MODX. In this roadmap, we're publishing our plans and progress towards v1.0. Once we hit that, we'll update the roadmap with our plans beyond v1.

Send us a note via [email protected] or on our community forum if you have any questions

The road to Commerce 1.0

Currently we're focusing on getting Commerce to version 1.0. That version number represents Commerce being ready for production, and having all the baseline features we decided on.

Not all features and ideas have made it onto the list for version 1.0. We'll work on those in the releases to follow. Be sure to send us your feature requests so we can properly prioritise each of them.

The statuses on the roadmap roughly go in this order: Planned > In Progress > Almost Done > Missing Documentation > Complete.

Also see the Features List for a run-down of all the (already implemented) features; we didn't copy all of them into the roadmap below.

  • Commerce was built with extending in mind, so making it modular in a way that you can extend it with modules is very important. Just need to create some sample code for developers to show how to register their modules.

  • OmniPay is a popular PHP library that abstracts away the implementation details of different payment providers. This means there is a standardised API that can be used with pretty much any payment provider out there, provided there is a driver for it available. See the other roadmap further down this page for the specific gateways implemented or planned.

  • Whereas SimpleCart tightly connects a payment gateway to a payment method, these are separate concepts in Commerce. This means you can create many instances of a single payment gateway.

    Payment methods can be given both a fixed and percentage-of-order price, and can also be restricted to certain order totals. These features combined with the separation of payment methods and gateways enables a lot of control over how customers can pay their orders, and what that costs.

  • For complete control over the pricing of payment methods, Commerce allows you to extend the payment methods to calculate the payment price any way you'd like. Out of the box it has fixed price and percentage of order total pricing, with restrictions on order totals that can use the payment method.

    By extending the payment method it's possible to tailor the payment method price to the cart, for example by looking at specific products or the total number of items purchased. This needs to be documented.

  • Shipping methods can be configured via the admin area of Commerce. It allows you to set a fixed price, or a percentage of the order total as fee for the shipping method. It's also possible to set a minimum and maximum order amount for a shipping method to be available, so you get a flexible solution out of the box.

  • Aside from the tweaks still needed to shipping methods in general, the ability to create custom shipping method classes with bespoke logic for determining the shipping price (for example based on product weight, size or quantity) is available and documented in the developer docs.

  • Theming/templating is done with Twig. This is a template language not too different from the MODX templates, however it has a couple of interesting features that make it a lot more powerful. Thanks to these features we can keep the number of unique templates to a minimum, and it gives more flexibility in how for example your cart or checkout is built. The templates are also stored in files, making it easier to keep in version control. The templates can either be in the commerce directory or another defined path.

    One of those features is support for partial themes. If only one template file needs to be changed, only that file has to be duplicated and edited; all the other templates will fall back to the default.

    The templating basics are documented. Documentation on specific template files and an introduction to Twig would be good to add still.

  • Modules can hook into an EventDispatcher from Symfony 2 to essentially fire plugins on events throughout the Commerce core. This enables modules to influence core behaviour with a clean upgrade path. There's some high level documentation available for this already, however that needs to be improved and expanded to include a list of all available events and how they can be used.

  • For information on how statuses, status changes and status change actions work, check the documentation. This has been mostly implemented from an architectural standpoint and is reflected in the dashboard.

  • The merchant dashboard is a big part of Commerce that includes everything from order management to reporting and configuration. It's built html-first with javascript enhancements. The dashboard is mostly done, however there are still tons of small (and bigger) tweaks that we'll continue to make based on your feedback through the alpha and beta.

  • Commerce has basic multi-currency support. See the documentation for details.

  • As products and the catalog are considered separately by Commerce, snippets and models (or modules) need to be available that can be used to link products to a resource-based catalog. A basic implementation of this is available and documented, but we have some further ideas and work to do.

    There's also an idea we'll investigate closer to the beta for providing a custom TV input type to handle this nicely.

  • Similar to the Resource Catalog, the necessary tools for interacting with an existing SimpleCart catalog needs to be developed and documented,

  • Address validation in the checkout is done with modules, of which 2 are available out of the box. The basic validation just checks if the configured fields are filled in, if the email address is valid, and if a proper country was selected. The country validator allows you to whitelist/blacklist specific countries that should be able of placing orders (or not).

  • The reports and exports will cover a wide range of topics, including product sales, taxes, orders and addresses exports. There are a couple of reports in the alpha, and we'll add more during the beta based on your requests.

  • The merchant dashboard allows you clean up most object types. Some of these use a safe soft-delete, where the object stays in the database for historical accuracy, while some others are permanently removed when you hit the delete button.

  • The checklist on the configuration page in the merchant dashboard offers some guidance on things to check while going live, as well as strict requirements. The checklist needs a fancy go live button needs to switch to live mode if all things check out. This is planned for the beta.

  • Emails and other forms of communication related to an order are managed through order messages. Before the beta the plan is to extend this system to have statuses, so that messages can be in "draft", "queued" or "sent". That will allow (third party) integrations to asynchronously send messages that are in the queue.

  • By integrating with TaxJar Commerce can automatically handle US Sales Tax.

  • The EU VAT module handles providing the tax rates for all EU countries. The EU VAT Validator module added in 0.2 handles validating a vat_registration address field with the VIES database. With both modules enabled, you can set the EU VAT module to implement the Reverse Charge mechanism to charge 0% VAT on international business to business sales, with verified VAT numbers.

  • The checkout already supports user accounts, but it doesn't have the feature where on the address step you optionally provide a password and it creates an account for you. This would be a really great feature we'd like to add to Commerce.

  • Early architectural steps have been taken for a single page checkout, but it's not yet functional the way we want to. This will be worked on before the stable release.

  • The dashboard (as in, the first page visible when you browse to Commerce in the manager) offers a sales graph and some basic information. We're planning to extend this, and make it extendable through modules, so it can provide better information at a glance.

  • Invoices will function through the status workflow system where you can define at what point during the order handling an invoice is generated. The goal is to make this support PDF invoice generation, or make it pluggable so that PDF invoicing can be added.

Payment Gateways

The list of Payment Gateways below shows you which gateways are currently complete, in progress, or planned to be added. It also lists gateways that are unconfirmed, which means that we received a request for it before, but not enough to make it an immediate priority. Eventually we intend to add all gateways we can but for now which ones will be available out of the box depends on how many requests we get for each.

A large part of the prioritization here happened following the Early Access Survey in October 2016.

  • Implemented. This uses the more recent PayPal express checkout experience.

  • Uses Stripe.js with a custom form to give full control over the markup.

  • Can be used both as a "catch all" to allow the customer to choose a payment gateway on the Mollie checkout page, or it can be configured to use a specific payment method for more control over the experience.

  • Offers credit card and PayPal, as well as some other integrations including Apple Pay if enabled on your account.

  • has been implemented with (fairly new) Accept.js implementation. This requires JavaScript, but is also the cleanest PCI-free implementation offers.

  • Implemented with the Paymill Bridge PayFrame integration for reduced PCI compliance requirements.

  • Allows customers to pay with a wide range of payment methods.

  • Planned for beta.

  • Popular in the UK.

  • We're considering adding this gateway. Additional requests for it will help make it a priority sooner.

  • We're considering adding this gateway. Additional requests for it will help make it a priority sooner.

  • We're considering adding this gateway. Additional requests for it will help make it a priority sooner.

  • We've not received enough requests to confirm this gateway yet. If you need it, let us know!

  • We've not received enough requests to confirm this gateway yet. If you need it, let us know!

  • We've not received enough requests to confirm this gateway yet. If you need it, let us know!

  • We've not received enough requests to confirm this gateway yet. If you need it, let us know!

  • We've not received enough requests to confirm this gateway yet. If you need it, let us know!


Disclaimer: Viewing non-Euro pricing

You are currently viewing prices in a non-Euro currency. Please be advised that these prices are estimates, based on data by Open Exchange Rates.

While we offer this currency converter hoping our users find it convenient, all purchases are made in Euro, and the final amount charged can vary depending on payment provider, day, time of day and a number of other factors outside of modmore's control. There are no guarantees on accuracy and modmore nor Open Exchange Rates can not be held liable for errors.