Как проверить способ оплаты по заказу WooCommerce по идентификатору?

Я хочу внести некоторые изменения, если выбранным методом оплаты является ХПК. В существующем WC_Order я использовал

($order->payment_method_title == 'Cash On Delivery' ? ... : ... );

чтобы получить название. Но я хотел бы проверить id (cod), потому что строка заголовка переводится на разные языки, что не делает его хорошим решением.

Есть ли способ получить идентификатор в WC_Order в woocommerce?

Ответы

Ответ 1

Мета-ключ сообщения для идентификатора метода оплаты просто _payment_method

Итак, если $order->payment_method не имеет волшебных методов, чтобы получить это автоматически, вы можете получить мета-сообщение с помощью обычного WordPress

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

Обновление для WooCommerce 3.0

$order->get_payment_method();

Ответ 2

Если вам нужен объект шлюза платежей, вы можете использовать функцию wc_get_payment_gateway_by_order.

$payment_gateway = wc_get_payment_gateway_by_order( $order );

Ответ 3

2019 Теперь, если вы хотите название метода оплаты, вы можете сделать:

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

Это возвращает строку, установленную в Woocommerce> Payment Methods, например: Paypal.

Приветствия.