Automattic\WooCommerce\Internal\Orders

PointOfSaleOrderUtil::is_order_paid_at_pospublic staticWC 10.6.0

Check if the order was paid at POS, regardless of where it was created.

An order is considered paid at POS if:

  • It was created via the POS REST API, OR
  • It was paid via card terminal (_wcpay_ipp_channel = mobile_pos), OR
  • It was paid via cash at POS (_cash_change_amount meta present).

Method of the class: PointOfSaleOrderUtil{}

No Hooks.

Returns

true|false.

Usage

$result = PointOfSaleOrderUtil::is_order_paid_at_pos( $order ): bool;
$order(WC_Abstract_Order) (required)
Order instance.

Changelog

Since 10.6.0 Introduced.

PointOfSaleOrderUtil::is_order_paid_at_pos() code WC 10.7.0

public static function is_order_paid_at_pos( WC_Abstract_Order $order ): bool {
	if ( self::is_pos_order( $order ) ) {
		return true;
	}

	if ( 'mobile_pos' === $order->get_meta( '_wcpay_ipp_channel' ) ) {
		return true;
	}

	if ( '' !== $order->get_meta( '_cash_change_amount' ) ) {
		return true;
	}

	return false;
}