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;
}
}