JSP 存储付款信息

xpcnnkqh  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(146)

这更像是一个关于Web商务应用程序的支付信息的存储和检索的一般性问题
我们目前的方法是让用户在第三方网络表单上重定向后输入他们的支付详细信息,类似于使用PayPal可能会做的事情。
为了便于重复下单,显然涉及到存储支付信息细节,如信用卡号、PII信息等。
由于这有严重的安全隐患,我想知道什么是普遍接受的最佳实践。基本上是建议使用其他工具(如Stripe)来处理所有这些问题吗?还是其他人使用内部解决方案?
作为参考,我们使用Java Servlet/JSP。

lrl1mhuk

lrl1mhuk1#

你的问题涉及面相当广,“最佳实践”通常是个人偏好和偏见的另一种说法。
可是......
在大多数国家/地区,要处理信用卡详细信息,您需要与银行达成协议(通常称为“持卡人不在场”),当您接受该协议时,银行将对您施加相当严格的安全要求。在英国,这些要求称为“支付卡行业数据安全标准(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
n6lpvg4x

n6lpvg4x2#

这个问题的一般答案是,不要存储任何东西。让第三方支付网关,如Paypal为您做。
这不仅是关于安全性(您可能会做错),它还必须处理法规,如存储敏感数据(如信用卡)的权利。
另一个非常危险且应该避免的解决方法是将其存储在浏览器的会话存储中。对于answer,会话存储相当安全。记住使用HTTPS并设置XSS防护。但同样,我不推荐这样做。

相关问题