2017-11-09 16 views
0

このコードを有効なクレジットカード番号の確認に使用しています。しかし、このコードでは、番号クレジットとデビットの両方をチェックしています。確認方法デビットカードではなく、クレジットカード番号のみ有効です。

クレジットカード番号の確認だけが欲しいです。

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); 
    } 

ありがとう、Kaushik。

+1

あなたは、番号がクレジットカード番号とデビットカード番号であることを知る方法を定義しなければならないと思います。私の知る限りでは、数字だけでは銀行が知っているカードの種類は何であるかは分かりません。しかし、これは銀行と国によって異なる場合があります – DaImTo

+0

@DaImToあなたは私のポイントを取得しませんでした。私は顧客が入力したクレジットカード番号が有効であるかどうかチェックしたい –

+0

番号が有効かどうかはどうやって分かりますか?カード会社は、124が有効なクレジットカードであり、789が有効なデビットカードであるという仕様を与えていますか?クレジットカード番号とデビットカード番号を定義するパターンがあることをどのように知っていますか?存在しないパターンをテストするためのアルゴリズムを作成することはできません。 – DaImTo

答えて

2

数字がクレジットカード番号とデビットカード番号であることを知る方法を定義する必要があると思います。私の知る限りでは、数字だけでは銀行が知っているカードの種類は何であるかは分かりません。ただし、銀行や国によって異なる場合があります。

+0

カードがデビットカードかどうかを判断することは可能です。私たちは請求と支払いのプラットフォームでそれを行います。 –

+0

@JohnCondeの心はあなたがそれをやっている方法で質問に答える。ヨーロッパではこれを行うことができませんでした。現在、銀行が不正なタイプのデビットカードにより拒否した場合、Googleはカードに請求します。あなたがチャージを送信せずにカードを検証する方法を持っているなら、それを聞くのが大好きです。 – DaImTo

+1

私は自分自身の詳細すべてを持っていないので、私は仕事をしたチームから情報を得ることができるかどうかを確認する必要があります。 –

関連する問題