这可能是一个主观问题,但我会试一试。
已经有许多关于订阅计费管理的问题。我目前正在开发一个需要全自动计费系统的 SaaS 解决方案。
当我问这个问题时,我不是在寻找关于实施特定支付网关或类似东西的建议。相反,我想就采取什么样的方法提出建议。
我需要的功能是一个可以处理升级、降级、定期计费、取消等的系统。最初只针对一种产品,但随着时间的推移,可能需要系统可以处理多种产品(我的意思是根本不同的产品)产品,而不是同一产品的不同变体)。
正如我所见,当您需要这样的解决方案时,有多种可能的方法:
- 自己编写一个支持此功能的计费服务器,并与每个产品分离,以便它可以处理多个独立的产品。
- 使用托管解决方案,如Recurly、Chargify、Spreedly或CheddarGetter。
使用托管解决方案的优势显然是您不需要 PCI 认证,关注点是外包的,而且启动和运行速度要快得多。然而,这些优势是有代价的:对您的产品最重要的支持功能 - 即计费不在您的控制范围内。此外,您的控制力和灵活性较低。
你会怎么办?如果我们超越 PCI 要求,我肯定更愿意拥有一个可以完成此类工作的内部编码系统。另一方面,我从许多来源听说,编写这样的系统是一件痛苦的事情。
任何建议都将受到高度赞赏。此外,如果您建议自己编写代码,任何关于如何编写代码的经验或是否有任何开源项目(无论语言,我追求的不是代码而是结构),我都可以从中受益意义重大。