2017-04-19 205 views
-2

这更是一个普遍的问题的有关存储和支付信息检索的网络商业应用存储支付信息

我们目前的做法是让用户第三方web窗体上的重定向后,输入自己的付款细节,类似于PayPal可能会做的事情。

为了更便于重复订单,显然涉及到存储付款的详细信息,如信用卡号,PII信息。

由于这有严重的安全隐患,我想知道一般公认的最佳做法是什么。基本上推荐使用Stripe等其他工具来处理所有这些吗?还是让其他人不用内部解决方案?

仅供参考,我们正在使用Java Servlets/JSP。

回答

0

我不知道你为什么不投票。这实际上是一个有趣的问题。

对于这个问题的答案一般是NO,不存储任何东西。让我们的第三方支付网关像Paypal一样为你做。

这不仅是有关安全(你可能会做错了),它也有应对法规,如存储数据,如信用卡敏感数据的权利。

的替代,极有风险的,和应待避免的答案是将其存储在浏览器会话存储。至于answer,会话存储是相当安全的。请记住使用HTTPS并实施XSS预防。但是,这又不是我所推荐的。

+1

它得到downvoted因为它“;太宽泛,而不是一个特定的编程问题 –

+0

感谢haipham。我想你明白了,并且完全回答,不知道约翰想说什么。但在阅读这里的答案之后,看起来更好的选择是使用处理PCI合规性的其他工具。 – fobius

0

你的问题比较广泛,而“最佳实践”常常是个人偏好和偏见的另一个词。

但是......

在大多数国家,处理信用卡细节需要你有与银行(通常称为“持卡人不存在”)的安排,银行将在实行相当严格的安全要求你当你采取这种安排。在英国,这些要求被称为“支付卡行业数据安全标准(PCI DSS)”。

有不同的选择这里 - 一个大型的网上商店可以投资于基础设施存储的付款细节,但对于满足所需的安全标准成本显著。其管理与银行交互的中介公司 -

您也可以通过payment gateway工作。他们通常有几种不同的集成选项 - 从“类似PayPal”的重定向到允许您收集信用卡数据的API,并通过API传递以验证付款。许多支付网关允许您在他们的基础设施(这是PCI兼容)上存储付款细节,并为将来的付款检索代币。

的过程是这样的:

customer places first order 
customer enters payment details 
payment gateway verifies payment details 
payment gateway collects payment 
payment gateway stores payment details 
payment gateway sends token to website 
website stores payment token with customer profile 
customer places second order 
website retrieves payment token 
website asks "use previous payment details" 
customer agrees 
website sends token to payment gateway 
payment gateway retrieves payment details 
payment gateway collects payment 
payment gateway tells website payment succeeded 
+0

感谢内维尔,因为我们正在寻找一种方式让购买的客户轻松回购,我们希望避免他们每次都需要重新输入付款信息。听起来像是自己存储信息的麻烦 – fobius