1 Create customer, add some store credit ≈ 1000.00
2 add 'free checkout; as a payment option in Extension > Payments
3 edit newly added payment option to enable and set order status
>> notice order status does not 'stick' for the payment method, reverts to 'canceled'
4 go to storefront and log in as customer
5 shop, add some items below the 1000.00, and proceed to checkout
6 total should come to 0.00, thus triggering presentation of 'free checkout' as an option.
7 Place Order
>> order appears to complete from perspective of customer, presented with success page.
Notes: order does not appear in customer;s order history. Does not appear in the admin order list. Does get injected into the DB, so this becomes a zombie order that has no ability to be accessed from either frontend or backend.
Proposed fix, appears to function in that the order now appears in the user and admin areas:
convert all instance of variable 'free_checkout_order_status_id' to 'payment_free_checkout_order_status_id'
/admin/view/template/extension/payment/free_checkout.twig: -- also needs to be updated in same way for the option that controls this value. All values that referred to order_status were converted to order_status_id
The short is that the value 'payment_free_checkout_order_status_id' was not being set in the DB properly. Which apparently caused catalog/controller/extension/payment/free_checkout.php to fail when it was setting the order status at the end of its routine.