我有点困惑,不知怎的,我可以改变购买金额:
首先我设置我的购买,
@setup_response = gateway.setup_purchase(
10*100,
:ip => request.remote_ip,
:return_url => url_for(:controller => "payments", :action => 'confirm', :only_path => false),
:cancel_return_url => url_for(:controller => "payments", :action => 'error', :only_path => false),
:currency => 'EUR',
:email => current_user.email,
:no_shipping => true,
:items => items
)
后来我做了购买:
purchase = gateway.purchase(
500*100,
:ip => request.remote_ip,
:payer_id => params[:payer_id],
:token => params[:token],
:currency => 'EUR'
)
正如您所看到的,我已将数量从10更改为>安装/用户在购买时同意1000,并且它在Paypal Sandbox中工作。
我觉得这很奇怪。任何人都可以证实吗?这应该不会发生? 这可能只适用于Sandbox吗?
答案 0 :(得分:1)
非常确定Paypal Express Checkout不需要DoExpressCheckoutPayment
(setup_purchase
映射到的地方)的金额与SetExpressCheckout
的金额相同。引用Paypal's documentation:
在最简单的情况下,您可以设置订单的总金额 调用SetExpressCheckout API。但是,您可以更改金额 如果你不知道,在调用DoExpressCheckoutPayment API之前 调用SetExpressCheckout API时的总金额。
答案 1 :(得分:0)
您可以在设置和购买之间留有一些余地 - 这是为了让人们可以更改订单,折扣等。
不要冒险向人们收费超过你的明确陈述 - 贝宝很快就给予退款,所以你最终会失败。