ColdFusion CFHTTP与Authorize.NET AIM方法和Secure2端点

时间:2016-06-24 20:00:44

标签: coldfusion payment-gateway authorize.net akamai

我有一些ColdFusion应用程序使用Authorize.NET的支付网关的AIM方法。该方法使用通过CFHTTP标记传递的表单字段。

前段时间我们了解到AIM的终点将会发生变化:

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

到此:

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

经过几次尝试失败后,我们开始工作了。我们必须将委托证书绑定到ColdFusion应用程序服务器。

过去几个月," secure2"端点工作得很好。

然后在6月12日到6月15日的某个时间,订单停止了处理。 我们调查并发现发生了连接故障。 对于临时解决方案,我们将应用程序切换回" secure"端点。

我们目前不确定6月30日之后会发生什么,我们的一些团队认为什么都不会发生,其他人认为所有付款都会停止。

是否有其他ColdFusion开发人员已经找到了为什么" secure2"终点会给我带来问题。

这是我的代码的一个愚蠢版本

<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>

这是从HTTP响应中返回的消息。

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.

环境是安装了ColdFusion 10的Windows 2012服务器。

1 个答案:

答案 0 :(得分:0)

消息:

  

连接到secure2.authorize.net:443   [secure2.authorize.net/23.218.121.147]失败:连接超时:   连接

告诉您HTTP客户端(<cfhttp>)无法与指定主机(23.218.121.147属性中的secure2.authorize.net)的已解析IP(url)建立连接

我假设主机名解析(DNS)指向旧IP(23.218.121.147)。确保目标IP正确(从其他网络解析主机或询问Authorize.NET支持)。另外,尝试使用IP而不是主机名(用于测试目的),这看起来像: https://23.218.121.147/gateway/transact.dll