Hi there,
Order and payment process is pretty straight forward from the checkout page.
When checkout form is submitted successfully, a session is created with the order information so its available on the payment form
Order is created when the payment form is submitted successfully then session information is updated. (at this stage the order doesn't have a status, the order status is later added/updated after payment is completed by calling Orders_model->completeOrder() from the payment extension)
Let me know if that makes sense :)