贝宝集成类型混淆

Posted

技术标签:

【中文标题】贝宝集成类型混淆【英文标题】:paypal integration types confusion 【发布时间】:2014-07-28 20:44:43 【问题描述】:

我是 asp.net 中的 paypal 集成新手。我发现很难理解 paypal api。

我理解了两种类型 -

    内嵌 html 表单(即也称为购买按钮) 支付流API

我的问题是:

    哪一个必须用于定期付款(最终用户的订阅包)?

    在第一种类型中,很少有网站建议使用 IPN 来确认付款。我想知道是否有必要,因为不使用IPN,也使用notify_url我们可以确认支付成功(据我所知notify_url在paypal网站完成支付后返回您的网站)?

    对于定期付款,我是否需要在我的数据库中存储用户帐户详细信息(即信用卡或贝宝帐户)?

请回复您的建议。

谢谢

【问题讨论】:

【参考方案1】:

1) 实际上,两者都可以。如果您想坚持使用基本的 HTML 表单,那么您将使用 Payments Standard,他们称之为“订阅”。您可以在您的 PayPal 帐户中轻松创建订阅按钮。

如果您使用 API,那么他们将其称为定期付款(或定期计费)。如果您想直接在您的网站上处理信用卡而不需要重定向到 PayPal,您可以使用 Express Checkout 进行 PayPal 注册,并使用 Payments Pro。

无论您使用哪种集成方法,IPN 都很有用,但是,不要将它与 PDT 混淆。 PDT 将数据发送回您网站的感谢页面,或者您为其设置的任何最终页面,并且它仅适用于 Payments Standard。如果在 Payments Standard 上配置了 PDT,即使启用了自动返回,也不能保证用户会返回到您的返回 URL。 IPN 非常相似,但无论用户是否返回您的站点,数据都将始终发布到您的 IPN 侦听器。

您还需要使用 IPN 来处理订阅/定期配置文件中未来付款的更新。例如,实际付款、取消、暂停、重新激活等。

您提到的 notify_url 参数用于 IPN。不过,这又与 PDT 分开。我多次看到的一个常见错误是人们将 PDT 和 IPN 都设置为相同的 URL。然后,当人们返回您的感谢页面时,代码实际上会运行两次。一次来自用户实际点击它,再一次来自 PayPal 的 IPN 服务器点击它。所以一定要避免这种事情。

3) 不,您永远不会将信用卡详细信息保存到您的服务器。订阅/循环系统使用 PayPal 保存在其服务器上的数据来处理。

【讨论】:

以上是关于贝宝集成类型混淆的主要内容,如果未能解决你的问题,请参考以下文章

.NET项目集成VS混淆加密

持续集成及部署利器:Go(不要和Google的编程语言Go混淆了!)

Android代码混淆之混淆规则

求大佬解答android module下混淆的问题

PayPal API 混淆 - ExpressCheckout 使用哪一个

类型提示混淆