get_payment_method(), 'memomatch_' ); } /** * Show the reference on the order screen. * * @param WC_Order $order Order. */ public static function show_reference( $order ) { if ( ! self::is_memomatch_order( $order ) ) { return; } $reference = $order->get_meta( MemoMatch_Gateway::META_REFERENCE ); if ( ! $reference ) { return; } echo '

' . esc_html__( 'MemoMatch reference:', 'memomatch' ) . ' ' . esc_html( $reference ) . '

'; } /** * Add "Mark payment received" to the order actions box. * * @param array $actions Actions. * @param WC_Order $order Order (WooCommerce 8.2+ passes it). * @return array */ public static function order_actions( $actions, $order = null ) { if ( null === $order ) { global $theorder; $order = $theorder; } if ( self::is_memomatch_order( $order ) && ! $order->is_paid() ) { $actions['memomatch_mark_paid'] = __( 'Mark payment received (MemoMatch)', 'memomatch' ); } return $actions; } /** * Complete payment for the order. * * @param WC_Order $order Order. */ public static function mark_paid( $order ) { if ( ! self::is_memomatch_order( $order ) || $order->is_paid() ) { return; } $order->add_order_note( /* translators: %s: user display name. */ sprintf( __( 'Payment marked as received by %s.', 'memomatch' ), wp_get_current_user()->display_name ) ); $order->payment_complete( $order->get_meta( MemoMatch_Gateway::META_REFERENCE ) ); } /** * Let store owners search orders by reference code. * * @param array $fields Meta keys searched. * @return array */ public static function search_fields( $fields ) { $fields[] = MemoMatch_Gateway::META_REFERENCE; return $fields; } }