add generic payment class, add clear cache controller