Checking message sent with RFM9x Lora Transceiver with an if statement

I am working with the RFM9x Lora Transceivers. One Lora has a button, the other has a servo. When the button is pressed I want to move the servo. When I press the button I am sending the letter "z". On the Lora with the servo I want to check if the message sent is "z" then move the servo. However, it is not going into that if statement. Is there a different way to check the message sent? Or any other ideas? Thank you!

button lora

// if the button is pressed, drop the payload
if (buttonValPayloads == HIGH) {
// set the dropped to "true"
droppedPayloads = true;
Serial.println("Payload button pressed");
uint8_t data2[] = "z";
rf95.send(data2, sizeof(data2));
rf95.waitPacketSent();

servo lora

if (rf95.waitAvailableTimeout(1000)){
//Should be a reply message for us now
if (rf95.recv(buf, &len)){
Serial.print("ground station: ");
Serial.println((char*)buf);

//if button pressed open door for payloads

if (buf[0] == "z" ){
Serial.print("buf: ");Serial.println((char*)buf);
payloadServo.write(2250);
Serial.print("Sending payload alt: ");
Serial.print(altFromGround);Serial.println("ft");
rf95.send(altData, 16);
delay(10);
rf95.waitPacketSent();
}

Have you tried the standard send and receive examples first, to prove that your setup is actually working ?

Read the 'How to use this forum - please read' post for details on how to post code.

Change it to:

uint8_t data2[] = {'z'};

And change this aswell:

if (buf[0] == 'z'){
           if (buf[0] == "z" ){

buf does not contain a series of strings, rather it is a series of chars

Try

           if (buf[0] == 'z' ){