Refactor payment