是否可以使用activemerchant从heroku服务器进行信用卡付款?

时间:2010-09-20 03:06:40

标签: security heroku authorize.net activemerchant

我正在构建一个需要接受信用卡付款的应用active merchant。在安全性方面,它是否可以在heroku上生效并使用authorize.net(或类似)作为支付网关?

如果需要存储信用卡号码怎么办?

修改

不会将用户转发到authorize.net。

1 个答案:

答案 0 :(得分:4)

简单的答案是肯定的,我相信,但除此之外,这取决于它。

您可以为各种密钥和与第三方服务相关的其他值(http://docs.heroku.com/config-vars)设置环境变量,或者只是检入并部署它们。

如果您使用authorize.net的托管付款服务,并转发到他们的网站,则您自己不需要ssl。如果您要托管提交信用卡号和个人信息的表单,然后通过服务器上的API将其转发给authorize.net,则需要为heroku(http://docs.heroku.com/ssl)设置ssl,以便您的形式是安全的。

现在,接受信用卡付款是一回事,只需通过信用卡,保存信用卡号码和其他私人信息是另一回事。在没有指出各种安全标准文档(即PCI DSS适用于此处)的情况下,我将简单地说,除非您必须,不要存储CC编号和相关的个人信息,只需转发到网关并确保您不是记录这些字段(http://guides.rubyonrails.org/security.html#logging)。如果您确实需要存储信用卡数据,我认为您需要对数据库和服务器进行更多控制才能达到合规性,而且我不知道您可以使用的常规云主机(如AWS或heroku)并执行此操作(可能其他一些SO用户会纠正我)。但是,使用像authorize.net这样的支付网关可以帮助您。

我还要指出,不同的州现在都有关于存储敏感数据的法律(比如MA,我居住的地方),这是避免这样做的另一个原因,除非它对您的商业模式至关重要。

有关PCI合规性的有点过时但很好的一般性讨论,请查看此处:http://broadcast.oreilly.com/2009/02/pci-in-the-cloud.html