2017-11-09 2 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

나는 모든 세부 사항을 직접 가지지 않았으므로 작업을 수행 한 팀으로부터 정보를 얻을 수 있는지 확인해야합니다. –

관련 문제