能否使用activemerchant在heroku服务器上进行信用卡支付?

9
我正在开发一款应用程序,需要使用类似于active merchant的东西来接受信用卡付款。就安全性而言,它是否可以在heroku上运行,并使用authorize.net(或类似的)作为支付网关?
如果需要存储信用卡号码怎么办? 编辑 不会将用户转发到authorize.net。
1个回答

4
简单的回答是“是”,我相信是这样,但除此之外还要看情况。
您可以为与第三方服务相关的各种键和其他值设置环境变量(http://docs.heroku.com/config-vars),或者只需检查并部署它们。
如果您正在使用authorize.net的托管支付服务,并转发到他们的网站,则不需要自己使用SSL。如果您将托管提交信用卡号码和个人信息的表单,并通过服务器上的其API将其转发给authorize.net,则需要为heroku (http://docs.heroku.com/ssl) 设置SSL,以使您的表单安全。
现在,接受信用卡付款并仅将其传递是一件事,保存信用卡号码和其他私人信息是另一件事。除了指向各种安全标准文档(即PCI DSS适用于此处)外,我只会说,除非你绝对必须,否则不要存储信用卡号码和相关的个人信息,只需转发到网关并确保您没有记录这些字段(http://guides.rubyonrails.org/security.html#logging)。如果您确实需要存储信用卡数据,我认为您需要更多地控制数据库和服务器以达到合规,并且我不知道可以使用并实现此目的的通用云主机,如AWS或heroku(也许其他SO用户会纠正我)。但是,使用支付网关如authorize.net可以使您达到目标。
我还要指出,不同的州现在有关于存储敏感数据(像马萨诸塞州,我所居住的地方)的法律,因此除非它对您的业务模型至关重要,否则应避免这样做。
有一个有点过时但是有关PCI合规性的好一般性讨论,请看这里:http://broadcast.oreilly.com/2009/02/pci-in-the-cloud.html

如果您确实需要转发信用卡数据,您是指“存储信用卡数据”吗? - James
我很好奇 - 大多数支付网关都需要服务器的IP地址。由于Heroku托管的应用程序都具有相同的A记录(proxy.heroku.com),这对于它们如何工作呢? - Gautam Rege
1
只有一个补充 - 如果您需要向客户收费,那么您始终需要SSL。尽管实际付款可能在像PayPal或类似的第三方网站上处理,但攻击者仍然可以替换您的整个付款页面,使您的用户支付到完全不同的商家账户。为了确保您的用户安全,您需要SSL - 这是强烈建议的。 - Pavel Nikolov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接