WooCommerce: Add Payment Method to Order Emails

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
Add payment type to order emails in WooCommerce

PHP Snippet: Show Payment Gateway Name @ WooCommerce Order Emails

 * @snippet       Echo Payment Method Name @ Order Emails
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.9
 * @community     https://businessbloomer.com/club/

add_action( 'woocommerce_email_after_order_table', 'bbloomer_display_payment_type_name_emails', 15 );
function bbloomer_display_payment_type_name_emails( $order ) {
   echo '<h2>Payment Type:</h2><p> ' . $order->get_payment_method_title() . '</p>';

Where to add custom code?

You should place custom PHP in functions.php and custom CSS in style.css of your child theme: where to place WooCommerce customization?

This code still works, unless you report otherwise. To exclude conflicts, temporarily switch to the Storefront theme, disable all plugins except WooCommerce, and test the snippet again: WooCommerce troubleshooting 101

Related content

  • WooCommerce: Add Content to a Specific Order Email
    Customizing WooCommerce emails via the WordPress dashboard is not easy and – sometimes – not possible. For example, you can’t edit or add content to them unless you’re familiar with code. Well, here’s a quick example to learn how to add content to any WooCommerce default order email. In this case study, our goal is […]
  • WooCommerce: Cart and Checkout on the Same Page
    This is your ultimate guide – complete with shortcodes, snippets and workarounds – to completely skip the Cart page and have both cart table and checkout form on the same (Checkout) page. But first… why’d you want to do this? Well, if you sell high ticket products (i.e. on average, you sell no more than […]
  • WooCommerce: Disable Payment Method If Product Category @ Cart
    Today we take a look at the WooCommerce Checkout and specifically at how to disable a payment gateway (e.g. PayPal) if a specific product category is in the Cart. There are two tasks to code in this case: (1) based on all the products in the Cart, calculate the list of product categories in the […]
  • WooCommerce: Add Privacy Policy Checkbox @ Checkout
    Here’s a snippet regarding the checkout page. If you’ve been affected by GDPR, you will know you now need users to give you Privacy Policy consent. Or, you might need customer to acknowledge special shipping requirements for example. So, how do we display an additional tick box on the Checkout page (together with the existing […]
  • WooCommerce: Redirect to Custom Thank you Page
    How can you redirect customers to a beautifully looking, custom, thank you page? Thankfully you can add some PHP code to your functions.php or install a simple plugin and define a redirect to a custom WordPress page (as opposed to the default order-received endpoint). This is a great way for you to add specific up-sells, […]

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. Follow @rmelogli

16 thoughts on “WooCommerce: Add Payment Method to Order Emails

  1. 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?

    1. 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!

  2. 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!

    1. Maybe a bug? Disable all plugins except Woo and try again

  3. 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.


    1. 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!

  4. 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?


    1. 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!

  5. 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.

    1. Spot on, snippet revised and updated. Thank you!

  6. 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.

    1. 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!

  7. 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?

    1. 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!

  8. 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

    1. 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? Customization? Leave your comment now!

If you are writing code, please wrap it like so: [php]code_here[/php]. Failure to complying with this, as well as going off topic or not using the English language will result in comment disapproval. 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 the Business Bloomer Club to get quick WooCommerce support. Thank you!

Your email address will not be published. Required fields are marked *