ColdFusion CFHTTP с методом авторизации .NET AIM и конечной точкой Secure2

У меня есть несколько приложений ColdFusion, которые используют метод AIM платежного шлюза Authorize.NET. Метод использует поля формы, переданные через тег CFHTTP.

Некоторое время назад мы узнали, что конечные точки для AIM будут изменены, из этого:

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

к этому:

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

После нескольких неудачных попыток все заработало. Нам пришлось привязать доверенный сертификат к серверу приложений ColdFusion.

Последние несколько месяцев конечная точка secure2 работала отлично.

Затем где-то между 12 и 15 июня заказы перестали обрабатываться. Мы исследовали и обнаружили, что произошел сбой подключения. В качестве временного решения мы переключили приложения обратно на «безопасную» конечную точку.

В настоящее время мы не уверены, что произойдет после 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.

Среда представляет собой сервер Windows 2012 с установленной ColdFusion 10.


person XenoFoxx    schedule 24.06.2016    source источник


Ответы (1)


Сообщение:

Подключиться к secure2.authorize.net:443 [secure2.authorize.net/23.218.121.147] не удалось: время ожидания подключения истекло: подключиться

сообщает вам, что HTTP-клиент (<cfhttp>) не смог установить соединение с разрешенным IP-адресом (23.218.121.147) указанного хоста (secure2.authorize.net в атрибуте url).

Я предполагаю, что разрешение имени хоста (DNS) указывает на старый IP (23.218.121.147). Убедитесь, что IP-адрес назначения правильный (разрешите хост из другой сети или обратитесь в службу поддержки Authorize.NET). Также попробуйте использовать IP вместо имени хоста (в целях тестирования), это будет выглядеть так: https://23.218.121.147/gateway/transact.dll

person Alex    schedule 25.06.2016