Erro de preço em variantes com preços diferentes

olá.

Na parte de preço de variante. adicionei um cálculo de desconto para mostrar o preço exato já com o desconto de 5% do pix. ficou assim:

{%- if selected_variant.compare_at_price > selected_variant.price -%} {{ 'product.general.sale_price' | t }} {{- selected_variant.price | times: 0.95 | money -}} {{ 'product.general.regular_price' | t }} {{- selected_variant.compare_at_price | money -}} {%- else -%} {{ 'product.general.sale_price' | t }} {{- selected_variant.price | times: 0.95 | money -}} {%- endif -%}

até ai tudo certo.

se um item custa 100, vai aparecer automaticamente 95 como preço para pagamento em pix.

o problema:

ao abrir a pagina pela primeira vez. variante “A” custa 100. Preço fica em 95

variante “B” custa 200. e deveria aparecer 190. porém ai clicar na variante “B”, o preço fica em 200, e se eu voltar para a variante “A”, agora está em 100 também. o desconto não é mais aplicado. contudo notei que isto só acontece em produtos com variantes de valores diferentes. se um produto tem varias variantes, porém todas com o mesmo valor. isto não acontece. alguém poderia ajudar?