a new order is created (payment status: Payment Pending)
a payment is made (payment status: Processing)
product is shipped (payment status: Completed)

for your system, WooCommerce does offer other statuses, for example, you could mark it “On Hold” while waiting for the payment to confirm, then change it to “Processing” once a payment is confirmed or “Failed”, if the payment is not confirmed after 15 minutes….

The 3 stage statuses though are a standard with WooCommerce payment gateways and If you use the Woocommerce code “$order->payment_complete()” instead of hard setting the status, “$order->update_status(‘completed’, __(‘BitPay payment complete’, ‘woocommerce’));”, it will set the correct status based on the products in the order.