当前位置:  开发笔记 > 后端 > 正文

使用Rails和ActiveMerchant重复计费:最佳做法,陷阱,陷阱?

如何解决《使用Rails和ActiveMerchant重复计费:最佳做法,陷阱,陷阱?》经验,为你挑选了2个好方法。

我们正准备发布过去一年一直在开发的大型Web应用程序.我们即将开始整合ActiveMerchant以处理服务的定期订阅费用.

我正在寻找关于考虑到我们的要求(下面列出的)的最佳实践的任何建议,以及针对我应该特别考虑的常见陷阱或特定问题的任何额外提示.我们将使用的支付网关是PaymentExpress,因为它是支持定期计费的少数支持网关之一,对于在美国境外运营的公司没有任何特殊条件.该应用程序背后的业务基于英国.

该应用程序的用户创建一个具有子域的帐户,他们可以访问和自定义应用程序及其数据.以下是可能影响结算方式的一些要求/功能:

所有用户都可以获得30天的试用期

有不同的计划,包括免费的计划

价格较高的计划对其帐户中可能拥有的数据量(例如用户,项目等)有较大限制

计费期限为每月一次

将有折扣/优惠券代码,以获得计划等一年正常价格的百分比.

计划定价将随着功能的添加而变化

我可以预见的具体障碍包括以下内容:

如何在违反较低级别计划的计划限制时处理降级.

信用卡到期或付款未通过时的行为(可能是强制执行的只读模式)

当计划定价发生变化时,我们希望在一段时间内(例如6个月)兑现现有用户的先前价格,然后开始收取更高的费率.如果计划价格下降,它将立即生效.

其他有用的建议是关于应用程序流程的任何建议.如何向用户呈现结算表单?何时需要信用卡信息?如何发送,存储和访问发票?

我应该透露,我们计划将大量代码库基于SaaSy.SaaSy旨在用作单独的Rails应用程序,处理所有注册和帐户管理方面的事情.然而,这对我们不起作用,因为我们从一开始就没有计划过这个,而且让我们的应用程序适应这样的工作将是一个繁琐的过程.因此,我们将从SaaSy中提取代码和想法并将它们合并到我们的应用程序中,这是一项相当不繁琐的任务.



1> Brian Armstr..:

我想补充一点:请记住,您不需要使用网关内置的定期计费功能.一般来说,这些系统是遗留的并且很难处理,我们在rails世界中被宠坏了.

只需将它们用于一个目的(为信用卡收费,也可能存储信用卡用于PCI合规性),您可以获得更大的灵活性.然后使用cron作业在滚动应用中滚动您自己的定期结算,通过付款时的日期字段,以及每个人支付的金额(如果他们使用优惠券)等.

一个小例子:有时人们会在月中取消每月订阅.他们希望确保在下次付款之前不要忘记取消.我见过的大多数网关定期结算将立即终止该帐户(或向您发送一条消息,表明此情况).实际上,用户已经在月底付款,并且应该再获得2周的访问权限.如果您已在rails中滚动自己的定期结算,则可以执行此操作,但如果您使用网关定期结算则不行.只是一个小例子.



2> Nick..:

RailsKits有一个软件即服务套件,可以满足您的需求.它内置支持免费试用,升级,降级,计划限制等,并支持PaymentExpress(和其他一些).

我已经为我正在做的项目研究了一下,但我还没有购买它所以我不能保证它.但是,我看到一些博客文章称赞这个工具包.

虽然RailsKit与你自己实现其所有功能所需的成本相比相对便宜,但有一些开源版本旨在实现同样的目的.我记得的那个叫做Freemium.

编辑:我忘记提到Ryan Bates在他最近的Railscast中说他下一两集将处理经常性计费,所以请留意这一点.他通常每周做一集,而他自12月22日以来所做的五件事都涵盖了不同类型的处理付款.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有