introduce payment service, refactor init payment to use payment service