Add new rest interfaces and checks payment types. Also do some layzy initialization of products when call the dao