0

私はアクティブマーチャントを使用してペイパルの直接支払いを実装しています 以下はコードです

def credit_card_details
    credit_card = ActiveMerchant::Billing::CreditCard.new(
                :first_name         => 'Bob',
                :last_name          => 'Bobsen',
                :number             => '4242424242424242',
                :month              => '8',
                :year               => '2012',
                :verification_value => '123')

    errors.add(:expire_year, "Credit card expired") if credit_card.expired?
    errors.add(:cc_number, "invalid credit card details") unless credit_card.valid?

    if credit_card.valid?
      # Capture $10 from the credit card
      amount = 1000
      response = PAYPAL_GATEWAY.purchase(amount, credit_card)

      if response.success?
        puts "Successfully charged $#{sprintf("%.2f", amount / 100)} to the credit card #{credit_card.display_number}"
      else

        raise StandardError, response.inspect
      end
    end
  end

他のクレジットカードの詳細を試してみましたが、「フィールドがサーバーで許可されているよりも長かったり短かったりしました」というエラーが発生しました。だから私はccの詳細をactive_merchants githubページで指定されたものに置き換えましたが、まだ運がありません. 何が悪いのかわかりませんか?

4

1 に答える 1

0

card_type または branch を見逃したと思います。これら 2 つのうちの 1 つが廃止されました。試してみて、どれが機能するかを確認してください。クレジット カードの種類がわからなかったため、フィールドの位置がずれているか、マッピングが間違っている可能性があります。

于 2013-06-21T15:43:35.920 に答える