WooCommerce does not set purchases to “Completed”, it leaves them in “Pending Payment” status.

If you use the “WooCommerce Redsys Gateway Light” Plugin by José Conti for credit card payments via Virtual POS and your card purchases do not change to the “Completed” status even though it is configured as such in the plugin, the problem is likely due to modSecurity on your server.
The solution is to disable modSecurity protection.
Go to your Plesk control panel (usually in the “Web Application Firewall” section) or CPanel and disable the protection.
This is not the most recommended solution, but it fixes the problem quickly.
If you know how to manage firewall rules, you can add an exception such as:
SecRule REQUEST_HEADERS:Content-Length “@eq 0”