Refactored payment model