如何通过 activemerchant 将实时交易发送到测试服务器 authorize.net

Posted

技术标签:

【中文标题】如何通过 activemerchant 将实时交易发送到测试服务器 authorize.net【英文标题】:how to send live transaction to test server authorize.net via activemerchant 【发布时间】:2013-04-26 00:30:18 【问题描述】:

我需要将我的示例交易作为“实时”交易发送到 authorize.net 的测试网关,以便它们显示在我的测试帐户下他们网站上的报告中。测试交易不会被处理,也不会出现在报告中。

问题是当我连接到网关时,我必须指定测试模式才能访问测试服务器,因此(在网关提交代码中)我的所有购买请求都通过 x_test_request 参数发送。我尝试向 test: false 的购买方法发送一个选项,但这没有用。

我该怎么做?我正在使用 ruby​​/rails(显然)。谢谢。

【问题讨论】:

这个运气好吗?当您将 test:false 添加到网关选项时,我已经看到它然后发布到实时 url 而不是 apitest.authorize.net:443/xml/v1/request.api url。测试交易返回的 transaction_id 为 0,我需要一个 transaction_id,以便我可以使用 CIM 测试退款 【参考方案1】:

知道了...不得不分叉并使用 active_merchant gem 来解决这个问题。

使用 :test_requests=>false 选项连接到您的 CIM 网关。这将阻止

<extraOptions>x_test_request=TRUE</extraOptions>

从显示在 XML 中。所以它应该看起来像这样(使用您的凭据)

ActiveMerchant::Billing::AuthorizeNetCimGateway.new(:login => AUTHNET_TEST_LOGIN, :password => AUTHNET_TEST_TRANS_KEY, :test_requests=>false)

【讨论】:

以上是关于如何通过 activemerchant 将实时交易发送到测试服务器 authorize.net的主要内容,如果未能解决你的问题,请参考以下文章

使用 ActiveMerchant 和 PayPal 在实时网站上接受虚拟信用卡

如何使用 ActiveMerchant 在 authorize.net 网关中取消授权交易

商家的账户无法处理 activemerchant + Ruby on rails + Paypal 的交易

activemerchant 未定义方法“月”

ActiveMerchant Authorize.net Cim 不会产生拒绝

调试 ActiveMerchant;需要完整的请求和响应。如何?