get_payload() should json_decode() the data, as it "internal" encodes the data as json to store in the DB.
Reverse $_POST and stdin, as stdin contains POST on a POST request