I recently ran into an issue between the Wordfence plugin and the authorize.net payment process and want to share the solution.
One of the Wordfence options is “Block IPs who send POST requests with blank User-Agent and Referer". This is a very useful option, but it can interfere with Authorize.net passing the order confirmation back to the originating website. In our case, orders were completed but the user was redirected to an error page on authorize.net.
Here is what I did to resolve the issue and keep the Wordfence plugin.
Go to Wordfence > Options
After testing that the ordering process is working, recheck the Wordfence option "Block IPs who send POST requests with blank User-Agent and Referer"
Authorize.net IP Addresses: