(verified in Magento 2.2.3 and 2.3.4)
The module is a fully functional implementation of a custom checkout that uses Qliro One functionality through its API.
Out of the box, only purchase of virtual, simple and configurable Magento products are supported, but there is a built-in mechanism for extending support for custom product types, custom shipping methods, custom discounts, provided within the code of the module.
As Qliro One Checkout is designed as a custom payment method, all configuration options are located in admin panel, under STORES > Settings > Configuration > SALES > Payment Methods > Qliro One Checkout.
All settings here are website-specific.
All settings here are website-specific.
All settings here are store-specific.
All settings here are website-specific.
Module-specific event dispatch points are provided in the places which cannot be customized using Magento plugins.
qliroone_shipping_method_build_afterArguments:
quote — an instance of quote (\Magento\Quote\Model\Quote)rate — an instance of a shipping rate (\Magento\Quote\Model\Quote\Address\Rate)container — shipping method container (\Qliro\QliroOne\Api\Data\QliroOrderShippingMethodInterface)Notes: Happens after the shipping method container is already built, can be updated before sent to the Qliro order create or update requests. If you want to have this particular shipping method skipped and not sent to the request, set the merchant reference of the container to null.
qliroone_shipping_methods_response_build_afterArguments:
quote — an instance of quote (\Magento\Quote\Model\Quote)container — shipping methods response container (\Qliro\QliroOne\Api\Data\UpdateShippingMethodsResponseInterface)Notes: Happens after all shipping methods are built and packed into a shipping methods response container.
qliroone_order_item_build_afterArguments:
quote — an instance of quote (\Magento\Quote\Model\Quote)container — QliroOne order item container (\Qliro\QliroOne\Api\Data\QliroOrderItemInterface)Notes: Happens after a QliroOne order item container is formed, can be updated before it is sent to the create or update request. If you want to have this particular order item skipped and not sent to the request, set the merchant reference of the container to null.
qliroone_order_create_request_build_afterArguments:
quote — an instance of quote (\Magento\Quote\Model\Quote)container — QliroOne order item container (\Qliro\QliroOne\Api\Data\QliroOrderCreateRequestInterface)Notes: Happens after a QliroOne order create request container is formed, can be updated before it is sent to Qliro.
qliroone_shipping_method_update_beforeArguments:
quote — an instance of quote (\Magento\Quote\Model\Quote)container — simple \Magento\Framework\DataObject container that contains three fields,
shipping_method — a code of the shipping method, as it is coming from QliroOne updatesecondary_option — a secondary option, as it is coming from QliroOne updateshipping_price — an updated shipping price, as it is coming from QliroOne updatecan_save_quote — a flag that is initially set to true if the shipping method is different from one in quote. If only secondary option has to be applied, or something else requires quote recalculation and saving, it should be set to true by one of the event listeners.Notes: Happens before QliroOne checkout module is ready to set the updated shipping method to Magento quote.
qliroone_shipping_price_update_beforeArguments:
quote — an instance of quote (\Magento\Quote\Model\Quote)container — simple \Magento\Framework\DataObject container that contains three fields,
shipping_price — an updated shipping price, as it is coming from QliroOne updatecan_save_quote — a flag that is initially set to false. It should be set to true by one of the event listeners if the quote requires recalculation and saving.Notes: Happens before QliroOne checkout module is ready to get the shipping price updated in Magento quote.
Obviously, no special plugin entry points are provided for the original module, but developers can use standard Magento 2 plugin mechanism to plug into any public method in any class instantiated using DI, as specified in https://devdocs.magento.com/guides/v2.2/extension-dev-guide/plugins.html.
qliroone_link - The table that stores the Qliro One reference with Magento Quote. It contains more details as well, such as status and last known comment regarding that order.
qliroone_log - a detailed log of everything that takes place in the code. All logs are linked with the Qliro One reference id.
qliroone_om_status - contains the history of all notifications received from Qliro One, plus some additional status updates
qliroone_order_lock - during certain events and functions, we use this table as a semaphore lock to allow or disallow certain concurrent functions.