Understand Best Workflow for Importing Paid Subscribers

Details:
Using Stripe, not PayPal.

My client is coming from people who mailed in checks to now a credit card based system. Multi-level subscriptions 1-7. There’s also a legacy (free) membership level.

Q1: For the ‘Legacy Members,’ I’m removing the EOT. My assumption is they will always have access and never have to renew or anything for that level-7 membership. Is that accurate? I didn’t want to open up registration for anyone to register without paying but still have the ability to import those who get ‘Legacy’ access.

Q2: Dealing with the paid members. I’m importing them into their subscription level. First, I see “Nothing to cancel. You’re NOT a paid Member.” the only thing I could find was a filtering code that basically broke the site. I’m going to see if my overnight programmers can find a better solution. But my question is, why is it when I import the paid subscribers, mark them for Stripe are they getting that notice. Is it because they don’t have a stripe paid subscriber ID/CID?

Q3: I have the EOT for the paid members set to their actual expiration dates. Everything from 2025 to 2027. Because they’re getting this notice of not a paid member, I’m thinking that they won’t be able to simply update their billing information with a card to get into the paid system. Do I, in their EOT email and on the Member Profile > Billing Subscription page, put a notice for “first time to our new site please click here to choose the subscription and get into our new billing system” and then have a button to the new subscription page? Will there be any issues with them doing a new subscription?

I apologize that it’s wordy. I just want to get this right for my client. Appreciate any/all assistance!!

  • Beth

Free Users (or anybody else) do not need an EOT.

EOT turns users into free by default (unless you change the setting that modifies s2Member’s behavior to DELETE accounts, not advisable in my humble opinion, unless you have a very specific need).

You don’t need to select a payment processor when updating the user’s profile. You can leave it blank if you want. Maybe have a custom capability called “cheque” or “manual” or whatever you prefer can be sensible in case you want to change what is displayed on your site to them, including their membership area that’s shown after login, which can be entirely customized for users with such capabilities to invite them to create a new subscription. You can also create new subscriptions for them using Stripe’s back end, one by one, manually, starting on the day after their old subscriptions would end, then fill their cus and sub codes back at wordpress’s user profile. I uploaded a modified version of a couple of files necessary to make s2Member recognize those when processing the IPN notifications, check the forum’s past few months and you’ll find them. Use at your own risk. This specific solution came from @clavaque’s experimental code, if I am not mistaken, though, so it’s not as badly modified as the stuff I came on my own (it works, though) :grin:

You can continue taking cheques from them if you want and manually update things using the EOT. That might be a good alternative to minimize churning of subscribers that might not want to change their payment method.

How did you set up those users that are on the legacy? Did you manually change them from “Subscriber” to the correct roles (s2member_level1, s2member_level2 etc)?

When you mention they can’t cancel because of that message, where does the information come from? Did you place a cancel button and it’s not rendering?

s2Member’s automated cancellation will likely only work if the user is already on Stripe via s2Member. Maybe it works if the user has a cus and sub codes already in their profile, but I am unsure about that, you would need to test one profile and see what happens, maybe create a dummy one to experiment.

You can surely hide the Cancellation Link/Button by using a shortcode conditional that requires the user to NOT have a custom capability you define (like “cheque” for example), that way you will avoid confusion.

I don’t think you can start a subscription “into the future” using s2Member. So, you’d need to do it manually via Stripe’s back end (but you need to modify s2member to support processing IPN via cus and sub codes instead of a hidden field that we can’t manually edit, check that topic I mentioned) or you can just show the modification form with all the choices you want them to have access to, so they can choose, maybe have a header that’s only shown to people with a custom capability like “cheque” with instructions, guidance or even a mailto link so they can contact you for help, for example.

Keep us posted on how it goes. I wish you can make a great transition! Sorry for my ultra long answer.

:slightly_smiling_face:

You are amazing. Thank you. I love the long answer.

I have the Legacy as s2member_level1 free no EOT. I don’t have deletion. I don’t allow open registration. The members of this site will have a pass-through as logged into another site. So, I have to make sure that they’re accurate.

I’ll research the Custom Capabilities. I have not used S2Member for at least 10 years and then it was for one client. I’m having to relearn it and all its changes.

Cancellation. Due to CA (and now Federal, I believe) laws, we’re required a one click cancel for subscriptions. See video here: https://app.screencast.com/VlTlMFHWrS1tj

I thoroughly appreciate your response. I saw a post where someone was saying that this plugin was considered abandoned. That had me fearful that I am in the wrong direction. Sounds like it’s still useful.

1 Like

I’m wondering if I make a new level that isn’t on the subscription page that is different. Then when their EOT is up, they can go to the subscription page and choose the correct level. That will start a new subscription and won’t confuse the system being the same as what I have added them as? So, like a brand new subscription for those who are in… then the ‘new’ level gets deleted when all are into the new system? :thinking::thinking::thinking:

1 Like

I never managed a large website, my community is extremely small.

I don’t have a cancel button because it’s never as reliable as having people sending an email.

If your platform is small too, you can have a mailto that auto fills the destination, subject and has a small text already asking for the subscription to be cancelled while also filling the user login and email baked in.

If a user wants to cancel they can click that, then send you their message for you to manually process and confirm later.

That also prevents users from telling you they cancelled when they clearly forgot (people forget to cancel recurring subscriptions, then they blame it on the system if they can, no cancel button, no reason to complain). And, of course, above all, you avoid users using such buttons only for them to actually fail and causing them problems like unwanted charges and even potential overdraft fees, if they’re using bank transfers to pay.

This plugin is NOT abandoned. @clavaque is likely unable to reach us out right now but he’ll be back. :pray:t2:

My advice would be to use levels to define the real levels of access you want each user to have, or their “tier / status”.

Use custom capabilities for additional flags like “old” or “cheque” or “manual” or “temporarilyfree” or whatever you want.

EOT always converts the user to a free member or deletes them, depending on your setting.

You can also turn on or off the feature that removes custom capabilities upon demotion. Very convenient.

It’s useful for you to understand the possibilities the plugin allows (check s2member settings areas etc, you can learn a lot by browsing your installation), then you can think of the best way you want to implement things.

It’s not only good to manage users subscribed using the payment methods it directly processes but very handy if you have manually set up subscriptions like the ones you mentioned (via cheque) or things like Patreon or even other payment processors. As long as you can put in the work to update user profiles manually or if you have a developer to build an integration (s2member does support API calls, I never used them, but it’s possible both ways, from a third party to s2member and from s2member to a third party).

Since you’re working with longer billing cycles (from what I read, I might be mistaken) it might be worth doing certain things manually because you’d be doing them once a year per user and not every month or week…

I wish you get acquainted well enough with the plugin and that you build a good workflow for your need.

:tulip:

Thank you. I’m glad to hear it isn’t abandoned. Maybe he’s on holiday. I’ll have my team review the custom capabilities. I was researching them and think that might be a great way to go.

Very much appreciate your taking the time to write all this out. I’ve been online since the mid-90s and this type of community help happened back then a whole lot more than it does these days. So, I am very appreciative of you.

1 Like