如何制作浏览器扩展支付系统?

How can I make a browser extension payments system?

我今天在收件箱中发现一封来自 google 的电子邮件,他们在邮件中宣布 CWS payments API is deprecated

我正在努力创建一个 Chrome 扩展程序,我想通过应用内支付支持发布它,让用户购买许可证以解锁全部功能。我是面向 CWS 本地支付 API,但是 Google 弃用 API 的决定是一个非常糟糕的消息。

目前我找到了一个很好的 Wordpress plugin 来管理许可,我正在考虑使用它来创建许可后端,但我不确定,因为它主要用于用于 wordpress 主题或插件,因此要在客户端实现它以进行扩展需要一些解决方法。

您将如何管理 Chrome 扩展程序或 Electron 应用程序的应用内购买和许可?

好的,因为我和你的情况一样,所以我做了一些研究。以下是我对此事的调查结果和评论的摘要。

在开始实施之前,需要考虑三件事:

  1. 您要使用的支付处理服务类型
  2. 您想要限制功能的方式 免费版本(以及多层计划);
  3. 您的用户信息通过您的扩展程序安全

让我们一次过一遍。


1。付款处理类型

有两种主要类型的服务提供商可以让您在分机中收款。 支付处理平台是第一种:它们允许您处理支付并生成收据,但它们不会管理不同国家/地区的不同税收和法规。如果您只在一个国家经营,或者在几个税收和法规相同的国家经营,这不会影响您。

但是,如果您的用户遍布世界各地,尤其是在欧洲,实施规则来处理所有不同的税收和法规可能会变得非常复杂和混乱。但是你必须这样做,否则你就会把自己置于有被罚款风险的境地。这就是第二种类型的来源:有记录的商人。这些公司将代表您向用户收费,从您的盘子中消除所有复杂的税收和法规。他们本质上是充当您产品的经销商。当然,他们会从您的收入中抽取一小部分来支付他们从您肩上卸下的重担。

支付处理平台会更便宜(例如:Stripe), while merchant of records take a bigger cut (ex.: 5% + 0.50$ for Paddle 每笔交易 2.9% + 0.30 美元)。但是,如果您进行国际交易,那么高出 2.1% 的价格可能对您更有优势,因为它可以节省您大量的时间和开发工作。

但请务必注意,记录商家不太可能承担全新项目,尤其是 Chrome 扩展。这是因为这些扩展产生的平均收入很低,而且通常对他们来说并不值得。尽管如此,我还是建议您在决定采用经典的付款处理方式之前先了解其中的一些,以防万一您可以联系到看到您项目潜力并愿意接受您的销售人员。

以下是一些商家的记录:

以下是几个支付处理平台:

  • Stripe
  • Paypal (根据我的经验,Paypal 对开发人员的友好程度不如 Stripe)

2。限制免费或分层计划的功能

non-paying 用户的功能限制方式因一个扩展程序与另一个扩展程序而异。

如果您要在扩展中限制的功能已经依赖于后端,例如获取或处理数据,那么在服务器端实施限制是有意义的。您只需将可以存储在 chrome.storage 中的用户 ID 传递给对后端发出的每个请求。除此之外,您还可以在客户端禁用相关元素,例如隐藏或灰显按钮、选项卡或字段,以向用户清楚地表明这些功能已被锁定。但是,您需要确保后端也有限制,否则用户可以检查您的扩展并启用高级功能而无需付费。

如果您的扩展主要或仅在 client-side 上运行,那么您将必须根据用户的计划有条件地呈现界面。将添加的脚本或接口很可能必须由后端返回,因为几乎所有仅在 client-side 上完成的操作都可能被检查和利用。在这种情况下,您最熟悉的任何后端技术或平台都可以用来设置。

请记住,上面列出的大多数支付处理和 MoR 都有 APIs 和指南,说明如何在应用程序和网站中安全地实施它们。但是,如果您非常了解 Wordpress 并且可以在您的 Wordpress 和您的扩展程序之间建立安全通信,请继续。如果您想使用像 Zapier 这样的在线服务来 link 现有的身份验证和许可服务,那就去做吧!

本节可能会有更多详细信息 - 有大量 material 内容要涵盖,所以我建议您如果您在这方面没有太多经验,请在线查找文章和教程以帮助指导您完成此过程。


3。安全

这一节不会很长,但是非常重要。无论您决定使用哪个支付处理平台或如何限制对扩展功能的访问,确保您的用户信息永远不会落入其他用户手中至关重要。这包括对您的系统进行逆向工程和利用。

您决定自己处理的事情越多,风险就越大,尤其是在您没有经验的情况下。在做出决定时请记住这一点。


这就是我的全部。希望对您有所帮助!

我知道这可能是很多信息,但没有任何详细的“how-to”,但是没有 in-depth 对您的产品和情况的了解,就不可能说出您应该做什么。

P.S.

如果这可以提供任何指导,这就是我将为自己的扩展做的事情。鉴于它已经非常依赖 PHP 后端,我将向后端添加一些功能以便与 Paddle API 进行通信。所以所有的限制都会在后端实现,我会在前端添加消息和视觉指示器来告知免费用户他们可以做什么和不能做什么。

[编辑]
我刚刚收到来自 Paddle 的消息,表明他们目前不支持新的 Chrome 扩展。抱歉造成误导。

[编辑:2021 年 6 月] 在今年早些时候更新之后,FastSpring 更新了他们的安全标准,这使得它在 Chrome 扩展中无法使用。在我询问之后,他们的支持人员告诉我他们不再支持 Chrome 扩展(之前只是“意外地”支持)。