We are only getting generic declined reasons on the createTransactionResponse object unless the reason is an AVS mismatch error. The transactionResponse.messages node is null and transactionResonse.errors contains only one error: errorCode 200, errorText "The transaction has been declined".
However, when we login to Auth.net's website and view the declined transaction, the reason shows up. What do we need to do so that we get the correct reasons returned on the createTransactionResponse.transactionResponse object?
We are using version 1.8.10 of the SDK for .net and this behavior is coming from the production environment.
My advise is to create your own abstraction on top of the RESTful API. We tried using the PHP SDK, but it was not practical at all. So I created my class and utility functions to interface directly with the Authorize.Net API. I don't know what the SDK designers were thinking.