QA@IT

ActiveMerchantでPaypalのsandbox利用時にエラーが発生する

2186 PV

現在、Rubyアプリケーションにpaypalのチェックアウトを実装しています。
paypalのチェックアウトについては以下を参照のほど宜しくお願いします。
https://www.paypal.jp/jp/contents/service/express-checkout/

その際、起動すると以下のエラーが出ます。

attributes='CreditCard#type is deprecated and will be removed from a future release of ActiveMerchant. Please use CreditCard#brand instead.
Error: The merchant country is not supported.

このエラーはsandboxに対応していない国のクレジットカードなのでしょうか。(カードは日本のもの)
それともRuby側の問題なのでしょうか。

ご回答頂けたら幸いです。

詳細は以下の通りです。

OS:ubuntu
言語:Ruby
gem:インストール済み
bundle:インストール済み

ソース内容(個人情報などは伏せてます。):

require "rubygems"
require "active_merchant"

ActiveMerchant::Billing::Base.mode = :test

gateway = ActiveMerchant::Billing::PaypalGateway.new(
  :login => "ログインメアド",
  :password => "パスワード",
  :signature => "API証明キー"
)

credit_card = ActiveMerchant::Billing::CreditCard.new(
  :type               => "カード会社",
  :number             => "カード番号",
  :verification_value => "カードセキュリティ番号",
  :month              => 1,
  :year               => Time.now.year+2,
  :first_name         => "test",
  :last_name          => "seller"
)

if credit_card.valid?
  response = gateway.authorize(1000, credit_card, :ip => "127.0.0.1")
  if response.success?
    gateway.capture(500, response.authorization)
    puts "Purchase complete!"
  else
    puts "Error: #{response.message}"
  end
else
  puts "Error: credit card is not valid. #{credit_card.errors.full_messages.join('. ')}"
end

回答

エラー通りで、typebrandに変えればうまくいきますよ。

credit_card = ActiveMerchant::Billing::CreditCard.new(
:brand => "カード会社", 
...
)

2つめのエラーは、ActiveMerchantのPaypalGatewayが日本に対応してないからだと思います。
https://github.com/Shopify/active_merchant

編集 履歴 (0)

丁寧に回答頂き、ありがとうございます。
やはりtestboxは日本に対応されてないんですね。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。