Electronic and auto payments are implemented through Authorize.net. There are some merchant settings that are not supported and can create unexpected behavior.
If the error message you are seeing displays error codes, use Authorize.net's resources for an easy way to look up those error codes and troubleshoot: https://developer.authorize.net/api/reference/responseCodes.html
If you are having problems with your credit card transactions failing, your security filters may be the problem:
In your Authorize.net account, you should make two setting changes to allow your cards to process properly. You should ONLY change these settings if you ONLY process credit card payments through the Compliance Publishing Portal, and not through your own website.
1. On the Authorize.net home screen, click on Settings on the left side navigation
2. Under Security Settings, click Enhanced Card Code Verification. Uncheck Enable Filter, and click SAVE. This eliminates the requirement to compare your customer information to the card information. ONLY UNCHECK THE FILTER IF YOU TRUST THE CARD NUMBER THAT WAS PRESENTED TO YOU.
3. Under Security Settings, click Daily Velocity Filter. Change the threshold to a higher number, and then select: "Process as normal and report filter(s) triggered". This will allow your invoices to process normally, and then alert you to abnormal activity. IT IS IMPORTANT TO CHECK ANY ALERTS SENT TO YOU BY AUTHORIZE.NET TO DETECT ACTIVITY THAT YOU DO NOT EXPECT.
*****PLEASE BE SURE YOU ARE REVIEWING SETTINGS IN THE PAYMENT FORM AND NOT THE VIRTUAL TERMINAL*****
Issues updating a payment for an existing customer
We have seen occasional issues involving updating the autopay payment method for an existing customer. We have not been able to track down the exact root of the problem, but Authorize.net has been know to reject the payment update with a message similar to: "There is one or more missing or invalid required fields." The workaround for this issue is to fill in the address of the customer with the payment information.
Payments that are held for review
Another potential issue arises from transactions that are held for review. When a payment is made, automatic or not, Authorize.net will respond with a success code behind the scenes.
The response codes are 1 - 4:
1 = Approved
2 = Declined
3 = Error
4 = Held for Review
Any response that is not a 1 -- Approved is treated as a failure of payment by our system.
Unexpected behavior can arise if the response is 4--Held for Review. Held for Review means that the payment has been authorized, and the funds are reserved, but the payment has not gone through, pending a review of the transaction.
Unfortunately, we do not receive any information from Authorize.net as to whether a payment held for review was voided or approved. Because of this, we must treat such a payment as unsuccessful.
If the merchant does not void the payment, then it gets paid, but will have no record in our system of the payment since it was treated as a failure and will have to be manually entered in our system. Otherwise, duplicate payments can occur.
On a related note, it is always recommended that you do NOT use any of the Fraud Detection Suite services, such as the AVS (address verification) or CCV (code verification), or any of the e-commerce filters. These are in place to prevent fraud from people placing orders, primarily for items that will be shipped to them, and it compares the addresses and billing address, for example. However, the Fraud Detection will also flag items where the company address does not match the card holders address, causing problems with the billing center.
Why does a payment get held for review?
A payment is held for review according to the settings for the merchant account in Authorize.net. This usually happens because Automatic Verification System (avs) filter and/or the Advanced Fraud Detection Suite (AFDS) filter is enabled and set to hold for review items that don't pass the filter. A payment may be held for review because of an incorrect address or a typo, or other inconsistency in the payment information.
The merchant settings can be set to disable hold for review by editing the filters. The filter can either be disabled, or change the action option to anything other than "Do not authorize, but hold for review" depending on the needs of the merchant.
If "Do not authorize, but hold for review" is needed by the merchant, then they will need to either void payments held for review from our system, or approve them and manually enter the payments into our system.