Posted: November 29, 2018 at 11:03 am
We set up Authorize.net, but we were unable to get a test transaction to go through successfully.
We found there’s a quirk when saving changes to the auth.net settings. It tries to verify that the image defined in the “Button URL” field actually exists. It can’t do that because the site has an http basic auth setup, so we can’t save any of the changes when that value is set. Instead we need to remove the image file definition and then manually add it to the database afterward. The SQL to do this is:
We thought the keys might be incorrect, but found that was not the case.
The code in the Event Espresso plugin doesn’t properly support test mode. We debugged the plugin and found that it doesn’t actually set the “x_test_request” flag even though test mode is enabled. We added the following to the 3rd line of the _sendRequest function in plugins/event-espresso-core-reg/caffeinated/payment_methods/Aim/EEG_Aim_gatewya.php:
After adding that line the test transaction went through.
The downside is that this will be overwritten if/when the plugin is upgraded.
However, when we are in live mode it shouldn’t have any problem since it works properly with the live mode. It will only be a problem when testing.
FYI, the table “wp_esp_log” contains a log of every request to and response from the Auth.net API. That’s a good place to look to see what is actually being sent to the server.
With that said, the question is: Will Event espresso fix this in a future version of the plugin?
Thanks for your assistance.
Thanks for sharing this detailed report. Two things:
1) If the image can’t be loaded to verify the correct URL on the settings page, another workaround that doesn’t involve database manipulation is just use an image that can be loaded, like this one:
2) The test mode issue can be fixed in a future version, pending triage and prioritization. If you’d like to help make that happen sooner than later, the development team welcomes pull requests on the hosted code repository for Event Espresso 4 core: