12

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

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

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

编辑...

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

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

同样“是的”,我可以检查一下它是 Visa 卡、万事达卡还是美国运通卡。但没有办法找到它是一张Credit还是一张Debit卡。(例如,如果这张卡是一张Visa卡,那么我怎么知道Visa卡是一张“信用卡”还是一张“借记卡”。这就是确切的问题) .

4

1 回答 1

3

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

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

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

于 2013-05-29T09:50:17.283 回答