如何将信用卡数据保存在数据库中?

How to save credit card data in a database?

我正在开发一个需要存储整个信用卡号的应用程序。这可能使用任何 API?

我已阅读有关 Authorize.net's Customer Payment Profile 选项的信息,但当您尝试检索该付款资料时它只提供最后 4 位数字。

我也检查了 Braintree's v.zero API which gives first 6 and last 4 digits and also Stripe 的客户创建选项,但它也只给出了最后 4 位数字。

如果没有 API 可用,存储信用卡号的唯一方法是使用 PCI DSS 将它们存储在内部?

绝不在任何情况下存储客户信用卡信息。解释为什么你认为你需要它; Stripe API 可能可以做你想做的事。例如,如果您想要向之前向您付款的客户收取经常性费用,请使用 customer subscription.

绝不在任何情况下存储客户信用卡信息。如果 Stripe 发现你试图这样做,他们可能会禁止你。这很好,因为如果 Stripe 不抓住你,犯罪分子就会。犯罪分子喜欢从 Target and Walmart.

中提取信用卡信息的那种

披露:我为 Stripe 工作

是的,在内部存储客户卡信息的唯一方法是在符合 PCI 标准的系统中进行。您存储它们的任何地方以及您处理它们的任何方式都必须符合 PCI。

使用支付处理器(例如 Stripe)的最大好处之一是,他们会为您处理(非常、难以置信、可怕的)PCI 合规性的艰苦工作。作为该承诺的一部分,他们不会泄露他们为确保安全而孜孜不倦地工作的信用卡详细信息。

如果您愿意经历成为和保持 PCI 合规的严格过程,您可以以符合 PCI 的方式收集和存储卡号,并使用 Stripe 的 API 创建卡[0] 然后充电。请注意,您必须符合 PCI 标准才能以这种方式使用 Stripe 的 API,否则您将违反服务条款。

如果您可以更全面地解释应用程序将如何处理存储的信用卡号,也许有人可以建议一种不需要在本地实际存储卡信息的替代方法。

[0] https://stripe.com/docs/api#create_card-source-number