付款处理器-如果我想在自己的网站上接受信用卡,该怎么办?[关闭]


258

这个问题讨论了不同的付款处理者以及它们的成本,但是我正在寻找答案,如果我想接受信用卡付款该怎么办?

假设我需要为客户存储信用卡号,以便依靠信用卡处理器完成繁重工作的明显解决方案不可用。

PCI数据安全性,显然是存储信用卡信息的标准,有很多一般要求,但是如何实现这些要求

那么像Visa这样的拥有最佳实践的供应商呢?

我是否需要通过钥匙扣访问机器?物理上保护建筑物免受黑客攻击怎么办?甚至如果有人将备份文件与SQL Server数据文件放在一起,该怎么办?

备份呢?周围是否还有该数据的其他物理副本?

提示:如果您有商家帐户,则应协商确定他们向您收取“交换加”费用,而不是分层定价。 使用分层定价,他们将根据您使用的Visa / MC类型对您收取不同的费用-即 他们会向您收取更多附有丰厚奖励的卡。交换加计费意味着您只需要向处理方支付Visa / MC向其收取的费用,外加固定费用。(Amex和Discover直接向商家收取自己的费率,因此不适用于这些卡。您会发现Amex费率在3%范围内,Discover可能低至1%。Visa / MC在2%的范围)。 该服务应该为您进行协商(我没有使用过,这不是广告,并且我不隶属于该网站,

这篇博文提供了处理信用卡(特别是在英国)的完整摘要


也许我说错了这个问题,但是我正在寻找这样的提示:

  1. 使用SecurIDeToken将附加的密码层添加到物理盒中。
  2. 确保盒子在有物理锁或钥匙密码组合的房间里。

1
PA-DSS 2.0已弃用该功能。

Answers:


236

不久前,我在一家我工作的公司经历了这个过程,我计划不久后再以自己的业务再次经历这个过程。如果您具有一些网络技术知识,那还不错。否则,使用Paypal或其他类型的服务会更好。

该过程从获得商家帐户开始设置并绑定到您的银行帐户开始。您可能想向您的银行查询,因为许多主要的银行都提供商户服务。您可能能够获得交易,因为您已经是他们的客户,但是如果没有,那么您可以货比三家。如果您打算接受Discover或American Express,则它们将是分开的,因为它们为卡提供商户服务,因此无法解决。还有其他特殊情况。这是一个应用程序,需要准备。

接下来,您将要购买SSL证书,该证书可用于在公共网络上传输信用卡信息时保护通信。有很多供应商,但我的经验法则是从某种角度选择一个品牌名称。他们越了解,您的客户可能就越听说过它们。

接下来,您将要找到一个 与您的站点一起使用支付网关。尽管根据您的身高,这可以是可选的,但大多数时候不会。您将需要一个。支付网关供应商提供了一种与您将与之通信的Internet Gateway API进行通信的方式。大多数供应商都通过其API提供HTTP或TCP / IP通信。他们将代表您处理信用卡信息。两个供应商是 Authorize.Net PayFlow Pro。我在下面提供的链接提供了有关其他供应商的更多信息。

怎么办?对于初学者来说,有一些准则来指导您的应用程序必须遵循哪些准则才能传输交易。在进行所有设置的过程中,有人会查看您的站点或应用程序,并确保您遵守准则,例如使用SSL,并且您拥有使用条款和政策文档,以了解用户所使用的信息。对于。不要从其他站点窃取此文件。自己提出,如果需要,请聘请律师。这些事情大多数都属于Michael在他的问题中提供的PCI数据安全链接。

如果计划存储信用卡号,则最好准备在内部采取一些安全措施以保护信息。确保只有需要访问权限的成员才能访问存储信息的服务器。像任何良好的安全性一样,您可以分层进行处理。您放置的层越多越好。如果需要,可以使用密钥卡类型的安全性,例如SecureIDeToken以保护服务器所在的房间。如果您负担不起密钥卡路线,请使用两种密钥方法。允许有权进入房间的人签出钥匙,以及他们已经携带的钥匙。他们将需要两个钥匙才能进入房间。接下来,您将使用策略保护与服务器的通信。我的政策是,通过网络与之通信的唯一内容是应用程序,并且信息已加密。不能以任何其他形式访问服务器。对于备份,我使用truecrypt加密将备份保存到的卷。无论何时将数据删除或存储在其他位置,都可以再次使用truecrypt加密数据所在的卷。基本上,无论数据在哪里,都需要进行加密。确保获取数据的所有过程都带有审计线索。使用日志访问服务器机房,使用摄像机,如果可以的话,等等。另一措施是对数据库中的信用卡信息进行加密。这样可以确保只能在您的应用程序中查看数据,您可以在其中强制谁查看信息。

我将pfsense用于防火墙。我用小型闪存卡运行它,并设置了两个服务器。一种是用于故障转移以实现冗余。

我发现Rick Strahl撰写的这篇博客文章对理解电子商务以及通过Web应用程序接受信用卡所需的知识有很大帮助。

好吧,事实证明这是一个很长的答案。希望这些提示对您有所帮助。


13
完美的答案。希望其他人对此有所补充。
Michael Pryor

3
我见过的最好的之一.... +1
弗雷德里克·莫林

2
@Michael Pryor:如果它是如此完美,为什么其他人需要补充呢?嗯?
甜甜圈

17
@donut:因为时间在流逝,答案很少保持不变。
匿名类型

22

问问自己以下问题:为什么首先要存储信用卡号?您可能没有。实际上,如果您确实存储了它们并设法将其偷走了,那么您可能要承担一些严重的责任。

我编写了一个存储信用卡号的应用程序(因为交易是离线处理的)。这是一个好方法:

  • 获取SSL证书!
  • 创建一个表单以从用户那里获取CC#。
  • 加密CC#的一部分(不是全部!)并将其存储在数据库中。(我建议使用中间的8位数字。)使用强大的加密方法和密钥。
  • 将CC#的其余部分邮寄给处理您的交易的任何人(可能是您自己)并带有要处理的人员的ID。
  • 以后登录时,您将输入ID和CC#的邮寄部分。您的系统可以解密其他部分并重新组合以获得完整的号码,以便您可以处理交易。
  • 最后,删除在线记录。我的偏执解决方案是在删除之前用随机数据覆盖记录,以消除未删除的可能性。

这听起来需要做很多工作,但是由于永远不会在任何地方记录完整的CC#,因此,黑客很难在Web服务器上找到任何有价值的东西。相信我,值得安心。


1
在下面查看Michael为Sam Wessel留下的评论。
戴尔·拉根

17

PCI 1.2文档刚刚发布。它提供了有关如何实现PCI合规性以及要求的过程。您可以在此处找到完整的文档:

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

长话短说,为将用于存储CC信息的任何服务器(通常是DB服务器)创建一个单独的网段。尽可能隔离数据,并确保仅存在访问数据所需的最小访问权限。存储时对其进行加密。切勿存储PAN。清除旧数据并旋转您的加密密钥。

示例不:

  • 不要让可以在数据库中查找常规信息的帐户查找抄送信息。
  • 不要将CC数据库与Web服务器放在同一台物理服务器上。
  • 不允许外部(Internet)流量进入CC数据库网段。

范例操作:

  • 使用单独的数据库帐户查询抄送信息。
  • 禁止通过防火墙/访问列表到CC数据库服务器的所有但必需的流量
  • 将对CC服务器的访问限制为一组有限的授权用户。

5
请注意,PCI-DSS要求适用于卡数据通过的所有系统,而不仅限于存储位置。因此,相同的安全限制和要求也适用于Web服务器/应用程序服务器(以及属于这些计算机上所有其他虚拟主机的站点)以及与这些计算机位于同一网络段上的所有其他主机。
Cheekysoft

而且,如果您通过电话或纸上接受信用卡号,然后将其输入台式计算机,则那里也有同样的限制。
Stobor

15

我想添加一个非技术性的评论,您可能想考虑一下

我有几个客户经营电子商务网站,其中包括一对拥有中等规模商店的夫妇。两者虽然肯定可以实现支付网关,但他们并不会选择,但他们会使用抄送号码,将其暂时在线存储并手动处理。

他们之所以这样做是因为欺诈的发生率很高,而人工处理使他们可以在下订单之前进行额外的检查。有人告诉我说他们拒绝了所有交易的20%以上-手动处理肯定会花费额外的时间,在一种情况下,他们有一个只处理交易的员工,但是支付薪水的费用显然比他们少如果他们只是通过在线网关传递了抄送号码,则可能会曝光。

这两个客户都在交付具有转售价值的实物商品,因此特别容易受到影响,对于欺诈性销售不会导致任何实际损失的软件之类的商品,您的里程可能会有所不同,但值得在在线网关的技术方面进行考虑如果真的要实现这样的目标

编辑:自创建此答案以来,我想添加一个警告性的故事,并说这是一个好主意,现在已经过去了。

为什么?因为我知道另一个正在采取类似方法的联系人。卡的详细信息已加密存储,通过SSL访问该网站,并且在处理后立即删除了该卡号。你认为安全吗?

否-他们网络上的一台计算机被密钥记录木马感染。结果,它们被确定为几种分数伪造信用卡的来源,因此遭到巨额罚款。

因此,我现在从不建议任何人自己处理信用卡。此后,支付网关变得更具竞争力和成本效益,欺诈措施也得到了改善。现在,风险已不再值得。

我可以删除此答案,但我认为最好还是将其保留为一个警告。


1
这是一个非常有用的评论,我从未考虑过。谢谢
0plus1

8

请记住,使用SSL将卡号从浏览器发送到服务器时,就像在将卡交给餐厅的收银员时用拇指遮住信用卡号:您的拇指(SSL)会阻止餐厅中的其他顾客(网络)无法看到该卡,但是一旦该卡交到出纳员(网络服务器)手中,该卡就不再受到SSL交换的保护,出纳员可以对该卡进行任何操作。仅可通过Web服务器上的安全性来阻止访问已保存的卡号。即,网络上的大多数卡盗窃都不会在传输过程中完成,这是通过突破不良的服务器安全性并窃取数据库来完成的。


这就是PCI DSS的来源。即,不将完整的PAN存储在服务器上。
Martin Clarke 2010年

5

为什么要烦恼PCI合规性?充其量来说,您将可以减少百分之几的手续费。在这种情况下,您必须确定这是您想要做的事情,既要在开发的前期工作,又要随着时间的推移而跟上最新的要求。

在我们的案例中,最有效的方法是使用可订阅订阅的网关,并将其与商户帐户配对。节省订阅的网关使您可以跳过所有PCI合规性,而只需要适当地处理事务即可。

我们使用TrustCommerce作为我们的门户,并对他们的服务/定价感到满意。他们具有用于多种语言的代码,使集成变得非常容易。


5
原因之一是避免被付款网关扣为人质,如果要切换到另一个网关,以前的网关可能无法让您访问他们拥有的客户的所有抄送信息,从而迫使您询问客户使用新的付款网关获取购买的CC详情。转到步骤1::)
Zabba 2010年

3

确保处理PCI所需的额外工作和预算。PCI可能需要巨额的外部审计费用和内部工作/支持。另外,请注意可能单方面向您征收的罚款/罚金,通常与“罚款”的规模不成比例。


2

整个过程有很多。最简单的方法是使用类似于Paypal的服务,这样您就永远不会真正处理任何信用卡数据。除此之外,还有很多事情要经过批准才能在您的网站上提供信用卡服务。您可能应该与您的银行以及签发您的商家ID的人员进行交谈,以帮助您设置流程。


2

正如其他人提到的,进入此区域最简单的方法是使用PaypalGoogle checkoutNochex。但是,如果您打算从事大量业务,则可能希望查找“升级”到更高级别的站点集成服务,例如WorldPayNetBanx(UK)Neteller(US)。所有这些服务都相当容易设置。而且我知道Netbanx可以方便地集成到某些现成的购物车解决方案中,例如Intershop(因为我写了其中一些)。除了您正在考虑与银行系统(及其APAX系统)直接集成外,这很困难,这时您还需要向信用卡公司证明您正在安全地处理信用卡号(可能不值得考虑您每月没有拿走$ 100k的价值)。

从第一天到最后一个成本/收益的原因是,设置早期选项要容易得多(快捷/便宜),这使您为每笔交易支付相当高的手续费。后者的安装成本更高,但从长远来看,您只需支付较少的费用。

大多数非专用解决方案的另一个优点是,您无需确保加密的信用卡号的安全。多数民众赞成在别人的问题:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.