0

私が立ち往生しているこの問題について誰かが私を助けてくれることを願っています。Rails アプリで ActiveMerchant を使用して、Paypal ゲートウェイでカート トランザクションを処理しています。

取引は成功しましたが、PayPal アカウントの履歴を見ると、取引に関連するアイテムに関する情報がありません。時折、アイテム データが表示されることがありますが、ほとんどの場合、詳細にアイテムは表示されません。

これが私のチェックアウトコントローラーで起こっていることです:

def process_order            
    @items = Array.new      

    @donations.each do |d|
      item = Hash.new        
      item[:name] = d.project.title 
      item[:quantity] = 1
      item[:description] = "Donation from website"
      item[:amount] = (d.pledge.to_i*100).round
      @items << item
    end

    @response = GATEWAY.purchase(price_in_cents, credit_card, purchase_options)
    if @response.success?
      @validTransaction = true
    end
end

private

 def purchase_options      
  {
  :items => @items,      
  :ip => request.remote_ip,
  :billing_address => {
    :name     => params[:first_name],
    :address1 => params[:last_name],
    :city     => params[:city],
    :state    => params[:state],
    :country  => params[:country],
    :zip      => params[:zip]
    }
  }
end

def validate_card
  unless credit_card.valid?
    credit_card.errors.full_messages.each do |message|
      @errors += message + "<br/>"
    end
  end
end

def credit_card
  @credit_card ||= ActiveMerchant::Billing::CreditCard.new(
  :brand               => params[:card_type],
  :number             => params[:card_number],
  :verification_value => params[:card_verification],
  :month              => params[:date][:month],
  :year               => params[:date][:year],
  :first_name         => params[:first_name],
  :last_name          => params[:last_name]
  )
end

そこに関連するものはすべてあると思いますので、なぜこれがうまくいかないのか誰かがわかるなら、それは大歓迎です。

ありがとう!

4

1 に答える 1

0

これに似た問題が発生しました。これは、HTML コードを「説明」値に渡していたためです (私の説明には HTML コードが格納されています)。HTMLタグ付きの説明を独自の静的なものに置き換えることで回避しましたが、うまくいきました。

まだ問題を解決していない場合は、より静的なデータでテストして、問題の具体的な原因を確認することをお勧めします。

于 2013-09-28T13:37:59.653 に答える