keep processing fee seperate from the principal amount
refactor payments controller
ensure user does not pay more than what is owed