How to check payment method on a WooCommerce order by id?

If you want the title of the payment method you can do:

$order = new WC_Order( $order_id );
$payment_title = $order->get_payment_method_title();

This returns the string set in the Woocommerce > Payment methods, ex: Paypal.

Here are some very helpful references and documentation that will help you do anything you want with WooCommerce.

  • WooCommerce Order Class
  • WooCommerce Reference Docs

Cheers.


The post meta key for the payment method ID is simply _payment_method

So if $order->payment_method doesn't have the magic methods in place to get that automatically, you could retrieve the post meta using traditional WordPress

get_post_meta( $order->id, '_payment_method', true );

Update for WooCommerce 3.0

$order->get_payment_method();

If you need the payment gateway object itself you can use the wc_get_payment_gateway_by_order function.

$payment_gateway = wc_get_payment_gateway_by_order( $order );