We need to be able to accommodate payments by checks for our commercial customers, and have found that changing the status of orders placed through the Pay by Check gateway does not trigger normal events, such as updating inventory counts or logging items in the Purchased Items channel (both of which, by the way, work for normal credit card processing through Stripe).
Currently, on the Orders settings pane, both the Order Status and Purchased Items Channel sections are configured to use the same statuses for Payment authorized/complete (Paid) and Payment being processed (Awaiting Payment).
Also, on the Payments settings pane, the Pay By Check gateway When order is taken, set processing status to option is set to "Processing".
So, for example, once an order is placed on the front-end of the site, the order appears in the Orders channel with the status of Awaiting Payment. If I update the status to Paid, the order does trigger any of the actions that it should as a completed order. I've tried updating the status directly in the Orders channel as well as in the Ecommerce Orders Manager. Neither work. Also, I've tried using the
force_processing="yes" parameter on the checkout form.