【问题标题】:API differences between Paypal Express Checkout and Website Payment StandardPaypal Express Checkout 和网站支付标准之间的 API 差异
【发布时间】:2012-03-20 08:53:45
【问题描述】:

我正在尝试了解 Paypal 的 Express Checkout 和网站支付标准之间的 API 差异。我知道面向用户的差异(Express Checkout 强制您拥有一个 Paypal 帐户,而 Website Payment Standard 也处理信用卡),但我不知道如何以编程方式与它们交互,特别是从 Rails 应用程序. Active Merchant 表示它支持 Express Checkout,但没有提及网站支付标准。对于经常性付款,我找到了this gem,但它只提到了 Express Checkout。它如何与网站支付标准一起运作(如果有的话)?

我意识到 Paypal 有多个 API,虽然 Active Merchant 通过 Paypal 的 SOAP 端点进行通信,但您也可以通过他们基于 URL 的 API 进行通信。我只是感到困惑,因为文档过多,很难理解什么适用于什么。

编辑 - 澄清一下,我接受信用卡的意思并不是强迫用户拥有一个 Paypal 帐户 - 让 Paypal 仅用作信用卡网关(例如 AuthNet)。我知道信用卡可以绑定到您的 Paypal 帐户,这不是我要说的。

谢谢!

【问题讨论】:

    标签: ruby-on-rails paypal


    【解决方案1】:

    与其编辑我之前编辑的答案,我会再试一次。

    Express Checkout 作为“使用 Paypal 付款”选项位于您现有的付款解决方案旁边。它具有更完整的 API,并且只需要您的客户离开您的网站即可输入他们的付款信息。有更详细的文章here

    为了澄清,是的,Paypal 的快速结帐和网站付款标准都允许您接受来自“访客帐户”(没有 paypal 帐户的客户)的付款。

    我同意文档有时令人困惑。既然您提到了 Rails,以下是如何使用 Active Merchant 在 Express Checkout 中启用“Guest Accounts”。

    我认为快速结帐仅适用于企业帐户(而非个人帐户)。如果您有企业帐户,您会在您的 paypal 个人资料中找到一个设置 - Profile>My selling tools>Selling Online>Website preferences 向下滚动到 PayPal Account Optional 并选择 On 单选按钮。

    编辑:显然这个选项可以在Profile>Website Payment Preferences>Paypal Account Optional下找到

    然后使用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
    
    )
    

    希望这会有所帮助。

    【讨论】:

    • 所以现在,我有两种实现方式——一种是使用 ActiveMerchant 的 Express Checkout,另一种是使用标准 URL 参数的 WPS。我正在使用的商家沙盒帐户确实启用了Paypal Account Optional,但是当我在 Express Checkout 中结帐时,如果我不这样做,它只会让我选择创建一个新帐户(但仍提供信用卡)'已经有一个了。另一方面,WPS 实际上允许我在没有 Paypal 帐户的情况下结帐。我通过 ActiveMerchant 传递 :allow_guest_checkout => true
    • 听起来那个设置应该可以工作。您的贝宝沙盒主页是否将您列为“帐户类型:企业 | 状态已验证”?
    • 找出问题所在。我们使用的 Active Merchant 版本太旧了,不支持 :allow_guest_checkout。我用相关代码对其进行了修补,现在一切正常,谢谢!
    【解决方案2】:

    网站支付标准 (WPS) 和快速结帐都将接受信用卡。 Express Checkout 具有更多功能(例如退货 POST),现在两者都允许直接使用信用卡,因此差异更小。

    您的 paypal 个人资料中有一个设置,可能位于 Profile=>My selling preferences=>Selling Online 部分下,其中包含退货和自定义着陆页选项。

    对于单独的网关功能,您需要拥有 Website Payments Pro 和/或其他形式的解决方案,允许您进行直接 POST,这可能包括其他障碍,例如 PCI 合规性等。

    至于 activemerchant,请查看 paypal 上的 Railscast 系列(特别是 express checkout

    这些视频有点陈旧,但我根据去年的这些视频设置了一个使用 activemerchant 和 paypal express 的支付解决方案。应该适合你

    【讨论】:

    • 如果它接受信用卡,那么它和网站支付标准有什么区别?我的理解是,如果您的网站已经有向信用卡收费的机制,并且您只想添加功能以使用 Paypal 帐户进行结帐,那么 Express Checkout 是一种替代方案。
    • 网站支付标准不是 API。这是一个带有隐藏输入的
      。 Express Checkout 完全基于 API。此外,使用 WPS,当买家在 PayPal 网站上时完成付款。使用 Express Checkout,调用DoExpressCheckoutPayment API 后即可完成。
    • Express Checkout 不直接接受卡支付;是的,它确实。您必须在您的 SetExpressCheckout API 调用中传递 SOLUTIONTYPE=Sole 才能使其工作(以及可选的 LANDINGPAGE=Billing),此外,必须在您的 PayPal 帐户的“配置文件”中启用“PayPal Account Optional”。
    • 事实上,强制用户登陆的实际登陆页面是您不能使用网站支付标准做的事情,并且可以使用快速结帐。 SOLUTIONTYPE=Sole&LANDINGPAGE=Billing 最初会始终显示信用卡表格。对于网站支付标准,这取决于是否有先前的 paypal.com cookie。如果 PayPal 检测到之前的 PayPal 登录 cookie,它将显示登录表单。
    • 我认为答案可以进一步澄清,包括这个讨论。就其本身而言,似乎说网站支付标准不能与信用卡一起使用,这是一种误导。 WPS 和 express checkout 都会将您带到 Paypal 页面,并且都允许您使用信用卡完成付款。
    猜你喜欢
    • 2013-05-18
    • 1970-01-01
    • 2016-09-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2011-04-05
    • 2012-07-14
    相关资源
    最近更新 更多