存储客户付款详细信息 - PCI合规性

时间:2012-05-14 12:36:15

标签: php mysql payment-processing pci-dss pci-compliance

我正在与一个新客户合作开展一个项目,由于业务类型的原因,他们在获取商家帐户处理在线付款方面遇到了一些问题。该系统的工作方式与Just Eat / Expedia等类似,客户在网站上下订单,然后传递到场地,网站收取佣金。

客户询问我们是否可以将客户付款详细信息存储在我们的数据库中(加密),然后将其传递到场地,以便使用其内部卡系统自行处理。我知道有PCI兼容性问题,但我无法直接回答我们需要做什么。我曾与几家托管公司进行过交流,其中一家表示我们需要一个拥有独立网络和数据库服务器的集群,而另一家则表示我们不会。我之前从未做过这样的事情,我通常只会向SagePay等人提供付款处理。

这是建议的付款流程:

  • 客户在网站上下订单
  • 付款详情存储在数据库中
  • 客户通过电子邮件发送订单确认。 Venue通过电子邮件发送订单通知。如果场地接受订单,则会传输订单和付款详细信息以进行内部离线处理
  • 一旦场地内部付款,订单即被确认,付款详情将从网站数据库中删除
  • 客户通过电子邮件发送最终订单确认

我想确保任何流程都是正确的,我想要的最后一件事就是网站遭到攻击,付款详情,并对任何损失承担责任!

非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

您未能包含实际问题....

然而:PCI合规并非易事;有多种级别的合规性,standards有点密集......一般来说,只要您不存储付款细节,就可以相对容易地遵守。如果您确实存储了付款详细信息,那么您的合规性要求会变得更加复杂,并且可能包括审核员工等流程。

您打算将付款详细信息转移到场地看起来像一个巨大的红旗 - 您基本上是向第三方提供信用卡详细信息,我作为消费者不会高兴,并且几乎肯定不允许PCI标准。

值得与专业支付网关提供商讨论您所拥有的选项 - 例如,大多数信用卡交易都包含“授权”电话,该电话提交卡详细信息和金额;服务检查卡是否有钱,并“锁定”帐户上的金额,并发回授权代码。实际的“结算”可以在以后发生 - 对于某些卡最多可以使用10天,并且只能使用授权代码,而不是完整的卡详细信息。专业支付提供商将知道您有哪些选择。

您可以与您的场地共享授权码,以便他们接受付款(尽管这几乎肯定会要求您使用同一个网关提供商)。

将您提及的流程更改为包含身份验证/结算逻辑将是直截了当的:

  • 客户在网站上下订单
  • 您的网站使用信用卡详细信息发出“auth”,存储身份验证码。
  • 客户通过电子邮件发送订单确认。
  • Venue通过电子邮件发送订单通知。
  • 如果场地接受订单,则执行“结算”交易
  • 您确认订单详情到场地
  • 客户通过电子邮件发送最终订单确认
  • 每周/每月/无论您向每个场地发出报告,显示未付金额并向他们发送支票或其他任何内容。

答案 1 :(得分:0)

另一种方法是将信用卡信息完全存储在您的手中,并将负担放在有能力和专业知识的其他人身上,同时在必要时让您轻松向客户收费。 Authorize.Net提供他们的Customer Information Manager API,允许您为客户创建付款资料。他们处理信用卡信息的存储并为您提供付款ID。然后,您可以在必要时收取该付款ID,而无需访问实际的付款细节。