Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Braintree拒绝在连续交易中发现卡_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 4_Braintree_Braintree Rails - Fatal编程技术网

Ruby on rails Braintree拒绝在连续交易中发现卡

Ruby on rails Braintree拒绝在连续交易中发现卡,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,braintree,braintree-rails,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,Braintree,Braintree Rails,背景 我们正在执行以下方法,以便向用户收费并将其信息存储在Braintree vault中: def store_in_vault Braintree::Transaction.sale(:amount => amount, :credit_card => { :cardholder_name => cardholder_name, :number => credit_card_number, :expiration_date =>

背景

我们正在执行以下方法,以便向用户收费并将其信息存储在Braintree vault中:

def store_in_vault
  Braintree::Transaction.sale(:amount => amount,
  :credit_card => {
    :cardholder_name => cardholder_name,
    :number => credit_card_number,
    :expiration_date => "#{credit_card_expiration_month}/#{credit_card_expiration_year}",
    :cvv => credit_card_cvv
  },
  :customer => {
    :id => user.id,
    :first_name => user.first_name,
    :last_name => user.last_name,
    :email => user.email,
    :phone => user.phone_main
  },
  :billing => {
    :first_name => user.first_name,
    :last_name => user.last_name,
    :street_address => street_address,
    :extended_address => extended_address,
    :locality => city,
    :region => state,
    :postal_code => zip,
    :country_code_numeric => country
  },
  :options => {
    :submit_for_settlement => false,
    :store_in_vault_on_success => true
  })
end
后来,我们还扣留了用户的信用卡作为保证金

所有这些都适用于大多数信用卡。然而,当我们试图在发现卡上设置此类安全保留时,我们的交易被拒绝,出现“处理器拒绝”或“拒绝”错误。请注意,上述在vault中存储用户帐户并对信用卡收费的初始交易已成功执行。只有稍后的安全保留事务被拒绝

问题


为什么这种行为只发生在发现卡片时?如何修复它?

它与发现卡验证过程有关。他们要求交易中包含CVV和邮政编码

根据Braintree支持:上述请求中的选项必须包括:添加\账单\地址\到\付款\方法=>true,如下所示:

:options => {
  :submit_for_settlement => false,
  :store_in_vault_on_success => true,
  :add_billing_address_to_payment_method => true
}
此外,在信用卡更换请求期间(如果需要),应添加:账单地址信息:

Braintree::CreditCard.create(
  :customer_id => "#{user_id}",
  :number => cc_number,
  :expiration_date => "#{expiration_month}/#{expiration_year}",
  :cardholder_name => cardholder_name,
  :cvv => cvv,
  :billing_address => {
    :street_address => street_address,
    :extended_address => extended_address,
    :locality => city,
    :region => state,
    :postal_code => zip
  },
  :options => {
    :make_default => true
  }
)

我是Braintree的开发者。此问题可能与发现帐户配置的设置方式有关。我建议发送电子邮件给我们的支持团队[support@braintreepayments.com](邮寄至:support@braintreepayments.com)这样他们就可以更仔细地查看你的帐户了。@Kathryneline:谢谢!正在与支持人员交谈。不过,我希望有人有这个问题。我怀疑这与我们的账户有关。这很可能取决于Discover的某些需求。