Since you're starting with a string. Why not use substring to split it before converting the payload into a c_str().
string* devID;
string* loraD;
devID = payload.substring(0,2);
loraD = payload.substring(3);
You'd need to watch out for 0x00 null bytes.