cancel
Showing results for 
Search instead for 
Did you mean: 

Relay not working - PLEASE HELP!

Hi, I’m trying to integrate my site’s credit card processing with authorize.net using DPM and have found an issue. Whenever I submit a transaction, an  error  appears within a second. It is below:

 

 

An error occurred while trying to report this transaction to the merchant. An e-mail has been sent to the merchant informing them of the error. The following is the result of the attempt to charge your credit card.

      This transaction has been approved.

It is advisable for you to contact the merchant to verify that you will receive the product or service.

 

 

My x_relay_url is set to https://individual.deltadentalks.com/Ole/test.htm.

 

test.htm is displaying text based on response and redirects to error page or succes page. I don't even get that far. The transaction takes about 1 second so it's not a timeout issue.

 

 

 

Can you tell me why I’m getting this error?

 

 

martin1b
Contributor
23 REPLIES 23

Using IIS 6 as well. Tried aspx (https://individual.deltadentalks.com/Ole/test.aspx) also and received the same error. Looked at the documentation you sent and everything looks set up correctly

 

What's my next step? Is there any way authorize.net can tell me why i'm not being relayed?

 

Thanks!

Did you add that into the "Response/Receipt URLs"? If you did, it maybe the following.

 

Either set EnableViewStateMac to false on the <%@ Page ... tag 

or try setting machineKey on the web.config(that what mine are using, without setting the EnableViewStateMac to false, but cannot prove it since it is on a production site.)

 

<machineKey validationKey="GENERATE_YOUR_OWN" decryptionKey="GENERATE_YOUR_OWN" validation="SHA1"/>

in the web.conifg inside the <system.web> section

 

machineKey Generator

http://aspnetresources.com/tools/machineKey

The EnableViewStateMac along with the account settings was the solution. THANK YOU!!!!!:smileyhappy:

 

I have one more question.

 

I want to write the approved transaction data to a database. The relay url only renders what authorize.Net allows. I have javascript to forward back to me but the form data is all missing. How do I go about getting the form data posted to me so I have access to it on my web server so I can so some database stuff?

The easy way is to save all the Request.Form values in the Session or Response.Cookie(Need to do Response.Redirect) to pass to the next page.

Or passing the value thru the url(user will be able to see it on the address bar)

Or do some javascript that do a post with the request.form values(I haven't try that before).

Wow! Thats a PITA!

 

Why don't they just post the info to the relay url? Then, I have the data and am on my way?

There's got to be a way to do that.

 

 

They do post it to the relay url. But it will keep the url at authorize.net site. And we also need to make sure it response back to authorize.net site asap or we will get the error.

 

So we will need to do a javascript to forward to another page. I might try the javascript post and see if how easy/hard it will be to do.

I write the values to a database, using the invoice number as an ID then I set the location header to forward back to my domain and read the database info back out.

 

Works flawlessly for me.

You're reading the data from the screen you have the user enter the credit card from? Is that PCI DSS compliant?(speaking from ignorance of PCI DSS compliance)

 

What are you using? PHP, ASP.Net webforms or MVC?

 

I think r3jjs mean that read the Request.Form values on the relay page and save the info to the database.

Pass the invoice id on the javascript url redirect(location header) and using that to read the data from the database and display it on the final page.

 

One more question. How do you handle session state? As I understand it, once I post the data to A.Net, their server then does a request to my server to the relay url. at that point, my web server treats it as a new session, as the requesting host is different.

 

If I want to verify the md5 hash between my submitted md5 hash and the responded hash from a.net, I have no way, as the session ids have changed.

 

Thoughts?