2010-08-05 48 views
5

我目前有一个使用Authorize.net的ARB API的应用程序。我有一切工作,我相信它应该,但我真的很想从authorize.net测试服务器(test.authorize.net)收到一个无声的帖子,这是我的帐户创建的地方。使用Authorize.net测试无声帖

我关闭了测试模式,并且事务没有调试。有了这个,我已经写了一个可以模拟帖子的页面,但我还没有看到一个。

创建订阅或收费时会发生这些情况吗?我已阅读多个项目,说在各种测试模式下,无法发送无声帖子。

有没有办法强制事务在test.authorize.net上使用ARB时执行无声帖子?

感谢, 埃里克

回答

9

不能通过Authnet测试沉默后不运行实时交易。然而,你自己测试你的Silent Post脚本非常简单。所有Silent Post所做的事情都是POST事务处理数据,它与AIM API响应完全相同(只有一个例外:您还获得ARB事务的订阅ID)。所以要测试它,你需要做的就是重新创建一个模拟POST。这样做和使用相同数据制作mick表单一样简单,并将操作设置为静默发布网址。

下面是我用的样表:

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

+0

谢谢约翰。我确实在你的网站上看到了这一点,而且我已经实现了这一点,但我对测试帐户 – Eric 2010-08-05 14:19:54

+0

的可能/不可能有点困惑。感谢您的完美答案。只是为了回馈我制作了一个“漂亮”的版本,可在您的浏览器上进行编辑:http://codepen.io/gillytech/pen/KbiEF – gillytech 2014-03-02 06:53:32

+0

^^^^现在转到404: – 2016-01-10 18:35:41

0

除了约翰·孔德的答案是优秀的,我想补充一点,你应该尝试发布从一个URL,它是不同的这一信息从您的主站点。在某些情况下,您不希望接受来自外部网站的帖子,并且这是一项禁用功能。

所以,如果你要测试只是去一个jsfiddle网站,并从那里做你的发布。