我正在寻找一种安全的方式来故意禁用我的流星应用程序,以确保每月客户付款。
答案 0 :(得分:2)
你需要考虑一下你没有付钱的用户会做些什么。将它们记录下来并不是很好,因为它们无法重新激活它们的订阅!
假设您向用户对象添加了一个键,例如validSubscriber
。例如,如果用户不是有效订阅者,您可以连接您的出版物和方法,而不是返回数据。
Meteor.publish('foo',(param1,param2) => {
const isValidSubscriber = Meteor.user(this.userId).validSubscriber;
if (isValidSubscriber){
return ...
} else {
this.ready();
}
});
在客户端上,您可以检查路由是否是有效订阅者,如果没有将其指向付款页面。
虽然聪明的用户可能能够绕过您的路线,但使用您的方法和出版物的腰带和吊带方法会阻止他们查看任何数据或使用它做任何事情。
您不太可能为此找到预先制作的“代码段”,因为订阅管理代表了您自己的应用程序的“业务规则”的一部分。每个人的方法都会略有不同。
我建议使用定期付款系统(Stripe支持此功能),以便用户无需手动重新订阅。信用卡过期或被取消和/或您在帐户设置中为其提供取消订阅功能。