Massive refactoring of payment process + callbacks