This comes down to whether you offer the code to the recipients under a true free/open license. The preconditions under which you freely choose to offer the code does not pertain to its status as free or open: the Free Software Foundation's list of required freedoms and the Open Source Definition both deal with what actions recipients can or can't take with the code, not the conditions under which someone becomes a recipient in the first place. In other words, if you choose to give the code only to people who have paid someone some amount of money, that's still compatible with open source, but if you want to limit others to distribute their copies only when some money has been paid appropriately, that's not a kind of restriction that's within the definition of free software or open source.
If you offer a binary without source and/or offer source under non-free/open terms, as a lesser tier alongside a paid tier to access full free/open rights, you should clearly indicate that only the paid (or volunteer) option gives recipients full free/open rights.
Practically, though, if you offer the code under free terms, then it's likely that someone will very quickly use those rights to host a mirror of your code, unencumbered by the requirements to pay money or perform other actions. If you don't afford your recipients the right to do this, then you should not call your software "free software" or "open source" -- the usual term for source code without full rights to distribute or modify it is "source available" software.
You also ask if you can require distributors to link back to your project. This is narrowly allowed in a non-obnoxious way; see the Apache 2.0 license's NOTICE file for a model of how this is done. (The GPLv3 also permits this, to enable compatibility with Apache 2.0.)