cancel
Showing results for 
Search instead for 
Did you mean: 

Relay Response - Script timed out

I am getting this error, which I have researched but haven't found a solution:

 

"Your script timed out while we were trying to post transaction results to it. Transaction Result: This transaction has been approved."

 

I found this error does not occur until I am on the 15th or 20th transaction in a row. After that, I get the error every time for hours.

 

I am using relay response, and on my relay response page, I have page_load trying to get the response connection and then if it's successful, sending the data to my database. Is this not where this code should be?

 

  protected void Page_Load(object sender, System.EventArgs e)
    {

        try
        {
            var sr = new SIMResponse(Request.Form);   
} catch { //Error } try { //Grab the data from the form, display it to the user, and also send it to the database } catch { //Error } }

 

So should this code not be in page_load, or is there maybe an issue if I am submitting the same card over and over for testing, or maybe something else?

rockon77
Contributor
1 ACCEPTED SOLUTION

Accepted Solutions

If you're willing to create your own payment form, you can use Accept.js which is a Javascript library that replaces DPM.  It avoids sending any sensitive card data through your servers and gives you the direct response through the Authorize.Net API.

 

http://developer.authorize.net/api/reference/features/acceptjs.html

 

Richard

View solution in original post

11 REPLIES 11

Sound like your database have issue. 

Test it by not sending the data to the database and see if the issue still occur.

RaynorC1emen7
Expert

Thank you for your suggestion. Okay I tried commenting that out as well as trying to comment other parts out. I still get the script timed out error, even with the entire page commented out. So I guess this means there is something wrong on the server end? How can I test that?

 

On my payment page before the relay response, I have this:

 

private void AuthorizeDetails()
    {
        BtnSubmit.PostBackUrl = "https://secure2.authorize.net/gateway/transact.dll";
        strAuthorizeNet_x_relay_url = "https://www.mysite.com/relayresponse.aspx";

        //Info to send to Authorize
        strAuthorizeNet_x_amount = LblAmountDueConfirm.Text;
        strAuthorizeNet_x_login = ConfigurationManager.AppSettings["AUTHORIZE_NET_API_LOGIN"];
        strAuthorizeNet_x_fp_timestamp = AuthorizeNet.Crypto.GenerateTimestamp().ToString();
        strAuthorizeNet_x_fp_sequence = AuthorizeNet.Crypto.GenerateSequence();
        strAuthorizeNet_x_relay_response = "TRUE";
        strAuthorizeNet_x_test_request = "FALSE";
        strAuthorizeNet_x_fp_hash = AuthorizeNet.Crypto.GenerateFingerprint(ConfigurationManager.AppSettings["AUTHORIZE_NET_TRANSACTION_KEY"], strAuthorizeNet_x_login, decimal.Parse(strAuthorizeNet_x_amount), strAuthorizeNet_x_fp_sequence, strAuthorizeNet_x_fp_timestamp);
    }

 

Is there an alternate way to send the data to Authorize, display it to the user, and send it to the database other than relay response?

Not for SIM/DPM, there isn't. unless you want to use hte receipt page on authorize.net. And get your transactions later.

If you're willing to create your own payment form, you can use Accept.js which is a Javascript library that replaces DPM.  It avoids sending any sensitive card data through your servers and gives you the direct response through the Authorize.Net API.

 

http://developer.authorize.net/api/reference/features/acceptjs.html

 

Richard

Thanks to both of your answers. I am interested in Accept.js. Thanks! I think I'll go this route, as I am worried that the relay response could be too unreliable. Can you please tell me though, will Accept.js be a solution long-term (as far as authorize.net keeping the library updated)? I plan to have this implemented for years so I don't want to have something that is going to die out and leave me back to square one.

Accept.js is here for good, designed from the ground up to replace DPM.

 

Richard

I've been looking at it. How exactly do I send and receive other data to/from Authorize (like sending billing info and getting transaction info to my db)? It seems the sample has a customer profile, which isn't what I am using.

Hello @rockon77

 

Accept.js allows you to leverage the Authorize.Net API but avoid sending sensitive card data through your servers. 

 

Richard