Ponieważ używasz wartości sekwencji w instrukcji INSERT,
INSERT INTO dd_paytrack
(idtrack, pt_user, pt_date,
pt_action, pt_payid
)
VALUES (idtrack_seq.NEXTVAL, USER, TO_CHAR (SYSDATE, 'DD-MON-YY'),
log_action, id_pay
);
nie ma potrzeby wybierania go jak poniżej.
SELECT idtrack_seq.NEXTVAL
INTO :NEW.idtrack
FROM DUAL;
Ponadto pominąłeś dwukropek w tym wierszu,
id_pay := :OLD.idpay;
EDYCJA:Jeszcze jedno, nie ma sensu posiadanie instrukcji DBMS_OUTPUT w wyzwalaczu. Ponieważ tego nie zobaczysz, nawet jeśli egzekucja do niego dotrze.