The only way to get an order to autocomplete after payment confirmation, is to have the product as virtual AND downloadable. This will trigger auto-complete.
Hi @juliane25,
To clarify Poul’s reply slightly, WooCommerce core will auto-complete an order only when all items are both virtual AND downloadable. Virtual-only products (without the downloadable checkbox) won’t trigger auto-completion natively, even though no shipping is required.
If your products are virtual but not downloadable, the official no-code solution is the WooCommerce Order Status Control extension. It adds a setting under WooCommerce → Settings → General that lets you auto-complete virtual-only orders (or all orders) without any custom code. Takes about a minute to configure.
If your products are already set as both virtual and downloadable, just make sure both checkboxes are ticked on the product’s General tab and orders should complete automatically after successful payment.
I hope that helps. Let us know if you need anything else.