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エラーが領収書に反映されてしまいます。
こちらの【お支払い方法:】の右横に支払い方法を反映させたいと思っています。
ご教示やアドバイスいただけると幸いです。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
該当箇所を
{% if payment_methods == ''Shopify payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}
でいかがでしょうか?
横から失礼します。
ご教示いただいたコードに変更してみたところ反映されました!
上記のように書かれていましたので現状が意図通りの動作なのかそうでないのか不明なのと、Oreder Printは使ったことがなく状況を把握できていないのですが、以下記載します。
試されたコードを確認いただきたいのですが、意味は以下のようになります。
上記の動作になりますので、「PayPay」と表示されたのは「payment_methodsの値がShopify payments以外だったから」となります。
現状が意図通りでない場合は、以下のようにして置換対象であるpayment_methodsの値を確かめたほうが良いかと思います。
{{ payment_methods }}
または
{{ payment_methods | json }}
成功
確認いただきありがとうございます。
当初記載いただいていたコードとは違いますが、以下も検討できるかもしれません。
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となりますのでご注意ください。