Greetings,
We're having an annoying problem with the relay_response SIM option. We're using the Hosted payment form, and we only want Authorize.Net to return to us upon SUCCESSFUL transaction. If a card transaction fails, we want it to just re-display the payment form for a retry.
To that end, we have set:
x_relay_response = true
x_relay_always = false
Successful transactions are working fine. Declined transactions, however, are behaving erratically. If it's a "hard failure" like a bad credit card number, the payment form will re-display as expected with a useful error message for the user.
However, if it's a "soft" failure like an AVS decline, the transaction is being sent to the relay_response url, with x_response_code = 2 (Declined).
This behavior seems to be counter to the documentation, and is also a pain to deal with since we have to catch this error, display a message, and just re-direct the user back to the Payment form on our own. Is this expected, and is there any way around this so that the payment form ONLY returns on a successful transaction??
Solved! Go to Solution.
01-07-2013 10:27 AM
Everything the catch by authorize.net, it stay on the page but if it was a response from the processor, it going to the relay response page.
01-07-2013 11:09 AM - edited 01-07-2013 11:13 AM
Everything the catch by authorize.net, it stay on the page but if it was a response from the processor, it going to the relay response page.
01-07-2013 11:09 AM - edited 01-07-2013 11:13 AM
Thanks for the reply and pointer. I sifted through a dozen such posts without finding that explicit answer.
Seems fairly non-intuitive to me as well. Essentially, making a typo in the credit card number would be caught, but a typo in expiration or CVV numbers would not be. This is particularly annoying given that the only reason we're implementing SIM in this way to begin with, is because of the XSS bug in Authorize.Net that prevents proper styling of receipt pages in IE! Oh, the tangled web bugs weave...
01-07-2013 11:46 AM