Thanks for the email, Lisa. I think I figured out what your problem is. I got an error after the first test purchase, but the second one was successful, let me explain:
Your ClickBank buttons in the salespage have a variable hardcoded in the URL to update an existing account with ID 1, your admin account most probably. This will always fail because you can't modify the admin account, and other users would have another ID anyway so their accounts would not be upgraded.
http://3.xxxxxxxx.pay.clickbank.net/?s2_invoice=1&s2_p1=0+D&s2_p3=1+M&s2_desc=One+Time+Membership+Registration+Of+%2467.99%3A+Monthly+membership+at+29.99&s2_custom=site3.com&s2_subscr_id=s2-1309884391&s2_updating=1ERROR: Unable to modify Subscription. Please contact Support for assistance.
The existing User ID is associated with an Administrator. Stopping here. Otherwise, an Administrator could lose access. Please make sure that you are NOT logged in as an Administrator while testing.
Now, I got the ClickBank receipt email after each purchase, but I couldn't have found the registration page easily from an email because that email has another website for the vendor. So I'm purchasing from salespage in Site 1, CB email has vendor with Site 2 and membership is actually in Site 3, so it can be confusing to someone trying to figure out where he's supposed to go.
The membership site, seems to have free registrations enabled
WP Admin -> s2Member -> General Options -> Open Registration. So if someone didn't complete the purchase correctly (the account part after the checkout), without getting the right cookies set for him with the access he paid, but managed to get to the registration form, he'd be able to create an account without the paid access he'd expect.
Also, if I create a free account and click on a link to a page that's for paid members, I get taken to the Membership Options Page. Now, this page is in another website, not the membership site, but the one mentioned in the ClickBank receipt email.
So both salespages aren't where s2Member is. You can't hope to know the existing user's ID because you're not where it'd be known. And you're not using the shortcode for the button because s2Member isn't there, I'm guessing you used it first and copied the output HTML, which is why it has a time and your ID hardcoded instead of them changing dynamically.
After I removed the
&s2_updating=1 part of the URL, I was able to complete checkout, got a success message and was taken to the registration after clicking OK.
Thank you! Your account has been approved.
The next step is to Register a Username.
Please click OK to Register now.
So, generate a new button shortcode if you'll have it where s2Member is installed. This way, if the person is logged in to an existing account, the button will have his ID and his account will be upgraded.
If you'll use it somewhere else, please use the full code that also gets generated for the button and change the IP address part from
S2MEMBER_CURRENT_USER_IP to
$_SERVER['REMOTE_ADDR'] (if you don't have this IP address part, you need to update your s2Member and s2Member Pro because that was added some versions ago). Doing it this way you can't have an existing user update his account, though, it just works to create new accounts.
I hope this resolves your problem.