Что означает код 400 в cUrl?
// curl_setopt($ch, CURLOPT_CUSTOMREQUEST, '$_POST'); // Это - неправильно
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); // Надо так
Тем, что ты посылаешь неполный или неправильный запрос. Возможно, не хватает csrf-ключа