You are correct. I don’t understand how “membership sites” work. Or, perhaps better stated, I’m not aware of any legal definition of the term “membership site”. In the U.S., there are very, very few federal laws regarding contracts, and membership would be a contract, in large part because the U.S Constitution prohibits the federal government from interfering with the freedom to contract. Almost all contract laws are state laws. And there is very great diversity between state laws. I don’t know for a fact, but the idea that “membership site” might have a legal definition in all, most, or even many states is, I believe, highly unlikely.
I’m not aware of anyone who joins a membership site having any idea about the involvement of payment processors. When I get my bank or credit card statement, it indicates a charge from the site I joined. It says nothing, as far as I’m aware, about who the payment processor was. I had, and I’m sure most people have, no idea that the site had arranged for regular payments with the payment processor. I, and I’m sure most people, would have assumed that the site submitted a separate charge to its payment processor each month. I would have assumed that the site could change it’s payment processor at any time. Hence, it would make no sense, and indeed makes no sense, for me, as a site owner, to lock myself in to a single payment processor for a year every time I sign up a customer. Although, as I write this, it occurs to me that my customers aren’t providing me with their payment information. So, I can’t process charges on a monthly basis.
This makes me wonder how I change processors. Must I retain the processor for each customer who signed up? If I change processors, does that only affect customers who sign up with the new processor? Or can I have my customers’ payment information transferred from the original processor to the new processor? A quick Internet search indicates it is possible to change processors. I found information on WooCommerce, Authnet, and Stripe sites about migrating subscriptions. While I was there, I also saw a lot of information about altering subscriptions. Different providers appear to have different rules. The rules I saw seem to make sense. For example, you can reduce a 14 month, of which 6 months have been used, to 10 months, but not to 6 or fewer months. 6, obviously I think, because you’re already into the 7th month. You can’t cancel once a period has begun. Probably not illegal. You can change to 7 month subscription and manually refund a month or a prorated amount. But the processor won’t do it because it’s complicated and they have no reason to get involved in how you and your customer resolve this.
If you can change processors, reduce a subscription period, extend a subscription period, renew, and add, then by those combinations you can achieve anything. To the extent you want your customer to be able to do this, it requires only the capability on the front end. The processors themselves provide some functionality and some advice on how to customize other functionality yourself.
I see nothing to prevent, as far the processors are concerned, from doing what almost anything I wanted to do. At least, in the United States. I have no idea what laws are anywhere else or what processors do anywhere else. But given that this is a .com site in English, I would imagine that many if not most of the customers are at least operating in the U.S.
Regarding your “not too easy” comment, I disagree. Based on what I’ve seen of your software and on payment providers sites, I’d say it’s very easy to do. What’s difficult isn’t getting the software to configure the payments in any way possible, but getting the software to display the correct messages to the customer. That’s something I’m struggling with.