我们正准备发布过去一年一直在开发的大型Web应用程序。我们即将开始整合ActiveMerchant以处理服务的定期订阅费用。
我正在寻找有关考虑到我们的要求(下面列出的)的最佳实践的任何建议,以及针对我应该特别考虑的常见陷阱或特定问题的任何额外提示。我们将使用的支付网关是PaymentExpress,因为它是支持定期计费的少数支持网关之一,对于在美国境外运营的公司没有任何特殊条件。该应用程序背后的业务基于英国。
应用程序的用户创建一个具有子域的帐户,他们可以访问和自定义应用程序及其数据。以下是可能影响结算方式的一些要求/功能:
我可以预见的具体障碍将包括以下内容:
其他有用的建议是关于应用程序流程的任何建议。如何向用户呈现结算表单?何时需要信用卡信息?如何发送,存储和访问发票?
我应该透露,我们计划将大量代码库基于SaaSy。 SaaSy旨在用作单独的Rails应用程序,处理所有注册和帐户管理方面的事情。但是,这对我们不起作用,因为我们从一开始就没有计划过这个,而且让我们的应用程序适应这样的工作将是一个繁琐的过程。因此,我们将从SaaSy中提取代码和想法并将它们合并到我们的应用程序中,这是一项相当不繁琐的任务。
答案 0 :(得分:8)
我想添加一件事:请记住,您不需要使用网关内置的定期结算功能。一般来说,这些系统是遗留的并且很难处理,我们在轨道世界中被宠坏了。
为了一个目的,您可以获得更大的灵活性(为信用卡收费,也可能存储信用卡以实现PCI合规性)。然后在您的rails应用程序中使用cron作业,支付时间的日期字段以及每个人支付的金额(如果他们使用优惠券等)滚动您自己的定期结算。
一个小例子:有时人们会在月中取消每月订阅。他们希望确保在下次付款之前不要忘记取消。我见过的大多数网关定期结算将立即终止帐户(或向您发送一条消息,表明此情况)。实际上,用户已经在月底付款,并且应该再获得2周的访问权限。如果您已在rails中滚动自己的定期结算,则可以执行此操作,但如果您使用网关定期结算则不行。只是一个小例子。
答案 1 :(得分:5)
RailsKits有一个Software as a Service kit可以满足您的需求。它内置支持免费试用,升级,降级,计划限制等,并支持PaymentExpress(以及其他一些)。
我已经为我正在做的项目研究了一下,但我还没有购买它所以我不能保证它。但是,我看到一些博客文章称赞这个工具包。
虽然RailsKit在比较自己实现其所有功能所需的成本时相对便宜,但有一些开源版本旨在实现同样的目的。我记得的那个名字叫Freemium。
编辑:我忘了提到瑞恩贝茨在他的most recent Railscast中说他下一两集将处理经常性结算,所以请留意这一点。他通常每周做一集,自12月22日以来他完成的五件事都包括处理不同类型的付款。答案 2 :(得分:4)
Peepcode有PDF待售(70页),详细介绍了付款处理和行业惯例的各个方面。值得一试:
答案 3 :(得分:4)
我也正在建立一个基于订阅的网站,这些是我们目前的要求。他们可能会帮助您做最佳实践:
我们一直在关注http://chargify.com/,看起来它可以节省大量的编码时间。