If you wish to print the payment gateway name on order emails (in its own paragraph below the order items table), here’s a handy snippet for you.
All you need to use is the “woocommerce_email_after_order_table” hook to pick the correct position, and then the “get_payment_method_title” WooCommerce function to return the payment gateway name. Enjoy!
Add payment type to order emails in WooCommerce
PHP Snippet: Show Payment Gateway Name @ WooCommerce Order Emails
You can place PHP snippets at the bottom of your child theme functions.php file (delete "?>" if you have it there). CSS, on the other hand, goes in your child theme style.css file. Make sure you know what you are doing when editing such files - if you need more guidance, please take a look at my free video tutorial "Where to Place WooCommerce Customization?"
Does this snippet (still) work?
Please let me know in the comments if everything worked as expected. I would be happy to revise the snippet if you report otherwise (please provide screenshots). I have tested this code with Storefront theme, the WooCommerce version listed above and a WordPress-friendly hosting on PHP 7.3.
If you think this code saved you time & money, feel free to join 14,000+ WooCommerce Weekly subscribers for blog post updates or 250+ Business Bloomer supporters for 365 days of WooCommerce benefits. Thank you in advance :)
Need Help with WooCommerce?
Check out these free video tutorials. You can learn how to customize WooCommerce without unnecessary plugins, how to properly configure the WooCommerce plugin settings and even how to master WooCommerce troubleshooting in case of a bug!
Rodolfo Melogli
Business Bloomer Founder
Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza.
16 thoughts on “WooCommerce: Add Payment Method to Order Emails”
Leah
I would like it to show the last4 of the card number and brand “visa” etc not just payment ‘type’
Is there anyway you could show me a snippet for that?
Hey Leah, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
I believe this should be simple enough but I haven’t a clue. All I want to do is place the total dollar amount of an order into the “Additonal Content” field that is available in the standard woo emails….
Reference: {order_number} this works fine and the email has the number xxxxx or whatever
Amount: {order_total} this never works and the email has {order_total} instead of $50.00 or whatever
Hallo
I tried your “Add Payment Method to Order Emails” snippet. It shows the text “Payment Type” but not paypal or Credit card…,
Any idea what it can be.
Thanks a lot.
Hello Sascha, thanks for your comment! I just tested this again with Storefront theme and it works perfectly. Maybe your theme (or another plugin) is messing/conflicting with my snippet.
To troubleshoot, disable all plugins but WooCommerce and also switch temporarily to “Twentytwenty” theme (load the snippet there in functions.php) as explained here: https://www.businessbloomer.com/lesson/trwm4l01/
Once you do that, does it work? If yes, you have a problem with your current theme or one of the plugins.
Hi,
i have a woocommerce email sales report add on, but it doesnt show the payment types.
For example i want to see how much money was accumulated through CASH and CREDIT CARD.
May I know how to incorporate this in the daily email report?
Hi Abdul, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
I’m using this code snippet but getting “payment_method_title was called incorrectly. Order properties should not be accessed directly.” errors in the php log. This seems to be related to recent changes in WooCommerce. Is there now a new way to call payment_method_title?
I should add the code still works, just generates a warning.
Hello Laz, thanks so much for your comment! Yes, this is definitely possible – if you’d like to get a quote, feel free to contact me here. Thanks a lot!
Hi Filip, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Riccardo, thanks so much for your comment! Once again, yes, this is possible – but unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R
Questions? Feedback? Support? Leave your Comment Now! _____
If you are writing code, please wrap it between shortcodes: [php]code_here[/php]. Failure to complying with this (as well as going off topic, not writing in English, etc.) will result in comment deletion. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining BloomerArmada to get blog comment reply priority, ask me 1-to-1 WooCommerce questions and enjoy many more perks. Thank you :)
With 100,000 (and growing) monthly organic sessions, Business Bloomer is the most consistent, most active and most complete WooCommerce development/customization blog.
Of course this website itself uses the WooCommerce plugin, the Storefront theme and runs on a WooCommerce-friendly hosting.
I would like it to show the last4 of the card number and brand “visa” etc not just payment ‘type’
Is there anyway you could show me a snippet for that?
Hey Leah, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
I believe this should be simple enough but I haven’t a clue. All I want to do is place the total dollar amount of an order into the “Additonal Content” field that is available in the standard woo emails….
Reference: {order_number} this works fine and the email has the number xxxxx or whatever
Amount: {order_total} this never works and the email has {order_total} instead of $50.00 or whatever
Please help!
-Mudkayak
Maybe a bug? Disable all plugins except Woo and try again
Hallo
I tried your “Add Payment Method to Order Emails” snippet. It shows the text “Payment Type” but not paypal or Credit card…,
Any idea what it can be.
Thanks a lot.
Dear
Sascha
Hello Sascha, thanks for your comment! I just tested this again with Storefront theme and it works perfectly. Maybe your theme (or another plugin) is messing/conflicting with my snippet.
To troubleshoot, disable all plugins but WooCommerce and also switch temporarily to “Twentytwenty” theme (load the snippet there in functions.php) as explained here: https://www.businessbloomer.com/lesson/trwm4l01/
Once you do that, does it work? If yes, you have a problem with your current theme or one of the plugins.
Hope this helps!
Hi,
i have a woocommerce email sales report add on, but it doesnt show the payment types.
For example i want to see how much money was accumulated through CASH and CREDIT CARD.
May I know how to incorporate this in the daily email report?
Thanks.
Hi Abdul, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
I’m using this code snippet but getting “payment_method_title was called incorrectly. Order properties should not be accessed directly.” errors in the php log. This seems to be related to recent changes in WooCommerce. Is there now a new way to call payment_method_title?
I should add the code still works, just generates a warning.
Spot on, snippet revised and updated. Thank you!
Hi Rodolfo, we would be happy to pay for your email function that would include the STRIPE “brand” and “last4” of the credit card used.
Hello Laz, thanks so much for your comment! Yes, this is definitely possible – if you’d like to get a quote, feel free to contact me here. Thanks a lot!
Hi,
this solution is putting payment info to all E-mails, is there solution for putting it on only to mails for orders sent from admin?
Hi Filip, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hi there,
thanks for your snippet. How d I have to modify it, if I want to add more payment infos, like account number.
Thanks in advance!
Cheers, Riccardo
Riccardo, thanks so much for your comment! Once again, yes, this is possible – but unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R