Activemerchant无法注册虚假卡

时间:2014-01-06 22:52:00

标签: ruby-on-rails activemerchant

我正在尝试注册测试信用卡,以便我可以测试我的应用程序。我正在使用ActiveMerchant。我有一个注册表单,用户输入数据,然后我收集参数,并将其转移到付款,但我只是作为回应得到一个零。

我有这样的代码:

user.rb

def store_credit_card(payment_attributes)
    pay = Payment.new(payment_attributes) # this return always nil. Why?
    pay.build_contact_info
    pay.contact_info.name = name
    pay.contact_info.email = email
    pay.contact_info.phone = phone
    pay.first_name = first_name
    pay.last_name = last_name
    pay.construct_billing_address(self)
    pay.escrow_amount = (0.01).to_money

    pay.authorize!
  end

我将参数传输到store_credit_card,它们看起来像这样:

payment_attributes
{"card_type"=>"bogus", "card_number"=>"1", "card_expires_month"=>"12", "card_expires_year"=>"2015", "security_code"=>"123"}

但是当我打电话时:

pay = Payment.new(payment_attributes)

pay始终返回nil

为了能够使用ActiveMerchant注册伪卡,我该怎么办?为什么它会返回零? 我正在我的本地开发环境中开发。我正在使用Ubuntu。

1 个答案:

答案 0 :(得分:0)

您好喜欢回答我自己的问题。 深入研究调试器并进入付款方式后,我发现我转移到ActiveMerchant的邮政编码报告错误。但错误本身没有报告一些上层功能,这很奇怪。无论如何,错误是我发送了一个有

的json数据
billing_attributes { zipcode: $scope.zipcode}

但是当我查看我的观点时,我发现我使用了ng-model zipcode 我不小心错过了发送到ActiveMerchant的数据_,应该是:

billing_attributes { zip_code: $scope.zipcode}

所有这些问题都是因为拼写错误。这不是一个大问题,但是想要注意一下如果有人遇到这个问题的地方。数据似乎很好,但是对于所有其他数据,请注意您发送的数据是否真的按照它应该格式化。