Help with LoRa 9x programming

It is working fine. You sent the ASCII representation for packetnumber 0 and received the correct result. The "30" at the beginning of the following string is the ASCII character for 0.

30 0 0 0 0 0 0 0 0 0 0 67 0 8E 15 9

This is wrong:

rf95.send((uint8_t *)radiopacket, 20);

Replace it with

rf95.send((uint8_t *)radiopacket, strlen(radiopacket)); //for valid character strings