он вместо преобразования - возвращает нуль!!!

Кто "он"? LiqPay или settype?

Я думаю нужна строка, но правильно отформатированная

$amount = number_format($pt, 2, '.');