PCI 审计:使用“测试”卡

信息安全 pci-dss
2021-08-20 04:45:22

我知道 PCI 标准不允许您在测试系统上使用真实的信用卡号。Visa、Mastercard 和 Amex 提供了一份“测试”卡清单供您使用。完全有道理,我们一直在这样做。

现在,一旦在生产环境中设置好一切,我们通常需要在允许客户使用之前测试系统。我们有一张预付的 Visa 卡,用于最终测试。所以这是在我们的生产系统上,我们的支付网关指向生产支付处理器。这是客户将使用的 100% 设置。我们要检查描述符(语句中显示的内容)并检查一切是否正常。

我们的 PCI 人员说这是完全禁止的。实时信用卡不能用于测试。这是真的?如果是这样,您如何进行最终测试?当然,任何“测试”卡都会失败,因为它们不是有效卡。我们需要卡片才能工作,以检查完整的用户体验。

3个回答

如果您无法使用您拥有的真实卡运行测试,请询问他如何确保您的系统正常工作。另外,你说你在测试什么?也许您正在为自己的使用下订单。;)

该规则旨在防止您获取所有客户的信用卡号,并试图在您的开发环境中使用这些卡号。

进行此类测试的一种方法是编写支付处理器模拟器。编写一个与您的支付处理器实现相同协议的小程序。您可能需要阅读支付处理方文档的字里行间才能做到这一点,但这是可以做到的。

然后,您可以使用不匹配任何真实 BIN 或 IIN 的信用卡号格式(Luhn 校验和)的 16 位字符串。您可以执行测试用例,例如非常长的响应时间、格式不正确的响应、简短的响应以及具有信用额度的“信用卡号”。您还可以拥有产生特定拒绝的“信用卡号码”。

让模拟器始终拒绝具有格式正确的信用卡号的付款授权请求。仅对现实生活中不存在的少数特定“信用卡号”进行授权,因为 BIN 或 IIN 与真实银行的不匹配。这样,当某人的项目上线并且他们将其指向您的仿真器或测试系统时,仿真器不会发出虚假的身份验证,这会导致您的会计系统出现问题,即在结算时无法收到真实付款。

我在想 PCI DSS 涵盖了,但我在 PCI DSS 3.1 的明确涵盖的第 3 节中找不到。我是否错过了这个或更多的处理器/网关要求。无论哪种情况,针对测试帐户仍然是一个好主意。

我们有同样需要的客户。如果使用保存卡,一种选择是存储一些真实交易,然后将它们作为第一笔交易运行。这在有卡的环境中更成问题。我们已经让客户在公司卡上完成交易,然后立即将信用卡记入信用卡。

确实需要确认所有卡类型的真实账户设置。Visa/MasterCard 可能有效,但 Discover 或 AMEX。地址验证、CVV验证不能完全作为测试账户的测试交易来完成。

我也不是 QSA,但我的理解是 PCI DSS 和您的网关/处理器可以接受。您要确保不要撤销太多交易,因为您可能会触发与太多撤销相关的警报,因为这可能是欺诈的迹象。