Transaction errors are sometimes difficult to understand. We have a few docs already created for your reference: Transaction Status, Transaction Codes, and Error Codes. However, if you are looking for more explanation, here is our guide to better understanding how to handle these errors.
Determining whether an error is with the Synapse System/Internal Error vs. a User Action Required (UAR):
If there is an error on our end, you would receive a 500 Internal Server Error HTTP Status Code and a 500 Server Error Code. Our errors are a combination of an HTTP Status Code and an Error Code. Example:
We recommend testing out different error combinations to handle potential errors that could come from your end.
Determining when to take action on a queued transaction:
When a transaction is queued, you should attempt to remedy the queue when the queue code gives specific directions on how to rectify the transaction queue (e.g. Q02-A More information needed on sender: supply Passport). Please keep in mind, however, that after manual review (even with the updated information) the transaction could still be canceled.
When would a general transaction code (i.e. C10) be returned vs. a more specific one (i.e. C10-A)?
Due to compliance reasons, there are instances where we are not able to disclose the specific reason for a cancellation. Some of these reasons could be due to fraud, a user being on the screenings list or any other compliance issue. Depending on the cancelation reason, we may or may not be able to disclose the information in full detail. A detailed transaction cancellation/queue code will be returned when we are able to disclose that information. For more information regarding disclosure laws, click here.
Where can I find more detailed descriptions on the return codes?
Our return codes correspond to the ACH Return Codes created by NACHA (National Automated Clearing House Association) and although we have a quick list reference of them here, you can find more details about each code here.