Ruby on rails 3.2 Authorize.net CIM Active Merchant--由于身份验证值无效,用户身份验证失败

Ruby on rails 3.2 Authorize.net CIM Active Merchant--由于身份验证值无效,用户身份验证失败,ruby-on-rails-3.2,authorize.net,activemerchant,Ruby On Rails 3.2,Authorize.net,Activemerchant,我已经部署了带有工作支付网关的live应用程序,但我仍然需要在某处进行测试,因此我使用sandbox.authorize.net创建了一个帐户,并获得了一个新的api密钥 现在,当我在开发/阶段中尝试这些细节时,我得到- User authentication failed due to invalid authentication values 访问authorize.net时 活动商户是否使用sandbox.authorize.net?在测试模式下设置网关时,测试似乎可以正常工作,但在沙盒

我已经部署了带有工作支付网关的live应用程序,但我仍然需要在某处进行测试,因此我使用sandbox.authorize.net创建了一个帐户,并获得了一个新的api密钥

现在,当我在开发/阶段中尝试这些细节时,我得到-

User authentication failed due to invalid authentication values
访问authorize.net时


活动商户是否使用sandbox.authorize.net?在测试模式下设置网关时,测试似乎可以正常工作,但在沙盒帐户中则不行。

这可能是因为测试模式使用的是您的live帐户的测试模式,而实际上并不指向Authnet的开发服务器。我不知道Active Merchant是如何编写的,但它可能需要您手动更改URL以进行测试,然后在测试完成后返回其原始值。

我使用以下代码实现了此功能:

ActiveMerchant::Billing::Base.mode = :test
ActiveMerchant::Billing::AuthorizeNetCimGateway.new( 
  :login => login, 
  :password => password
)
最初我的连接器是这样的(如api所示):


如果使用rails,还可以将ActiveMerchant::Billing::Base.mode=:test添加到config/environments/development.rb和config/environments/staging.rb,这将在这些环境中自动使用test属性。
ActiveMerchant::Billing::AuthorizeNetCimGateway.new( 
  :login =>    login, 
  :password => password,
  :test        true
)