Turns out the payload was raw json all along. Don't need to encode it