为什么我会收到 Stripe“in Correct_number”错误?

Dan*_*nes 5 stripe-payments

我们运行一个 iOS 应用程序,在其中使用 Stripe 通过 Stripe Cocoapod 提供的信用卡输入功能。在预制的 Stripe 信用卡输入中,Stripe 甚至不允许您输入无效的卡号。

但不知何故,我们确实有一些用户(很少)最终进行了购买,然后incorrect_number当我们尝试收费时,他们从 Stripe 收到错误代码。

我的问题是:当客户incorrect_number实际上不可能在 Stripe 信用卡表格中输入错误的卡号时,怎么可能有这样的情况呢?

在我们的应用程序中,除了 Stripe 信用卡表单之外,客户没有其他方法可以添加卡号。我认为这可能是客户取消了他们的卡,然后它变成了invalid_number

Dan*_*nes 3

因此,为了回答我自己的问题,Stripe 支持人员是这样说的:

“验证卡时,这是一个相当复杂的过程,我们要做的第一件事是验证卡是否符合标准结构,即卡的长度为 16 位且有效期有效。完成此操作后,会检查前 6 个数字,例如,在示例中,您提供的 BIN 号 545431 是 545431 CHINA MINSHENG BANKING CORP. 银行的万事达卡金卡信用卡的 BIN 号。

导致问题的是最后一个数字,特别是最后一个数字,接下来的 9 个数字通常不能连续重复(12345678)或重复出现(44444444),然后根据我们从同一个 Bin 中看到的卡片检查该数字检查它们是否符合格式。最后,最后一位数字是当你尝试制作卡片时最麻烦的数字,因为它使用复杂的算法来验证前 15 位数字,很难想出一个满足算法的随机字符串。

因此,当您看到无效的卡号错误时,您通常会保持安静,最可能的原因是该卡以前曾是有效号码,但已被弃用且不再有效。”