集成单个PayPal订阅的最佳实践?

时间:2015-01-13 14:09:43

标签: paypal paypal-subscriptions

我是PayPal的新手,并且被与PayPal集成的所有可能方法所震撼。 首先,我想通过每月定期付款实施一个单一订阅。当用户在完成付款后返回网站时,他/她将立即升级为“高级”会员(仅限数字产品 - 不涉及运输)。

我调查过的第一个选择是Express Checkout API,它看起来不错,但有没有更简单的方法呢?

我可以创建一个标准按钮(JS按钮或基于表单),但仍然能够在用户返回时使用REST API,IPN或其他方式验证付款详细信息吗?

赞赏有关最佳做法的任何提示。

1 个答案:

答案 0 :(得分:0)

是的,现在有太多方法可以解决这个问题。

您可以通过按钮(又称标准),快速结账(又名Pro)样式API或RESTful API满足您的要求,但有一些问题需要了解:

首先,PayPal有几种产品可以进行定期付款;这些产品具有功能差异,并且与不同的集成样式相关联。因此(例如)PayPal的产品称为“订阅”(与网站标准又称按钮),与“定期付款”(与Express Checkout相关)具有不同(通常不太灵活)的功能,后者又与“结算协议”不同(捆绑) REST API,虽然术语“计费协议”也用于快速结账定期付款产品)。哦,还有另一个与Adaptive Payments API套件相关的类似产品。

困惑了吗?抱歉。但是,在进行任何集成之前确定您要使用的特定产品是否满足您的要求非常重要,或者您最终可能会在以后重做该集成工作(如果您已经开业,则可能需要迁移客户) )以便稍后访问其他产品的特定功能。例如,订阅产品对于卖家在设置之后修改订阅的能力非常有限。如果可以,那么很好,使用它 - 它很容易集成。如果我可以过分简化:标准订阅产品是最老的,也是最有限的; Pro经常性付款更灵活,更成熟; REST计费协议产品是最新的,非常灵活的,但尚未广泛使用;它可能缺少您今天所需的功能,但最有可能在未来不断改进。我不会亲自推荐适应性产品,尽管它也有其优点。

现在,针对您的集成问题:幸运的是,所有这些PayPal产品都可以使用IPN。不幸的是,IPN 不是即时。它们通常很快到达(1-2秒),但可能发生延迟,无法处理客户非常尴尬。我只会在运送实体商品时使用IPN,不能立即访问数字商品,或者在客户等待您的页面的其他情况下使用IPN。幸运的是,每种其他方法都可以在不等待IPN的情况下立即确定PayPal操作的成功:

网站标准付款在将用户发回您的网站时会包含GET或POST变量,这些变量会告诉您结果。如果您使用付款数据传输功能,这些变量将包含签名信息,以便您可以将返回发布到PayPal& PayPal将验证其有效性(以便潜在的小偷不会通过设计看起来像PayPal成功重定向的帖子来欺骗您。)

这两种基于API的方法更加简单:API本身会返回API响应中所需的所有信息。因此,无论您在代码中的哪个位置打电话来创建订阅/协议,如果您取得成功,那么请努力让您的用户获得溢价。

有一个奇怪的情况是用户成功付款然后“丢失”,例如,重定向失败/浏览器在返回您的网站之前关闭,或者您的网站在尝试打开用户时窒息。出于这个原因,许多人建议使用IPN,PayPal将尝试重新发送,直到您将其验证回PayPal。这不是一个坏主意,取决于。

当然你可以打电话给搜索&获取详细信息类型API以获取有关您的交易和信息的信息; PayPal上的协议 - 尽管如此,您还需要集成与您集成的产品相匹配的正确API(例如,如果您要求REST界面提供结算协议,则不会显示基于标准的订阅。)

希望这有帮助。