The checkout flow

The checkout flow

The checkout flow used for this plugin can result in Pending orders existing in WooCommerce, where the payment has not been finalized in Qliro. This is part of the general WooCommerce checkout flow, and it does not implicate that something is wrong.

The Checkout Flow


  1. Customer navigates to the checkout page in WooCommerce. If Qliro One is the selected (or default) payment method, an initialize session request is sent to Qliro.
  2. Qliro responds with a session id that is used for further communication with Qliro and a html snippet that is rendered on the checkout page. The html snippet includes the embedded Qliro One checkout.
  3. When the customer clicks the Complete payment button in Qliro One, a JavaScript event is triggered by Qliro.
  4. When the customer identify herself in the Qliro One checkout, a JS event is triggered. The Qliro One for WooCommerce plugin is listening for this event, updates the customer in WooCommerce and recalculates the cart. If anything changes (like the selected shipping method), an update checkout request is sent to Qliro.
  5. When the customer clicks the Complete payment button in Qliro One checkout, a JavaScript event is triggered by Qliro.
  6. The standard WooCommerce checkout form is submitted by the Qliro One plugin with customer data that we have in this step and a pending order is created in WooCommerce. This order has not yet been paid for and you should not change the status to Processing/Completed manually.
  7. If the order creation went well, the Qliro One plugin responds with a true message in the JavaScript event (if something went wrong during the order creation process the Qliro One plugin will respond with a false message in the JavaScript event and Qliro will not finalize the purchase. Instead an error notice will be displayed for the customer). 
  8. Provided that the Qliro One plugin respond with a true message, Qliro then finalizes the purchase in their system.
  9. Qliro One redirects the customer to the confirmation URL.
  10. The Qliro One plugin runs the WooCommerce function payment_complete() that changes the WooCommerce order status to either Processing or Completed.
  11. The order received page is rendered and displayed for the customer.