Carrinho de Compras

Gostaria de saber como Inserir um Metacampo no carrinho de compras.

Vi em outro tutorial que seria somente altera o nome

{{ product.metafields.custom.precopixbk.value | money }}

para

{{ item.product.metafields.custom.precopixbk.value | money }}.

Mas não funcionou.

No carrinho de compras consigo tratar apenas o valor total do carrinho.

Uso Tema warehouse.

Obrigado

Olá! Pelo que entendi, você quer implementar um preço diferente para o produto, no caso pix.

O Shopify não oferece nativamente essa opção e permite a personalização do checkout somente nos planos mais avançados (Plus).

Caso você queira oferecer desconto para o cliente pagar no pix, precisa verificar se seu gateway oferece essa opção, ou fornecer um código de desconto (porém não tem filtro).

O máximo que você vai conseguir realmente é exibir na página do produto o preço com desconto, mas de fato não terá utilidade nenhuma.

Em tempo, precisa verificar se o metacampo foi criado e se os nomes estão corretos e foram criados na categoria correta, por isso a informação não está sendo exibida. Você esta usando o nome “custom.precopixbk.value”. Além disso, o metacampo product funciona somente na página do produto.

Em resumo, a definição não funciona na página de carrinho.

Oi Junior, obrigado antecipadamente,

Não há uma forma de trazer este valor que foi cadastrado no produto ?

Talvezcriando o metacampo de forma diferente.

Obrigado

Oi @Deysonlf !

Fiz alguns testes e obtive sucesso!

Seu erro provavelmente está no nome do metacampo.

Usei o seguinte código:

{{ item.product.metafields.nome_do_metacampo | money }}

Só se certifique de estar criando o nome correto para o metacampo, pois aqui deu certo!

Mas volto a dizer, será apenas uma mera informação, não terá resultados significativos no valor do seu carrinho.

Espero que consiga!

Realmente não funciona.

Funciona somente na página do produto.

A propósito me informe por favor como voce fez o cadastro deste metacampo. Cadastrou a nível de produto ou variante ?

O Meu está a nível de produto.

Anexo o código utilizado.

Grato

Oi @Deysonlf !

Você está usando a sintaxe fora do for loop de itens do carrinho.

{%- for item in cart.items -%}
 loop de itens do carrinho
{%- endfor -%}

Realmente não vai aparecer nada, visto que fora do loop a sintaxe item não tem valor.

Você pode tentar a seguinte sintaxe, para exibir um valor com desconto:

{% assign desconto_pix = cart.total_price | times: 0.05  %}
{% assign preco_pix = cart.total_price | minus: desconto_pix %}

Coloquei 0.05 (5%) de desconto sobre o valor total do carrinho como exemplo, você pode mudar.

E onde você quer exibir o preço:

{{ preco_pix | money }}

Assim você não usa metacampos e consegue remover o percentual fora do for loop de itens.

Dessa forma você exibirá percentual de desconto sobre o valor total do carrinho. Visto que se existirem mais de um produto adicionado, o metacampo ficaria, grosso modo, “perdido” e não saberia de qual campo buscar o valor, saca?

Mas como informei desde o início, isso é meramente ilustrativo e não trará resultados significativos na hora do checkout, que estará com os valores cheios.

Você já verificou com o seu chekout a possibilidade de oferecer descontos de acordo com a forma de pagamento?

Se você precisar de outras personalizações de código, basta enviar mensagem direta.

Se a resposta foi útil, marque como aceita. Espero que consiga.

Um abraço!