領収書の支払い方法の項目にPayPayを追加したい

Shopifyアプリ【Order Printer】を使用して領収書を作成しているのですが、

ストアの支払い方法は、Shopify PaymentのクレジットとPayPayとなっており。

それぞれの方法でお支払いされた時の領収書への表記を自動で反映させてたく以下のコードを書いているのですが、

明細

ご注文日:{{ created_at | date: "%Y年%m月%d日" }}

ご注文番号:{{ order_number }}

お支払い方法:{{ payment_methods | replace: 'Shopify payments','クレジット決済' | replace:'["PayPay(オンライン決済)-SBペイメント"]','PayPay' | replace:'"]'| replace:'"',' '}}

こちらですとliquidエラーが領収書に反映されてしまいます。

こちらの【お支払い方法:】の右横に支払い方法を反映させたいと思っています。

ご教示やアドバイスいただけると幸いです。

よろしくお願いいたします。

該当箇所を

{% if payment_methods == '‘Shopify payments’ %}

クレジット決済
{% else %}

PayPay

{% endif %}

でいかがでしょうか?

2 Likes

ご丁寧にありがとうございます!

ご教示いただいたコードに変更してみたところ反映されました!

1点再度ご確認させていただきたいのですが、

今回Shopify Paymentのテストモードでクレジットを使って決済したのですが、

支払い方法がPayPayと出ているのはテストモードだからでしょうか…?

横から失礼します。

ご教示いただいたコードに変更してみたところ反映されました!

上記のように書かれていましたので現状が意図通りの動作なのかそうでないのか不明なのと、Oreder Printは使ったことがなく状況を把握できていないのですが、以下記載します。

試されたコードを確認いただきたいのですが、意味は以下のようになります。

  • payment_methodsの値がShopify paymentsなら「クレジット決済」と出力
  • payment_methodsの値がShopify payments以外なら「PayPay」と出力

上記の動作になりますので、「PayPay」と表示されたのは「payment_methodsの値がShopify payments以外だったから」となります。

現状が意図通りでない場合は、以下のようにして置換対象であるpayment_methodsの値を確かめたほうが良いかと思います。

{{ payment_methods }}
または
{{ payment_methods | json }}
2 Likes

お忙しいなか、ご丁寧にご教示いただきありがとうございます!

ご教示いただいた部分を今一度確認しましたが、やはり、ShopifyPaymentを使用したテスト注文なのですが、

PayPayと出てしまいました…

Order Printer Proの方では、Shopify Paymentが反映されているので、

アプリの問題なのかもしれません…

ご教示いただきましてありがとうございました!

確認いただきありがとうございます。

当初記載いただいていたコードとは違いますが、以下も検討できるかもしれません。

https://community.shopify.com/c/Shopify-Design/Please-help-Quick-Order-Printer-Code-Tweak/m-p/390008/highlight/true#M101579

transaction objectを用いているため、上記投稿の情報を利用するなら以下も確認されるとわかり良いと思います。

https://shopify.dev/docs/themes/liquid/reference/objects/transaction

前出のコードが使えるなら以下も参考になるかもしれません。

https://community.shopify.com/post/862087

https://community.shopify.com/post/912180

以上ですが、いずれも見当違いでしたら申し訳ありません。

2 Likes

Order Printer アプリのテンプレートで使用できる変数は、
テンプレート編集画面左にあるリンク「View the Liquid variable list」のリンク先に
記載のあるものかと思いますので、お支払い方法は {{ gateway }} な気がしますが、
以下だといかがでしょうか。

Shopify Payments の場合は、shopify_payments と出力されていますので、以下のようになるかと思います。

お支払い方法:
{% if gateway == 'shopify_payments' %}
クレジット決済
{% else %}
PayPay
{% endif %}

※上記は、shopify_payments 以外の場合は全てPayPayとなりますのでご注意ください。

3 Likes

ご親切にたくさんご教示いただきましてありがとうございます!

地蔵さんにご教示いただいた内容と、toooruさんにご教示いただいた内容を確認し、

「gateway」を使用することで解決ができました!!!

たくさん教えていただいてありがとうございました!

ご親切にご教示いただき誠にありがとうございます!

ご教示いただきました「gateway」への変更で反映を確認することができました!

今後内容を変更する際にもきちんとView the Liquid variable listを確認するようにいたします!

この度は本当にありがとうございました!

1 Like