如果我只想接受付款,我是否必须致电paypal设置结算协议?我有一个rails应用程序,我正在测试沙盘与paypal快速结帐。看看paypal api,我看到有一种方法可以用billing_agreement参数做我想要的,我在setup_purchase()中看到过这个参数。我还读到,获得定期付款的结算协议需要致电PayPal。我对定期付款不感兴趣。我的setup_purchase方法在下面并且工作,但它仍然允许echecks。谢谢你的考虑。
setup_response = gateway.setup_purchase(amount, :billing_agreement => {:payment_type => 'InstantOnly'}, :ip => request.remote_ip, :return_url => return_url, :cancel_return_url => polymorphic_url([@parent,@offer]), :items => [{:name => item_name, :quantity => 1, :description => item_description, :amount => amount}])
答案 0 :(得分:0)
是的,你所追求的是reference transactions。您需要致电PayPal让他们为您启用此功能。如果您只是单独使用定期付款,则无需拨打电话,无论您是否使用它,您都可以访问它。
但您想要做的是通过快速结账和完成授权或销售交易。执行此操作时,请确保在SetExpressCheckout请求中包含结算协议参数。
然后,您可以使用DoReferenceTransaction来处理付款,而无需再次向用户发送整个过程。您只需将您从Express Checkout流程返回的先前交易ID以及您想要收取的新金额传入。 PayPal使用保存的数据进行处理,无需进一步批准。