2

I have a few ColdFusion applications that use the AIM method of Authorize.NET's payment gateway. The method uses Form Fields passed via the CFHTTP tag.

Some time ago we learned that the endpoints for AIM was going to change, from this:

https://secure.authorize.net/gateway/transact.dll

to this:

https://secure2.authorize.net/gateway/transact.dll

After a few failed attempts, we got it working. We had to bind the entrust certificate to the ColdFusion application server.

For the past few months the "secure2" endpoint has worked perfectly.

Then sometime between June 12th and June 15th the orders stopped processing. We investigated and found there was a connection failure occurring. For a temporary solution we switched the applications back to the "secure" endpoint.

We're currently unsure what is going to happen after June 30th, with some of our team thinking nothing will happen and others thinking all payments will stop.

Is there any other ColdFusion developers who have figured out why the "secure2" endpoint would be causing me issues.

Here is a dumbed down version of my code

<cfset postToThisURL = "https://secure.authorize.net/gateway/transact.dll">
<cfset testTrans = "FALSE">

<cfhttp method="Post" url="#postToThisURL#">
<cfhttpparam type="Formfield" name="x_login" value="#authLoginID#">
<cfhttpparam type="Formfield" name="x_tran_key" value="#hashingKey#">

<cfhttpparam type="Formfield" name="x_version" value="3.1">
<cfhttpparam type="Formfield" name="x_type" value="AUTH_CAPTURE">
<cfhttpparam type="Formfield" name="x_method" value="CC">
<cfhttpparam type="Formfield" name="x_recurring_billing" value="FALSE">
<cfhttpparam type="Formfield" name="x_amount" value="#chargeTotal#">
<cfhttpparam type="Formfield" name="x_test_request" value="#testTrans#">
<cfhttpparam type="Formfield" name="x_duplicate_window" value="0">
<cfhttpparam type="Formfield" name="x_invoice_num" value="#left(invoiceNumber,20)#">
<cfhttpparam type="Formfield" name="x_description" value="#descriptionTxt# - #dateFormat(now(),'mm/dd/yyyy')#">

<cfhttpparam type="Formfield" name="x_customer_ip" value="#userIP#">
<cfhttpparam type="Formfield" name="x_delim_data" value="TRUE">
<cfhttpparam type="Formfield" name="x_delim_char" value="|">
<cfhttpparam type="Formfield" name="x_encap_char" value="">
<cfhttpparam type="Formfield" name="x_relay_response" value="FALSE">

<cfhttpparam type="Formfield" name="x_first_name" value="#left(listFirst(tempBuyer.ccName,' '),50)#">
<cfhttpparam type="Formfield" name="x_last_name" value="#left(listRest(tempBuyer.ccName,' '),50)#">
<cfhttpparam type="Formfield" name="x_address" value="#tempBuyer.ccAddress#">
<cfhttpparam type="Formfield" name="x_city" value="#tempBuyer.ccCity#">
<cfhttpparam type="Formfield" name="x_state" value="#tempBuyer.ccState#">
<cfhttpparam type="Formfield" name="x_zip" value="#tempBuyer.ccZip#">
<cfhttpparam type="Formfield" name="x_phone" value="#tempBuyer.ccPhone#">
<cfhttpparam type="Formfield" name="x_email" value="#tempBuyer.ccEmail#">

<cfhttpparam type="Formfield" name="x_card_num" value="#tempCardInfo.ccNumber#">
<cfhttpparam type="Formfield" name="x_exp_date" value="#tempCardInfo.ccExpireMo##tempCardInfo.ccExpireYr#">
<cfhttpparam type="Formfield" name="x_card_code" value="#tempCardInfo.ccSecurity#">

</cfhttp>

This is the message that is being returned from the HTTP response.

Error Detail: Connect Exception: Connect to secure2.authorize.net:443 [secure2.authorize.net/23.218.121.147] failed: Connection timed out: connect

File Content: Connection Failure

Statuscode: Connection Failure. Status code unavailable.

Mimetype: Unable to determine MIME type of file.

The environment is a Windows 2012 server with ColdFusion 10 installed.

XenoFoxx
  • 49
  • 6

1 Answers1

0

The message:

Connect to secure2.authorize.net:443 [secure2.authorize.net/23.218.121.147] failed: Connection timed out: connect

tells you that the HTTP client (<cfhttp>) could not establish a connection to the resolved IP (23.218.121.147) of the specified host (secure2.authorize.net in url attribute).

I assume the hostname resolution (DNS) points to an old IP (23.218.121.147). Make sure the destination IP is correct (resolve the host from a different network or ask the Authorize.NET support). Also, try using the IP instead of the hostname (for testing purpose), this would look like: https://23.218.121.147/gateway/transact.dll

Alex
  • 7,743
  • 1
  • 18
  • 38