4x4 button pad not working with NFC Module v3

I’ve been using NFC Module v3 instead of RFID Reader to make a security device.
When I scan the ISO 14443a tags, the next procedure was to enter the right password which is in the program. But the problem is the 4x4 button pad is not working. Is there any problem in the codes?

#include <Keypad.h>  
#include <SPI.h>    
#include <PN532_SPI.h>
#include <PN532.h>
#include <stdio.h>
PN532_SPI pn532spi(SPI, 10);
PN532 nfc(pn532spi);
                              
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char Keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {45, 44, 43, 42}; 
byte colPins[COLS] = {49, 48, 47, 46}; 
Keypad keypad = Keypad( makeKeymap(Keys), rowPins, colPins, ROWS, COLS);

int RedLed    = A3;     
int GreenLed  = A4;      
int Buzzer    = A5;           
byte NFCTAG1[5] = {0x73, 0x6, 0xAC, 0x59};
unsigned long Timer;       

int RightCard;              
int RightPinCode;       
int WrongPinCode; 
int PinCodeCounter;  

int Code1Correct;     
int Code2Correct; 
int Code3Correct;     
int Code4Correct;    
int Code5Correct;  
int Code6Correct; 
int Reset; 

int MifareCard1;                          
const int Code1MifareCard1 = '7';             
const int Code2MifareCard1 = '7';             
const int Code3MifareCard1 = '7';              
const int Code4MifareCard1 = '2';             
const int Code5MifareCard1 = '2';             
const int Code6MifareCard1 = '2';             

void setup() 

{  
  Serial.begin(9600);                                    
  SPI.begin();                                           
  nfc.begin();
  pinMode (RedLed, OUTPUT);     
  pinMode (GreenLed, OUTPUT); 
  pinMode (Buzzer, OUTPUT);      
}

void loop() {   

if (Reset == 1)                
{                                                         
  RightCard = 0;
  MifareCard1 = 0;                                  
  RightPinCode = 0;
  WrongPinCode = 0;
  Code1Correct = 0;
  Code2Correct = 0;
  Code3Correct = 0;
  Code4Correct = 0;
  Code5Correct = 0;
  Code6Correct = 0;
  PinCodeCounter = 0;  
  delay (50);
  Reset = 0;
}


if (millis()- Timer > 7000 && RightCard == 1)       
   {                                               
    Reset = 1;
    Serial.println("CardAccesOff");
   }
  boolean success;
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };  
  uint8_t uidLength;                        
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);  
 
  if (success) {
    boolean OK = true;
    for (int i=0; i<5; i++)
   {
     if (uid[i] < 16) Serial.print(" ");
     //Serial.print(uid[i], HEX);
      
     //cross-check
     if (uid[i] != NFCTAG1[i]) OK= false;    
  }
    {   
     if (OK)
      {
      RightCard = 1;                                     
      MifareCard1 = 1;                                    
      digitalWrite (Buzzer, HIGH);                       
      delay (150);                           
      digitalWrite (Buzzer, LOW);        
     
      PinCodeCounter = 0;        
      Timer =  millis();            
      Serial.println("CardAccesOn");       
      delay (200);          
      }
  
    }   

if (Code6Correct == 1 && RightCard == 1)                    
  {
    RightPinCode = 1;          

    digitalWrite (GreenLed, HIGH);     
    delay (150);                                    
    digitalWrite (Buzzer, HIGH);                 
    delay (150);                            
    digitalWrite (Buzzer, LOW);         
    delay (50);                        
    digitalWrite (Buzzer, HIGH);                
    delay (150);                   
    digitalWrite (Buzzer, LOW);        
    delay (500);                                    
    digitalWrite (GreenLed, LOW);                                         
   
    Serial.println("Correct PinCode");                
    Reset = 1;      
  }

if ((Code6Correct == 0) && (PinCodeCounter >= 6) && (RightCard == 1))        
  {  
    WrongPinCode = 1;                                                       
    Serial.println("WrongCode");      
    Reset = 1;                
  } 

if ((WrongPinCode == 1) || (millis()- Timer > 7000 && RightCard == 1))      
  { 
    digitalWrite (Buzzer, HIGH);                                           
    digitalWrite (RedLed, HIGH);                                      
    delay(1500);                            
    digitalWrite (Buzzer, LOW);                          
    digitalWrite (RedLed, LOW);          
                                                 
    Serial.println("WrongCode or Timer expired");                       
    Reset = 1;                         
  }


char KeyDigit = keypad.getKey();                                          

if ((RightCard == 1) &&                                                    
    ((KeyDigit == '1') || 
    (KeyDigit == '2')  || 
    (KeyDigit == '3')  || 
    (KeyDigit == '4')  || 
    (KeyDigit == '5')  || 
    (KeyDigit == '6')  || 
    (KeyDigit == '7')  || 
    (KeyDigit == '8')  || 
    (KeyDigit == '9')  || 
    (KeyDigit == '0')  || 
    (KeyDigit == '*')  || 
    (KeyDigit == '#')))
 
    {                               
      PinCodeCounter++;                                                       
      digitalWrite (Buzzer, HIGH);                            
      delay (50);                                                       
      digitalWrite (Buzzer, LOW);          
    }


if ((KeyDigit == Code1MifareCard1) && (RightCard == 1) && (Code1Correct == 0) && (MifareCard1 == 1))           
    {
      Code1Correct = 1;                                                                                       
      return;                                                                                              
    } 
      
if ((KeyDigit == Code2MifareCard1) && (Code1Correct == 1) && (Code2Correct == 0) && (MifareCard1 == 1))        
    {
      Code2Correct = 1;                                                                                       
      return;                                                                                             
    } 
    
if ((KeyDigit == Code3MifareCard1) && (Code2Correct == 1) && (Code3Correct == 0) && (MifareCard1 == 1))         
    {
      Code3Correct = 1;                                                                                        
      return;                                                                                       
    } 
     
if ((KeyDigit == Code4MifareCard1) && (Code3Correct == 1) && (Code4Correct == 0) && (MifareCard1 == 1))         
    {
      Code4Correct = 1;                                                                                        
      return;                                                                                                  
    }  
if ((KeyDigit == Code5MifareCard1) && (Code4Correct == 1) && (Code5Correct == 0) && (MifareCard1 == 1))         
    {
      Code5Correct = 1;                                                                                       
      return;                                           
    } 

if ((KeyDigit == Code6MifareCard1) && (Code5Correct == 1) && (Code6Correct == 0) && (MifareCard1 == 1))         
    {
      Code6Correct = 1;                                                                                      
      return;                                                                                                  
    }
 
    
}

Thank you.

Have you tested the keyboard code separately from the other stuff?

I've tested the keypad to separate program and it works. is there any error in the codes ?

Thank you.

is there any error in the codes ?

No, of course not. The program is working perfectly.

Oh, wait, you say that it isn't, in this AND in your other post. Why did you start another thread on the same damned topic?