没有付费的用户如何处理?

How to handle users who have not paid?

我正在寻找一种安全的方式来有意禁用我的 meteor 应用程序,以确保每月向客户付款。

您需要考虑您将如何处理未付款的用户。将他们注销不是很好,因为这样他们就无法重新激活他们的订阅!

假设您向用户对象添加了一个键,例如 validSubscriber。例如,如果用户不是有效订阅者,您可以将您的发布和方法不连接到 return 数据。

Meteor.publish('foo',(param1,param2) => {
  const isValidSubscriber = Meteor.user(this.userId).validSubscriber;
  if (isValidSubscriber){
    return ...
  } else {
    this.ready();
  }
});

在客户端,您可以让您的路线检查用户是否是有效订阅者,如果不是,则将他们定向到付款页面。

虽然聪明的用户可能会绕过您的路线,但您的方法和出版物的腰带和吊带方法将阻止他们看到任何数据或对其进行任何操作。

您不太可能为此找到预制的 "snippet",因为订阅管理代表您自己的应用程序 "business rules" 的一部分。每个人的做法都会略有不同。

我推荐的一件事是使用循环支付系统(Stripe 支持这一点),这样用户就不需要手动重新订阅。他们的信用卡过期或被取消 and/or 您在他们的帐户设置中为他们提供取消订阅功能。