Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
集成单个PayPal订阅的最佳实践?_Paypal_Paypal Subscriptions - Fatal编程技术网

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

集成单个PayPal订阅的最佳实践?,paypal,paypal-subscriptions,Paypal,Paypal Subscriptions,我是PayPal的新手,对与PayPal集成的所有可能方法都感到不知所措。 作为一个开始,我想实施一个单一的订阅与每月定期付款。当用户完成付款后返回网站时,他/她将立即升级为“高级”会员(仅限数字产品-不涉及配送) 我研究的第一个替代方案是,看起来不错,但是有没有更简单的方法呢 例如,我是否可以创建一个标准按钮(JS按钮或基于表单的按钮),但在用户返回时仍然能够使用restapi、IPN或其他方法验证支付详细信息 任何关于最佳实践的提示都将不胜感激。是的,现在有太多的方法来解决这个问题 您可能可

我是PayPal的新手,对与PayPal集成的所有可能方法都感到不知所措。 作为一个开始,我想实施一个单一的订阅与每月定期付款。当用户完成付款后返回网站时,他/她将立即升级为“高级”会员(仅限数字产品-不涉及配送)

我研究的第一个替代方案是,看起来不错,但是有没有更简单的方法呢

例如,我是否可以创建一个标准按钮(JS按钮或基于表单的按钮),但在用户返回时仍然能够使用restapi、IPN或其他方法验证支付详细信息


任何关于最佳实践的提示都将不胜感激。

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

您可能可以通过按钮(又名标准)、快速签出(又名专业)风格的API或RESTful API来满足您的需求,但有几个问题需要了解:

首先,贝宝有几种产品可以进行定期支付;这些产品具有功能上的差异,并且与不同的集成风格相关联。因此(例如)PayPal的产品“订阅”(绑定到网站标准aka按钮)与“定期付款”(绑定到快速结帐)具有不同(通常不太灵活)的功能,后者又不同于“账单协议”(绑定到REST API,尽管术语“账单协议”也用于快速结帐定期付款产品)。哦,还有另一个类似的产品与自适应支付套件的API相关联

困惑了吗?很抱歉但是,在进行任何集成之前,确定您要使用的特定产品是否首先满足您的需求是很重要的,或者您可能会在以后重新进行该集成工作(如果您已经开始了业务,则可能需要迁移客户)以便以后访问其他产品的特定功能。例如,订阅产品对卖家在设置订阅后修改订阅的能力非常有限。如果可以的话,那么很好,使用它——它很容易集成。如果我可以简单一点的话:标准订阅产品是最古老和最有限的;亲经常性支付更加灵活和成熟;REST计费协议产品是最新的,非常灵活,但尚未广泛使用;它可能缺少您现在需要的功能,但最有可能在未来不断改进。我个人不会推荐Adaptive产品,尽管它也有它的好处

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

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

这两种基于API的方法更简单:API本身返回API响应中所需的所有信息。因此,无论您在代码中的何处调用以创建订阅/协议,如果您获得了成功,那么请做好您的工作以使您的用户成为优质用户

有一种奇怪的情况是,用户成功支付了费用,然后就“迷路了”,例如,重定向失败/浏览器在返回您的站点之前关闭,或者您的站点在试图打开用户时阻塞。出于这个原因,许多人建议使用IPN,PayPal将尝试重新提交IPN,直到您将其验证回PayPal。这主意不错,视情况而定

当然,您可以调用search&get details类型API来获取有关您在PayPal的交易和协议的信息——不过,您同样需要与与您集成的产品相匹配的正确API集成(例如,如果您向REST接口询问计费协议,则不会显示基于标准的订阅)


希望这能有所帮助。

Geewiz,感谢您提供的详细答案。我目前正在构建一个电子商务平台单页应用程序,我想知道如果我使用paypal js客户端进行支付,并在成功回调时通过wordpress rest API为登录用户注册订单,是否足够“安全”?我是否需要在WC后端再次验证此购买,或者您是否有任何其他建议如何继续?对不起,我已经过时多年了,并且根本不知道wordpress rest API。我想我帮不了你。祝你好运