Задайте сесийна променлива на user_id и накарайте тригера да прекрати изтриването, ако сесийната променлива user_id няма стойност user_id в нея.
Заявка за задаване на user_id в MySQL сесия:
SET @user_id = <value of user_id>
Ново изтриване:
CREATE TRIGGER `db`.`delete_history_trigger` BEFORE DELETE ON `db`.`payments`
FOR EACH ROW BEGIN
INSERT INTO `payments_history` select *, 'delete', NOW(), USER(), @user_id from `payments` where `PAYMENT_ID` = OLD.`PAYMENT_ID`;
END
//