$productResponse = curl_exec($curl); // Здесь строка
$productResponse = trim(json_encode($productResponse), '"');
$productArray = json_decode($productResponse, true); // Здесь норм, массив
$productArray = json_decode($productResponse); // А тут перезаписываем объектом
// Зачем?
Массив должен передаватсья с помощью функции, так как информация получается из запроса.