如何显示信用卡号码的最后4位数字

时间:2012-07-11 21:06:12

标签: credit-card pci-dss

我需要为用户提供附加到我们系统的最后4位信用卡(例如skype)。 它应该看起来像:

  

我们将从您的卡xxx-xxx-xxxx-1234

收取费用

对于授权和收费CD,我们使用了一些“支付网关”。不幸的是,他们没有任何基于交易号的API可以返回我的数据。在我的本地数据库中保留最后4位是否合法,根据PCI是否可以?

或者可能有不同的方法。

2 个答案:

答案 0 :(得分:3)

PCI的定义点是主帐号是否存在(存储,处理或传输)。

PAN的长度为16-19位。截断/屏蔽的PAN显示AT MOST的前六位和后四位。它可以显示较少提供这些子集。

在你提到的情况下,你只谈论最后四位数字。这不算作PAN,因此PCI不适用,您完全可以存储和显示这些数字。

但是,不要忘记从哪里获取数字。如果您的处理器返回完整的PAN并且您进行替换/屏蔽,那么您将需要考虑PCI,因为即使您没有存储它也将发送(接收)和处理PAN。

答案 1 :(得分:0)

这是:)

We will charge your card:
<% card_info_xxx = @card_info.card_number.length - 4
   1.upto(card_info_xxx) { concat 'x'.squish }
%><%= @card_info.card_number[-4..-1] %>