通过卡号识别“信用卡”还是“借记卡”[重复]

Posted

技术标签:

【中文标题】通过卡号识别“信用卡”还是“借记卡”[重复]【英文标题】:Identify if a "Credit card" or "Debit card" by the card number [duplicate] 【发布时间】:2013-05-24 12:24:14 【问题描述】:

我最初可以通过执行 Luhn 检查算法来检查我是否有有效的支付卡号。

但是我需要确定它是 Credit 卡还是 Debit 卡以相应地执行下一个任务。我知道这取决于前四个字符,但我不确定确切的范围。

如果有人可以解释或提供解释这将是很好的链接。谢谢。

编辑...

在这两个 *** 链接中,我都没有看到我的问题得到解答。因此,这不能与其中任何一个重复。

在我的情况下,它不使用读卡器读取卡,而是使用卡号、CVV 和到期日期来完成付款(用户插入这些东西)。

另外,“是”我可以检查一下它是 Visa 卡、万事达卡还是美国运通卡。但是无法找到它是Credit 还是Debit 卡。(例如,如果该卡是 Visa 卡,那么我将如何知道该 Visa 卡是“信用卡”或“借记卡”。这是确切的问题)。

【问题讨论】:

你检查this了吗? 嗨,新白痴,我检查了***“银行卡号”的东西,但它没有说明区分这两种卡类型的任何确切逻辑。此外,这不会与您的链接重复,因为其接受的答案是阅读磁条以获取更多信息。在我的情况下,它不读取卡,而是用户输入卡号、CVV、到期日期,然后我必须将所有内容传递给 Web 服务以完成付款。无论如何,感谢您的快速回复。 您好 mvp,您的链接是否解释了有关选择“信用卡”或“借记”卡类型的任何内容(逻辑)。是的,我可以检查它是美国运通卡、维萨卡还是万事达卡(您的链接也说明了这一点),但仍在努力选择属于信用卡和借记卡类型的确切范围。还是谢谢。 通常你会问输入它的用户是否需要知道。大多数网站都是这样做的。 嗨彼得劳里,是的,这是一个很好的方法。但是根据用户要求,我必须检查一种方法来做到这一点,而不允许用户选择选项。顺便说一句,就我而言,这是一个移动应用程序。谢谢。 【参考方案1】:

您无法 - 明确地 - 仅凭 PAN 号码来区分。没有详细说明此信息的官方公共数据库,如果银行联合起来实现这一目标,他们将被指控勾结。

根据您所在的国家/地区,可以使用一些在线资源。Barclays 提供名为“CARD IDENTIFICATION AND VALIDATION - Barclaycard”的 PDF 文档,该文档适用于英国,但它们会不对其准确性提供任何保证。它大约每季度更新一次,以跟随行业变化。您将不得不谷歌它,因为我无法发布指向 pdf 文件的链接。

顺便说一句 - 仅进行 LUHN 检查是不够的,因为 LUHN 检查还用于许多其他数字,例如 EAN13 条形码。

【讨论】:

您好 OldCurmudgeon,感谢您的回答。以前没发现这个。是的,这个应用程序主要将在英国使用,但也适用于国际卡。我将对此进行深入研究。 我不同意。如果他们采取某种方式来识别借记卡和信用卡,我认为他们不会被指控勾结。他们已经遵循了许多标准,并且他们不会发行可以具有相同数字的卡。我们可以仅根据数字识别 VISA 与 MasterCard。他们本可以使用重叠的编号方案,但他们选择稍微合作并保持编号的唯一性。

以上是关于通过卡号识别“信用卡”还是“借记卡”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

支付流程的测试点

一串16位数码是不是构成合法的信用卡号,

在不符合 PCI 的情况下通过 PayPal 重复借记卡/信用卡付款

如何检查只有信用卡号有效而不是借记卡..?

如何在 ASP.NET 文本框中仅允许信用卡/借记卡号码格式

用信用卡付款不起作用