refactor init payment: get rid of handler