使用 ActiveMerchant (payments pro) 将商品数据传递给 PayPal

Posted

技术标签:

【中文标题】使用 ActiveMerchant (payments pro) 将商品数据传递给 PayPal【英文标题】:Passing item data to PayPal with ActiveMerchant (payments pro) 【发布时间】:2013-03-23 00:47:54 【问题描述】:

我希望有人可以帮助我解决这个让我陷入困境的问题。 我在我的 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

我认为这就是那里所有相关的东西,所以如果有人能明白为什么这不起作用,将不胜感激。

谢谢!

【问题讨论】:

【参考方案1】:

我遇到了与此类似的问题,这是因为我将 html 代码传递给“描述”值(我的描述存储 HTML 代码)。我通过用我自己的静态描述替换带有 HTML 标记的描述来解决它,它运行良好。

如果您尚未解决问题,您可能需要使用更多静态数据进行测试,以查看具体是什么导致了问题

【讨论】:

以上是关于使用 ActiveMerchant (payments pro) 将商品数据传递给 PayPal的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMerchant 集成使用示例?

与 ActiveMerchant 一起使用的最佳支付网关是啥?

贝宝与 ActiveMerchant

ActiveMerchant:使用不支持void操作的网关时如何授权卡?

Paypal Express Checkout:可以使用 ActiveMerchant 设置收件人吗?

使用 Webmock 伪造成功的 ActiveMerchant 响应