Liquid、JavaScriptなどに関する質問
Shopifyアプリ【Order Printer】を使用して領収書を作成しているのですが、
ストアの支払い方法は、Shopify PaymentのクレジットとPayPayとなっており。
それぞれの方法でお支払いされた時の領収書への表記を自動で反映させてたく以下のコードを書いているのですが、
<div class="details-item">
<p class="details-item__title">
明細
</p>
<p class="order-day__text">
ご注文日:{{ created_at | date: "%Y年%m月%d日" }}
</p>
<p class="order-number__text">
ご注文番号:{{ order_number }}
</p>
<p class="pay-methods__text">
お支払い方法:{{ payment_methods | replace: 'Shopify payments','クレジット決済' | replace:'["PayPay(オンライン決済)-SBペイメント"]','PayPay' | replace:'"]'| replace:'"',' '}}</p>
</div>
こちらですとliquidエラーが領収書に反映されてしまいます。
こちらの【お支払い方法:】の右横に支払い方法を反映させたいと思っています。
ご教示やアドバイスいただけると幸いです。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
確認いただきありがとうございます。
当初記載いただいていたコードとは違いますが、以下も検討できるかもしれません。
transaction objectを用いているため、上記投稿の情報を利用するなら以下も確認されるとわかり良いと思います。
https://shopify.dev/docs/themes/liquid/reference/objects/transaction
前出のコードが使えるなら以下も参考になるかもしれません。
以上ですが、いずれも見当違いでしたら申し訳ありません。
成功
Order Printer アプリのテンプレートで使用できる変数は、
テンプレート編集画面左にあるリンク「View the Liquid variable list」のリンク先に
記載のあるものかと思いますので、お支払い方法は {{ gateway }} な気がしますが、
以下だといかがでしょうか。
Shopify Payments の場合は、shopify_payments と出力されていますので、以下のようになるかと思います。
お支払い方法:
{% if gateway == 'shopify_payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
※上記は、shopify_payments 以外の場合は全てPayPayとなりますのでご注意ください。
該当箇所を
{% if payment_methods == ''Shopify payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
でいかがでしょうか?
ご丁寧にありがとうございます!
ご教示いただいたコードに変更してみたところ反映されました!
1点再度ご確認させていただきたいのですが、
今回Shopify Paymentのテストモードでクレジットを使って決済したのですが、
支払い方法がPayPayと出ているのはテストモードだからでしょうか…?
横から失礼します。
ご教示いただいたコードに変更してみたところ反映されました!
上記のように書かれていましたので現状が意図通りの動作なのかそうでないのか不明なのと、Oreder Printは使ったことがなく状況を把握できていないのですが、以下記載します。
試されたコードを確認いただきたいのですが、意味は以下のようになります。
上記の動作になりますので、「PayPay」と表示されたのは「payment_methodsの値がShopify payments以外だったから」となります。
現状が意図通りでない場合は、以下のようにして置換対象であるpayment_methodsの値を確かめたほうが良いかと思います。
{{ payment_methods }}
または
{{ payment_methods | json }}
お忙しいなか、ご丁寧にご教示いただきありがとうございます!
ご教示いただいた部分を今一度確認しましたが、やはり、ShopifyPaymentを使用したテスト注文なのですが、
PayPayと出てしまいました…
Order Printer Proの方では、Shopify Paymentが反映されているので、
アプリの問題なのかもしれません…
ご教示いただきましてありがとうございました!
成功
確認いただきありがとうございます。
当初記載いただいていたコードとは違いますが、以下も検討できるかもしれません。
transaction objectを用いているため、上記投稿の情報を利用するなら以下も確認されるとわかり良いと思います。
https://shopify.dev/docs/themes/liquid/reference/objects/transaction
前出のコードが使えるなら以下も参考になるかもしれません。
以上ですが、いずれも見当違いでしたら申し訳ありません。
成功
Order Printer アプリのテンプレートで使用できる変数は、
テンプレート編集画面左にあるリンク「View the Liquid variable list」のリンク先に
記載のあるものかと思いますので、お支払い方法は {{ gateway }} な気がしますが、
以下だといかがでしょうか。
Shopify Payments の場合は、shopify_payments と出力されていますので、以下のようになるかと思います。
お支払い方法:
{% if gateway == 'shopify_payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
※上記は、shopify_payments 以外の場合は全てPayPayとなりますのでご注意ください。
ご親切にご教示いただき誠にありがとうございます!
ご教示いただきました「gateway」への変更で反映を確認することができました!
今後内容を変更する際にもきちんとView the Liquid variable listを確認するようにいたします!
この度は本当にありがとうございました!
ご親切にたくさんご教示いただきましてありがとうございます!
地蔵さんにご教示いただいた内容と、toooruさんにご教示いただいた内容を確認し、
「gateway」を使用することで解決ができました!!!
たくさん教えていただいてありがとうございました!
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024