SSL обязателен, причем не самоподписной.
Для проверки разделите задачу на две части:
1) Прием сообщения от ВК, оно приходит без ключей, на указанный вами адрес вебхука.
$IN = json_decode(file_get_contents('php://input'), TRUE);
Сохраните приходящий массив, посмотрите, что в нем.
2) Отправка сообщения.
$request_params = array(
'message' => $OUT['MSG'],
'user_id' => $IN['FROM_ID'],
'access_token' => $token,
'v' => '5.63'
);
$get_params = http_build_query($request_params);
$log = file_get_contents('
https://api.vk.com/method/messages.send?'. $get_params);
// Сохраните значение $log, в нем будет ответ ВК и соответственно, можно будет посмотреть, что ему не нравится.
//Возвращаем "ok" серверу Callback API
echo('ok');
Если нужно помочь сохранять ответы или подробности, пишите.