2013-01-17 41 views
0

如果我只想接受付款方式,我必须致电paypal才能设置结算协议吗?我有一个rails应用程序,我正在使用paypal express checkout在沙箱中测试。看看paypal api,我已经看到有一种方法可以用我在setup_purchase()中看到的billing_agreement参数来执行我想要的操作。我还读到,获取定期付款的结算协议需要致电贝宝。我对经常性付款不感兴趣。我的setup_purchase方法在下面并且工作,除了它仍然允许使用echecks。感谢您的考虑。强制或需要使用PayPal API的付款方式

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

页面底部可能是一个解决方案,我试图看看活动商家是否支持它。 https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECImmediatePayment – daslicious

回答

0

是的,你所追求的是reference transactions。您需要致电PayPal让他们为您启用此功能。如果您只是单独使用定期付款,则无需致电,无论您是否使用它,都可以访问它。

但是,您想要执行的操作是通过快速结帐并完成并授权或销售交易。确保在执行此操作时将计费协议参数包含在SetExpressCheckout请求中。

然后,您可以使用DoReferenceTransaction来处理将来的付款,而无需再次向用户发送整个流程。您只需将您从Express Checkout流程中返回的以前的交易ID以及您希望收取的新金额传入。贝宝使用保存的数据进行处理,无需进一步批准。

+0

安德鲁,谢谢你的回复。我希望我的理解正确。我没有兴趣设置未来或经常性付款。我只想限制付款类型以排除合格。不幸的是,我提供的链接状态即时付款也不包括电子资金转账(我想要的)。更不用说活动商人将不得不改变以支持该api操作。恐怕没有解决我的问题的办法,我将不得不处理问题并设置IPN监听器。想法仍然非常受欢迎。 – daslicious

+1

我没有意识到这就是你的主要目标。您可以通过在付款接收偏好下禁用PayPal配置文件中的电子支票来轻松解决该问题。 –

+0

很抱歉,这不是一个选项,原因在于它是我网站上使用的其他人的PayPal卖家账户。所以它不像我可以一次更改设置并完成它:/ – daslicious