Тестирование Silent Post с Authorize.net
В настоящее время у меня есть приложение, использующее ARB API Authorize.net. У меня все работает так, как я считаю, но мне бы очень хотелось получить сообщение без вывода сообщений с тестового сервера authorize.net (test.authorize.net), где и создается моя учетная запись.
У меня тестовый режим отключен, и транзакция не имеет отладки. С этим я уже написал страницу, где я могу смоделировать сообщение, но я еще не видел его.
Происходят ли они при создании подписки или при зарядке карты? Я прочитал несколько статей, в которых говорилось, что в различных тестовых режимах тихие сообщения не отправляются.
Есть ли способ заставить транзакцию выполнить тихий пост при использовании ARB на test.authorize.net?
Спасибо эрик
2 ответа
Вы не можете протестировать Silent Post через Authnet без выполнения текущих транзакций. Однако проверить скрипт Silent Post очень просто. Все, что делает Silent Post, - это размещение данных транзакции POST, точно такой же, как и ответ AIM API (за одним исключением: вы также получаете идентификатор подписки с транзакциями ARB). Таким образом, чтобы проверить это, все, что вам нужно сделать, это воссоздать имитированный POST. Сделать это так же просто, как создать форму mick с теми же данными и установить действие для URL-адреса Silent Post.
Вот пример формы, которую я использую:
<form action="http://www.yourdomain.com/silent-post.php" method="post">
<input type="hidden" name="x_response_code" value="1"/>
<input type="hidden" name="x_response_subcode" value="1"/>
<input type="hidden" name="x_response_reason_code" value="1"/>
<input type="hidden" name="x_response_reason_text" value="This transaction has been approved."/>
<input type="hidden" name="x_auth_code" value=""/>
<input type="hidden" name="x_avs_code" value="P"/>
<input type="hidden" name="x_trans_id" value="1821199455"/>
<input type="hidden" name="x_invoice_num" value=""/>
<input type="hidden" name="x_description" value=""/>
<input type="hidden" name="x_amount" value="9.95"/>
<input type="hidden" name="x_method" value="CC"/>
<input type="hidden" name="x_type" value="auth_capture"/>
<input type="hidden" name="x_cust_id" value="1"/>
<input type="hidden" name="x_first_name" value="John"/>
<input type="hidden" name="x_last_name" value="Smith"/>
<input type="hidden" name="x_company" value=""/>
<input type="hidden" name="x_address" value=""/>
<input type="hidden" name="x_city" value=""/>
<input type="hidden" name="x_state" value=""/>
<input type="hidden" name="x_zip" value=""/>
<input type="hidden" name="x_country" value=""/>
<input type="hidden" name="x_phone" value=""/>
<input type="hidden" name="x_fax" value=""/>
<input type="hidden" name="x_email" value=""/>
<input type="hidden" name="x_ship_to_first_name" value=""/>
<input type="hidden" name="x_ship_to_last_name" value=""/>
<input type="hidden" name="x_ship_to_company" value=""/>
<input type="hidden" name="x_ship_to_address" value=""/>
<input type="hidden" name="x_ship_to_city" value=""/>
<input type="hidden" name="x_ship_to_state" value=""/>
<input type="hidden" name="x_ship_to_zip" value=""/>
<input type="hidden" name="x_ship_to_country" value=""/>
<input type="hidden" name="x_tax" value="0.0000"/>
<input type="hidden" name="x_duty" value="0.0000"/>
<input type="hidden" name="x_freight" value="0.0000"/>
<input type="hidden" name="x_tax_exempt" value="FALSE"/>
<input type="hidden" name="x_po_num" value=""/>
<input type="hidden" name="x_MD5_Hash" value="A375D35004547A91EE3B7AFA40B1E727"/>
<input type="hidden" name="x_cavv_response" value=""/>
<input type="hidden" name="x_test_request" value="false"/>
<input type="hidden" name="x_subscription_id" value="365314"/>
<input type="hidden" name="x_subscription_paynum" value="1"/>
<input type="submit"/>
В дополнение к превосходному ответу Джона Конде я хотел бы добавить, что вы должны попытаться опубликовать эту информацию с URL, который отличается от вашего основного сайта. В определенных ситуациях вы не хотите принимать сообщения от внешних веб-сайтов, и отключение этой функции является защитой.
Так что, если вы собираетесь тестировать, просто зайдите на сайт jsfiddle и сделайте ваши публикации оттуда.