【问题标题】:How do websites determine if a credit card number is valid?网站如何确定信用卡号是否有效?
【发布时间】:2020-03-23 18:52:03
【问题描述】:

我正在浏览一个具有链接信用卡功能的网络应用程序,我被提醒通常这类页面具有一个功能,如果卡号有效,它们会立即告诉我们。他们怎么做到的?我认为没有这样的网站向服务器发送请求来检查这一点,这是在客户端完成的,但我在 JS 代码中找不到任何东西。这通常是怎么做的?

我不要求代码只是逻辑,Web 应用程序如何检查 CC 是否有效?我知道前 4 位数字说明了公司(签证、万事达卡等),但我没有在 JS 中找到任何代码表明如果 number = XXXX 它的万事达卡或类似的东西。

【问题讨论】:

    标签: web-applications payment-gateway payment credit-card


    【解决方案1】:

    你的假设不正确。

    对于初学者来说,判断信用卡是否有效的唯一方法是实际收取费用。如果不与发卡银行沟通,而交易是唯一的方法,就无法判断一张卡是否有效。由于在未经许可的情况下向信用卡收费绝不是一个好主意,因此最佳做法是执行所谓的仅授权或仅授权交易,该交易将冻结信用卡的设定金额以供将来捕获。建议使用 0.01 美元的金额,因为在您获取该金额、使该交易无效或大约一个月后授权自行解除之前,该持卡人将无法使用您冻结的任何东西。

    通常要做的一件事是验证信用卡号是否可能有效。如果无法或不适合进行上述详细检查,您可以根据多种因素确定一张卡是否可能有效。

    1. 卡片通过 Luhn 算法
    2. BIN 号有效

    Luhn algorithm 是一个简单的校验和公式,用于验证各种标识号,例如信用卡号。有free code available for doing this check in many languages

    银行识别号或 BIN 号码适用于 Visa 和 MasterCard 等,卡号的第一个 n 位数将告诉您发行该信用卡的银行。我知道有可用的当前 BIN 号码列表,作为预验证的一部分,您可以检查卡片是否具有有效的 BIN。

    如果您将 Luhn 算法与 BIN 编号检查相结合,您可以对信用卡进行预验证,并消除许多不正确的卡,从而避免快速且不花钱的使用。但要 100% 确定信用卡存在,您必须使用 AUTH 进行交易,这是验证信用卡的正确方法。

    【讨论】:

      猜你喜欢
      • 2016-09-18
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 2011-01-10
      • 2018-04-22
      • 2012-12-17
      • 2021-07-04
      • 2022-01-02
      相关资源
      最近更新 更多