ActiveMerchant требуется пин-код? - PullRequest
0 голосов
/ 23 октября 2011

Я использую activemerchant в приложении для рельсов, как это

ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::UsaEpayGateway.new(
  :login => "SOMEKEY"
)

и я продолжаю получать этот код ошибки

error_code: \"10117\"\nauth_code: \"000000\"\nstatus: Error\nerror: Transaction authentication required.\n

когда я смотрю на коды ошибок (10117) для usaepay Я замечаю, что мне нужно ввести пин-код. Это у меня есть, но я не знаю, как реализовать. Я попробовал эти два ниже

ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::UsaEpayGateway.new(
  :login => "SOMEKEY",
  :password => "MYPIN"
)

ActiveMerchant::Billing::Base.mode = :test
::GATEWAY = ActiveMerchant::Billing::UsaEpayGateway.new(
  :login => "SOMEKEY",
  :pin => "MYPIN"
)

и я все еще получаю ту же ошибку Глядя на инициализатор библиотеки USAEPAY, я вижу логин, но не пин-код

  def initialize(options = {})
    requires!(options, :login)
    @options = options
    super
   end  

... любые идеи, как я могу отправить этот пин в Activemerchant

UPDATE

вот мой звонок на транзакцию

options = {
  :card_code=>self.card_verification
  :billing_address=>{
    :address1=>self.billing_address,
    :city=>self.city,
    :state=>self.state,
    :zip=>self.zip,
    :country=>"US"
  }
}
response = GATEWAY.purchase(price_in_cents, credit_card, options)

Я пытался сделать это

options = {
  :card_code=>self.card_verification,
  :pin=>"333333",
  :billing_address=>{
    :address1=>self.billing_address,
    :city=>self.city,
    :state=>self.state,
    :zip=>self.zip,
    :country=>"US"
  }
}
response = GATEWAY.purchase(price_in_cents, credit_card, options)

но все равно ничего

1 Ответ

1 голос
/ 24 октября 2011

Возможно, вам нужно передать пин-код авторизации в транзакцию. Можете ли вы вставить код, где вы называете транзакцию, пожалуйста?

Например, вызов этого метода: capture(money, authorization, options = {})

Edit:

Не думаю, что в ActiveMerchant реализована функция булавки. Вот ваши варианты:

  1. Используйте другой скрипт. Вот несколько примеров: http://wiki.usaepay.com/developer/ruby
  2. Добавьте это в свой Gemfile: gem 'activemerchant', :git => 'git://github.com/kalinchuk/active_merchant.git' Он установит гем из моей учетной записи на github. Я добавил пин-код активному торговцу.

Затем вы можете позвонить:

::GATEWAY = ActiveMerchant::Billing::UsaEpayGateway.new(
    :login => "SOMEKEY",
    :pin => "PIN"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...