如何检查只有信用卡号有效而不是借记卡..?
Posted
技术标签:
【中文标题】如何检查只有信用卡号有效而不是借记卡..?【英文标题】:How to check Only Credit card number is valid not Debit card..? 【发布时间】:2018-04-22 02:26:33 【问题描述】:我使用此代码检查信用卡号码是否有效。但在这段代码中,检查号码贷记和借记。
我只想检查信用卡号。
private bool IsValidNumber(string number)
int[] DELTAS = new int[] 0, 1, 2, 3, 4, -4, -3, -2, -1, 0 ;
int checksum = 0;
char[] chars = number.ToCharArray();
for (int i = chars.Length - 1; i > -1; i--)
int j = ((int)chars[i]) - 48;
checksum += j;
if (((i - chars.Length) % 2) == 0)
checksum += DELTAS[j];
return ((checksum % 10) == 0);
谢谢,考希克。
【问题讨论】:
我认为您将必须定义如何知道数字是信用卡号还是借记卡号。据我所知,没有办法从它自己的数字看出它是什么类型的卡,只有银行知道。但是,这可能因银行和国家/地区而异 @DaImTo 你没明白我的意思。我想检查客户输入的信用卡号码是否有效 如何知道号码是否有效?信用卡公司有没有给你一个规格,说 124 是有效的信用卡,789 是有效的借记卡?你怎么知道有一种模式可以定义信用卡号和借记卡号?您无法创建算法来测试不存在的模式。 也许是愚蠢的问题,但为什么需要区分?当卡有效时,您为什么关心客户如何付款?卡是否有效,是否被冻结,只有联系银行才能知道。 【参考方案1】:我认为您将必须定义如何知道数字是信用卡号还是借记卡号。据我所知,没有办法从它自己的数字看出它是什么类型的卡,只有银行知道。但是,这可能因银行和国家/地区而异。
【讨论】:
可以判断一张卡是不是借记卡。我们在我们的计费和支付平台中进行。 @JohnConde 介意用你的做法来回答这个问题。在欧洲,我们一直无法做到这一点。目前,如果银行由于借记卡而拒绝我们知道它的类型错误,我们会尝试从该卡中扣款。如果您有办法在不发送费用的情况下验证卡,我很乐意听到。 我必须看看是否可以从完成这项工作的团队那里获得信息,因为我自己没有所有详细信息。 @John,我觉得您在 PSP 工作,因此可能可以访问 ABA 发布的包含此信息的 IIN 更新。如果无法访问最新的 IIN(卡范围)更新,我认为这是不可能的。以上是关于如何检查只有信用卡号有效而不是借记卡..?的主要内容,如果未能解决你的问题,请参考以下文章