Avarda Checkout - The Checkout Flow

The WooCommerce order will be created first (in Pending status), then the Avarda order is placed, and finally the WooCommerce order is updated to Processing status. This update is more compatible with other WooCommerce plugins.

The checkout flow also means that Pending orders can be visible in WooCommerce, where the payment has not been finalized in Avarda. 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 Avarda Checkout is the selected (or only) payment method, an Avarda order id is created.
  2. When the customer clicks the Complete payment button in Avarda Checkout, a JavaScript event is triggered by Avarda.
  3. The standard WooCommerce checkout form is submitted by the Avarda Checkout 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.
  4. If the order creation went well, the Avarda Checkout plugin responds with a true message in the JavaScript event (if something went wrong during the order creation process the Avarda Checkout plugin will respond with a false message in the JavaScript event and Avarda will not finalize the purchase. Instead an error notice will be displayed for the customer). 
  5. Provided that the Avarda Checkout plugin respond with a true message, Avarda then finalizes the purchase in their system.
  6. We get a callback from Avarda if the order was successfully completed in the Avarda system.
  7. The Avarda Checkout plugin redirects the customer to the confirmation URL.
  8. The Avarda Checkout plugin populates the WC order.
  9. The Avarda Checkout plugin redirects the customer to the order received page and updates the order status to Processing in WooCommerce.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.