Integration and Testing

Authorize.Net API questions and help with your payment integration.

Reply
Member
Posts: 5
Registered: ‎09-29-2011

Terse transaction status messages

When we initiate a transaction to az.net and it is declined, the message returned is Transaction Declined.  If we look at our interface on the az.net site it gives more detail such as "Card declined by issuer".  Is there any way to get this more descriptive declination message from the API?

Member
Posts: 5
Registered: ‎09-29-2011

Re: Terse transaction status messages

This is on AIM by the way...

Posts: 1,609
Topics: 15
Kudos: 209
Solutions: 121
Registered: ‎06-23-2011

Re: Terse transaction status messages

Can you paste the code you're currently using to access the error message?

Member
Posts: 5
Registered: ‎09-29-2011

Re: Terse transaction status messages

Basically I hit https://secure.authorize.net/gateway/transact.dll with a query string with all of the transaction data and then I get the response data from that.

Member
Posts: 5
Registered: ‎09-29-2011

Re: Terse transaction status messages

The code is this:

 

		private static void _Charge(CreditCard cc, string username, string persona, string ip, string documentId, decimal amount, bool avs, string chargeType, string tranID, out string response)
        {
			bool isTest = (cc.Number == CC_NUMBER_TEST || cc.Domain == 1);
            string url = isTest ? TEST_BASE_URL : BASE_URL;

            AddParameter(ref url, PK_VERSION, PV_VERSION);
            AddParameter(ref url, PK_DELIM_DATA, PV_DELIM_DATA);
            AddParameter(ref url, PK_LOGIN, (isTest ? PV_TEST_LOGIN : PV_LOGIN));
            AddParameter(ref url, PK_TRANSACTION_KEY, (isTest ? PV_TEST_TRAN_KEY : PV_TRAN_KEY));
            AddParameter(ref url, PK_TYPE, chargeType);
            AddParameter(ref url, PK_CARD_NUM, DecryptCCNumber(cc.Number));

            if (tranID != "NONE")
            {
                AddParameter(ref url, PK_TRAN_ID, tranID);

            }

            if (cc.CSV != null)
            {
                AddParameter(ref url, PK_CARD_CODE, cc.CSV);
            }

            if (!avs)
            {
                AddParameter(ref url, PK_RECURRING_BILLING, "true");                
            }

            AddParameter(ref url, PK_EXPIRATION_DATE, cc.Expiration);
            AddParameter(ref url, PK_AMOUNT, amount);
            AddParameter(ref url, PK_DESCRIPTION, PV_DESCRIPTION_TEMPLATE.Replace(PVP_PERSONA, persona));
            AddParameter(ref url, PK_INVOICE_NUMBER, PV_INVOICE_NUMBER.Replace(PVP_DOCUMENT_ID, documentId.ToString()));
            AddParameter(ref url, PK_CUSTOMER_ID, username);
            AddParameter(ref url, PK_FIRST_NAME, cc.FirstName);
            AddParameter(ref url, PK_LAST_NAME, cc.LastName);
            AddParameter(ref url, PK_ADDRESS, cc.Address1 + " " + cc.Address2);
            AddParameter(ref url, PK_CITY, cc.City);
            AddParameter(ref url, PK_STATE, cc.Region);
            AddParameter(ref url, PK_ZIP, cc.PostalCode);
            AddParameter(ref url, PK_COUNTRY, cc.Country);
            AddParameter(ref url, PK_PHONE, cc.Phone);
            AddParameter(ref url, PK_EMAIL, cc.Email);
            AddParameter(ref url, PK_CUSTOMER_IP, ip);

            WebClient client = new WebClient();

            client.Headers.Add(HK_USER_AGENT, HV_USER_AGENT);
            Stream data = client.OpenRead(url);
            StreamReader reader = new StreamReader(data);

            response = reader.ReadToEnd();
        }

 

Posts: 1,609
Topics: 15
Kudos: 209
Solutions: 121
Registered: ‎06-23-2011

Re: Terse transaction status messages

Hmm, not familiar with that syntax. I do know that when I use the PHP API, I get back a response that contains error codes and response reason text:

http://www.authorize.net/support/merchant/Transaction_Response/Response_Reason_Codes_and_Response_Re...

 

Some of the text is fairly specific, some is not - either for security reasons or because they haven't bothered. There are also additional notes beyond what is shown in the table here if you use this other tool:

http://developer.authorize.net/tools/responsereasoncode/

Member
Posts: 5
Registered: ‎09-29-2011

Re: Terse transaction status messages

[ Edited ]

Thanks gents.  I used the reason tool but it gave me back the same generic transaction declined that the API returns on a transaction that was declined by the card issuer.   Even looking at the table here: http://www.authorize.net/support/merchant/Transaction_Response/Response_Reason_Codes_and_Response_Re...

 

I will not see the specific error code that the web interface to the account will list.

Expert
Posts: 4,525
Registered: ‎03-08-2010

Re: Terse transaction status messages

Can you tell us what Response reason code and what the specific error code on the web interface that you get?