我希望有人可以帮助我解决这个让我陷入困境的问题。我在我的 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
我认为这就是那里所有相关的东西,所以如果有人能明白为什么这不起作用,将不胜感激。
谢谢!