Types of Errors
There are two major types of errors that should be handled when using Merchantware web services.
The first class of errors are those where a given web service call is impossible to complete. These errors become SOAP faults and may be converted into native Exceptions by your development platform. These errors include conditions such as authentication or login failures, validation errors, and system failures. These error conditions are always accompanied by a HTTP error status code such as 400 or 500.
The second class of errors are status errors where the return value of a web service call may be undesirable. Most of these errors come from transaction rejections or failures. Since these errors are not considered service failures, it is up to the consuming application to handle them. The HTTP status code received under these conditions will always be 200.
||An Access Violation. A feature or service may be disabled or unavailable for your account.
||Bad argument format, data, or missing parameter.
||The attempted operation is not allowed or not possible on your account.
These exceptions occur whenever an operation is attempted that is unavailable or disabled for your Account. These can be fixed by having your Account reinstated or having the service or feature, that caused these, reinstated.
These exceptions occur whenever your credentials fail to validate in Merchantware. To resolve these, check for typos, check for any extra padding characters. Matching of credentials is exact, so any mismatch will cause a failure. This includes invalid characters, upper and lowercase matching.
Parameters to all web methods are checked for validity. This exception is generated whenever a parameter value is in the wrong format, is missing data, or cannot be converted to the correct type. These exceptions will always contain the name of the parameter that caused the web method failure.
Not all features and capabilities are enabled or available for all accounts. When you receive this exception, check to make sure you are calling the correct web method for the task at hand. Also note that merchants who are migrating from earlier versions of Merchantware may need to have their transaction and service permissions updated.
Exception (Any Unlabeled or Unqualified Exception)
These exceptions should never occur. If you encounter these on a recurring basis, please contact us.
Basic Transaction and Batch Status Errors
When a transaction or operation is attempted by Merchantware, the return result will contain status keywords followed by extra information. There are seven transaction status keywords defined at this time.
This status keyword indicates that the transaction completed as expected. This status keyword will never have any additional data appended; and any other status keywords encountered may be treated as transaction failures.
This status keyword indicates that the batch has been committed as expected. This status keyword will never have any additional data appended; just like the APPROVED status.
This status keyword indicates that an administrative operation has been completed as expected. This status keyword will never have any additional data appended; just like the APPROVED status.
This status keyword indicates that a batch operation failed because there are no records to be processed. You are free to treat this as a success condition if your point of sale is not concerned about the status of records in a batch.
A decline indicates that a transaction could not be completed. Either the processor rejected the transaction, or there were other failures when attempting to prepare the transaction. This keyword may also be postfixed with the "DUPLICATE" keyword if duplicate transaction protection was triggered.
This keyword is appended to a DECLINED status if the transaction failed due to duplicate transaction suppression. Some methods allow you to specify a flag to override this protection, however, some processors may still opt to ignore any value that is set.
This status keyword indicates a warning and a decline from the processor. The point of sale software should instruct its user to call the processor for further instructions. This status keyword usually indicates cardholder issues such as over-balance limits, fraud, or card cancellation.
This status keyword indicates that a transaction or administrative operation encountered a general failure. If you were attempting a transaction, it is safe to assume that the transaction could not be forwarded to the processor, and your point of sale should consider attempting the transaction one more time before giving up.
Extended Transaction and Batch Status Errors
When an error occurs during processing, the status field will also contain an error code and may also have description of the error. Each field is separated by semicolons.
For some errors, the keyword field may have more than one keyword. When this occurs, each keyword will be separated by commas.
Defined Error Codes
Here are links to the lists of all the error codes that are defined. Also note that in the future, there may be new codes defined. Your software should always treat any non-zero value as an error, even if the value is not listed here.