【问题标题】:PayPal Parameters for Item Detail, Sales Tax and Shipping in Adaptive Payments自适应付款中的项目详细信息、销售税和运费的 PayPal 参数
【发布时间】:2012-04-20 11:02:50
【问题描述】:

我正在构建一个 Rails(3.0,Ruby 1.9.2)应用程序,访问者可以从我的用户那里购买东西(付款直接从买家到用户)。我正在尝试使用 PayPal Adaptive Payments 来实现这一点,但是,我不知道该怎么做:

  1. 在我的应用程序中创建描述(PayPal 中的第一行)= 产品名称。现在,我可以发送付款,但通常描述某人在 PayPal 中购买的商品的最上面一行显示为收件人的电子邮件,我不知道如何更改它
  2. 将运费和销售税与主要金额分开显示

我试过了:

  1. reviewing PayPal's documentation on Adaptive Payments
  2. 在 PayPal 开发者板上发帖
  3. 尝试 Apigee 看看这是否向我透露了任何信息

这是我当前的代码:

 gateway = ActiveMerchant::Billing::PaypalAdaptivePaymentGateway.new( :login => "foo",:password => "bar", :signature => "foobar",:appl_id => "foobar1" )

  ss= gateway.pay amount.to_i, @user.paypal_account,
    :ip => request.remote_ip,
    :sender_email => params[:paypal_email],
    :return_url =>"http://#{current_subdomain}.foobar.com/product/#{params[:product_id]}",
    :cancel_url => request.referer,
    :client_details =>
    {
    :application_id => '60',
    :customer_type => 'user',
    :customer_id => '12',
    :tracking_id => tracking_id,
    :pay_key => '24',
    :ipn_notification_url => "http://foobar.com/paypal_ipn"
    }

代码用于获取付款信息​​,它主要不会像我想要的那样显示(项目名称/描述显示为收件人,@user.paypal_account - 我想分解金额,如果可以显示运费和税金)。

【问题讨论】:

    标签: ruby-on-rails-3 paypal activemerchant paypal-adaptive-payments


    【解决方案1】:

    这是我的代码(我正在使用 paypal_adaptive gem)

    我指定了更多参数,由于您使用的是 ActiveMerchant 的 paypal 类,因此可能会有所不同:

    pay_request = PaypalAdaptive::Request.new
    
    server="http://mybaseurl.com"
    data = {
      "returnUrl" => "#{server}/sales/summary?sale_id=#{sale_id}", 
      "requestEnvelope" => {"errorLanguage" => "en_US"},
      "currencyCode"=>"USD",  
      "receiverList"=>{"receiver"=>[{"email"=>"#{@sale.seller.email}","amount"=>"item amount"}]},
      "cancelUrl"=>"#{server}/payments/canceled_payment_request?sale_id=#{sale_id}",
      "actionType"=>"PAY",
      "ipnNotificationUrl"=>"#{server}/payments/ipn_notification",
      "feesPayer"=>"EACHRECEIVER",
      "memo"=>"Purchase for item from my company",
      "reverseAllParallelPaymentsOnError"=>"true",
      "trackingID"=>"#{sale_id}",
      "partnerName"=>"Pretty sure this is the top line in paypal"
          }
    
    @pay_response = pay_request.pay(data)
    

    因此,上面的 partnerName 是您可以指定为您的应用的第一行

    关于销售税,论坛中有一个很长的帖子...我不确定那个...也许您必须在您的贝宝个人资料中设置它来收取销售税,或者在获得之前进行计算您向买家索要的总金额,并在摘要屏幕上让他们一目了然。 forum thread

    此外,这里还有更多您可能没有看到的文档,因为他们在 x.com 上整理了一半的文档,然后在 cms.paypal.com 上整理了更多文档...https://www.x.com/developers/paypal/documentation-tools/api/pay-api-operation

    【讨论】:

      【解决方案2】:

      Adaptive Payments 在常规结帐页面中不支持此功能。

      【讨论】:

      • 我可以使用另一个贝宝 api 来指示接收者(作为第三方),但接收 ipn?
      • 视情况而定。通常有多少个接收器?您需要链式付款,还是并行付款也可以?
      • 接收者永远是一个。我只是想让访客向第三方付款,但我需要收到一个 ipn
      • 在这种情况下,您可以使用 PayPal Express Checkout 并在 SUBJECT 变量中发送收件人的电子邮件地址。不过,接收者需要授予您代表他们调用 API 的权限。如果您希望我引导您完成,请通过邮件联系我; ppmtsrob@gmail.com
      猜你喜欢
      • 2014-02-23
      • 2012-06-21
      • 2018-08-30
      • 2015-07-22
      • 2018-04-05
      • 2023-04-06
      • 2020-10-16
      • 2014-12-08
      • 2012-06-10
      相关资源
      最近更新 更多