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