Dado que está utilizando el valor de secuencia en la declaración de inserción,
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
);
no es necesario seleccionarlo como se muestra a continuación.
SELECT idtrack_seq.NEXTVAL
INTO :NEW.idtrack
FROM DUAL;
Además, te faltaron dos puntos en esta línea,
id_pay := :OLD.idpay;
EDITAR:una cosa más, no tiene sentido tener una declaración DBMS_OUTPUT en el disparador. Ya que no lo verás, incluso si la ejecución lo alcanza.