1) allow 3 levels: free non-member, free-member, and paid-member
2) remote upgrade a member (or upgrade a member through an API)
3) remote login of a member (again through an API of some sort)
The reason for #2 and #3 is because I have my own system and I want the capture the member details from my own form, and then do the membership stuff through the API.
I played a little with wishlist member, but I had some problems with the remote upgrade feature (the #2). It wasn't consistent. Sometimes it worked, sometimes it didn't.
Do you have any idea which membership site plugin can handle this?
This is a good list of membersite plugins for wordpress:
25 Best Membership Site Plugins to Create Premium WordPress Sites