No veo error, solo dos cosas que ponen a trabajar de mas al interprete de PHP
$product[price] - Debes colocar price entre comillas, de lo contrario, PHP buscara la constante, como no esta definida, asumira que es una cadena.
* ($qty) - Los parentesis no son necesarios.
Lo que puedes hacer es forzar a que el resultado sea un numero real, doble o de punto decimal flotante:
Código:
$subtotal_prod = (float)$product['price'] * $qty;