我有一些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服务器。
答案 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