user can be blank in payment object