我有一个Rails(3.0,Ruby 1.9.2)应用程序我正在构建,访问者可以从我的用户那里购买东西(付款直接从买家到用户)。我正在尝试使用PayPal自适应支付来实现这一点,但是,我无法弄清楚我是怎么做的:
我试过了:
这是我目前的代码:
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 - 我想分解金额,如果可以显示运费和税金。)
答案 0 :(得分:0)
自适应付款在常规结帐页面中不支持此功能。
答案 1 :(得分:0)
这是我的代码(我正在使用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是您可以指定为应用的顶线
至于销售税,这里是论坛中的一个长线程...我不确定那个...也许你必须在paypal资料中设置你收取销售税,或者可能在获得之前计算您询问买方的总数,并在摘要屏幕上向他们显示。 forum thread
此外,这里有更多您可能没有看过的文档,因为他们在x.com上组织了一半的文档,然后在cms.paypal.com上组织了更多文档...... https://www.x.com/developers/paypal/documentation-tools/api/pay-api-operation