我意识到Paypal有多个API,虽然Active Merchant通过Paypal的SOAP端点通信,但您也可以通过基于URL的API通信。我只是感到困惑,因为有太多的文档,很难理解什么适用于什么。
编辑-澄清一下,我所谓的接受信用卡并不是强制用户拥有Paypal帐户-让Paypal仅作为信用卡网关(例如AuthNet)。我知道信用卡可以绑定到您的Paypal帐户,这不是我所说的。
谢谢!
与其编辑我先前编辑过的答案,我要再试一次。
快速结账是为了将其作为“Pay with PayPal”选项与您现有的支付解决方案并排而设立的。它具有更完整的API,并且只需要您的客户离开您的网站输入付款信息。这里有一个更详细的介绍 here。
为了澄清,是的,PayPal的快速结账和网站支付标准都允许您接受来自“访客账户”的付款(没有PayPal帐户的客户)。
我同意文档有时会令人困惑。既然您提到了Rails,这里是如何在Active Merchant中启用“访客账户”的快速结账。
我相信快速结账仅适用于商业账户(非个人)。如果您拥有商业账户,则会在您的PayPal配置文件中找到设置 - Profile>我的销售工具>在线销售>网站首选项
向下滚动至PayPal账户可选
并选择打开
单选按钮。
编辑: 显然,此选项可以在 Profile>网站支付首选项>PayPal账户可选
下找到。
然后使用Active Merchant,使用allow_guest_checkout
调用PayPal(此代码基于railscast on express checkout一集)。
response = EXPRESS_GATEWAY.setup_purchase(current_cart.build_order.price_in_cents,
:ip => request.remote_ip,
:return_url => new_order_url,
:cancel_return_url => products_url,
:allow_guest_checkout => true
)
网站支付标准(WPS)和快速结帐都接受信用卡。快速结帐具有更多功能(例如返回POST),现在两者都允许直接使用信用卡,因此差异较小。
您的PayPal配置文件中可能有一个设置,通常位于配置文件=>我的销售偏好=>在线销售
部分,该设置具有返回和自定义着陆页面选项。
对于单一的网关功能,您需要拥有网站支付专业版和/或其他形式的解决方案,以便您可以进行直接POST,这可能包括其他障碍,例如PCI合规性等。
至于activemerchant,请查看关于paypal的Railscast系列(特别是express checkout)
这些视频有点旧,但我去年根据这些视频设置了一个基于activemerchant和paypal express的付款解决方案。应该适用于您
:allow_guest_checkout => true
。 - jnevelson