Simple Membership Plugin › Forums › Simple Membership Plugin › Users unable to complete registration
Tagged: registration fail
- This topic has 3 replies, 2 voices, and was last updated 5 days, 14 hours ago by
admin.
-
AuthorPosts
-
August 11, 2026 at 3:47 am #32244
that.guy
ParticipantI was able to get the paypal portion to work, but now I am getting reports from users that they are unable to complete registration either by the redirect or the emailed registration link.
Here is a log snip from one of the registrations:
[2026/08/09 13:37:33] – SUCCESS: swpm_pp_create_subscription ajax request received for createSubscription. Button ID: 2207, On Page Button ID: swpm_paypal_button_5
[2026/08/09 13:37:34] – SUCCESS: PayPal Subscription ID: SUBSCRIPTION_ID_REDACTED
[2026/08/09 13:37:40] – SUCCESS: Webhook event type: BILLING.SUBSCRIPTION.CREATED. Event summary: Subscription created
[2026/08/09 13:37:48] – SUCCESS: OnApprove ajax request received for createSubscription. On Page Button ID: swpm_paypal_button_5
[2026/08/09 13:37:48] – SUCCESS: Subscription tenure type: REGULAR, Sequence: 1, Cycles Completed: 1
[2026/08/09 13:37:48] – SUCCESS: Validation passed. Going to create/update member account and save transaction data.
[2026/08/09 13:37:48] – SUCCESS: Transaction type: pp_subscription_new, Transaction ID: TXN_ID_REDACTED
[2026/08/09 13:37:48] – SUCCESS: Membership payment paid for membership level ID: 4
[2026/08/09 13:37:48] – SUCCESS: swpm_handle_subsc_signup_stand_alone(). Custom value: subsc_ref=4&user_ip=IP_ADDRESS_REDACTED&reference=TXN_ID_REDACTED, Unique reference: TXN_ID_REDACTED
[2026/08/09 13:37:48] – SUCCESS: Could not find any record using the given email address (EMAIL_REDACTED). Attempting to query database using the unique reference: TXN_ID_REDACTED
[2026/08/09 13:37:48] – SUCCESS: Did not find a match for an existing member profile for the given reference. This must be a new payment from a new member.
[2026/08/09 13:37:48] – SUCCESS: Creating new member account. Membership level ID: 4, Subscriber ID value: SUBSCRIPTION_ID_REDACTED
[2026/08/09 13:37:48] – SUCCESS: Member signup URL: https://SITE_REDACTED.com/membership-registration?member_id=MEMBER_ID_REDACTED&code=REG_CODE_REDACTED
[2026/08/09 13:37:50] – SUCCESS: Member signup (prompt to complete registration) email successfully sent to: EMAIL_REDACTED
[2026/08/09 13:37:50] – SUCCESS: Saving transaction data to the database table.
[2026/08/09 13:37:50] – SUCCESS: Transaction data saved.
[2026/08/09 13:37:50] – SUCCESS: The condition to redirect to the paid registration link has been met. Setting the return URL to the paid registration link.
[2026/08/09 13:37:57] – SUCCESS: Webhook event type: BILLING.SUBSCRIPTION.ACTIVATED. Event summary: Subscription activated
[2026/08/09 13:37:57] – SUCCESS: Webhook event type: PAYMENT.SALE.COMPLETED. Event summary: Payment completed for $10.0 USD
[2026/08/09 13:37:57] – SUCCESS: Handling Webhook status update. Subscription ID: SUBSCRIPTION_ID_REDACTED
[2026/08/09 13:37:57] – SUCCESS: Subscription ID from resource: SUBSCRIPTION_ID_REDACTED. Transaction ID: TXN_ID_REDACTED_2
[2026/08/09 13:37:58] – SUCCESS: Subscription tenure type: REGULAR, Sequence: 1, Cycles Completed: 1, Last Payment Time: 2026-08-09T20:37:46Z
[2026/08/09 13:37:58] – SUCCESS: Custom field data from the original subscription checkout: subsc_ref=4&user_ip=IP_ADDRESS_REDACTED&reference=TXN_ID_REDACTED
[2026/08/09 13:37:58] – SUCCESS: Updating the access start date if applicable for this subscription payment. Subscriber ID: SUBSCRIPTION_ID_REDACTED, Email: EMAIL_REDACTED, Account status: active
[2026/08/09 13:37:58] – SUCCESS: Found a record in the member table. The Member ID of the account to check is: MEMBER_ID_REDACTED Membership Level: 4
[2026/08/09 13:37:58] – SUCCESS: Updated the member profile with current date as the subscription start date.
[2026/08/09 13:37:58] – SUCCESS: Value after update – Subscriber ID: SUBSCRIPTION_ID_REDACTED, Start Date: 2026-08-09
[2026/08/09 13:37:58] – SUCCESS: Executed save_txn_record() function.Here is the link that the user was emailed:
https://something.here/membership-join/membership-registration/?member_id=36&code=cab6ab9a71d6b55fafe6726f5c22d9fdThe page that shows up for them says (since I cannot post screenshots):
“Free membership is disabled on this site. Please make a payment from the Join Us page to pay for a premium membership.You will receive a unique link via email after the payment. You will be able to use that link to complete the premium membership registration.”
If you have any idea how to help me fix this, that would be great.
August 11, 2026 at 3:52 am #32246admin
KeymasterHi, this looks like the same caching issue you ran into before. See the previous thread here:
https://simple-membership-plugin.com/forums/topic/user-registration-after-payment/
With caching enabled, the page isn’t rendered dynamically. Instead of showing the registration form for that member, you’re seeing a static cached version of the page, which is why it displays “Free membership is disabled.”
This is a known caching-related issue and is explained in more detail here:
https://simple-membership-plugin.com/understanding-the-impact-of-caching-on-membership-sites/To fix it, you’ll need to exclude caching on pages that require dynamic content (such as the registration page). Otherwise, this will keep happening.
August 11, 2026 at 4:34 am #32247that.guy
ParticipantI can confirm that this was working after the last thread, but now it is not. I do not use any sort of caching on my site and any little change I make to any page or post is instantly reflected.
I read the “understanding the impact of caching on membership sites” but I don’t see how that applies here since I do not us any caching plugins.
What I have done is to copy out a registration link and switch my phone to cellular, use safari in private browsing (I have never used this browser on my site before) and I still get the “Free membership is disabled” page. The user id and the code have not been stripped off from the url.
What else can I check? Are there other logs?
August 12, 2026 at 5:34 am #32252admin
KeymasterPrivate browsing on cellular rules out browser caching, but not server side or CDN caching, so let’s narrow it down properly.
First, what that message actually means. The registration form only outputs “Free membership is disabled on this site” when PHP receives no member_id and code values in the request (and no level is specified in the shortcode). If PHP had received those two values but they did not match a member record, you would instead see “This unique registration link is invalid. Could not find a match for the given member ID and the security code.” If the account had already been completed, you would see “This unique registration link has already been used.”
So the fact that the parameters are visible in the address bar while you get the free membership message tells us the HTML being returned was not generated for that specific request.
Two quick tests:
Test 1: use a deliberately wrong code.
https://yoursite.com/membership-join/membership-registration/?member_id=36&code=wrongcode123If you get the “This unique registration link is invalid” message, PHP is receiving the parameters. The problem is then with the member record or the reg code, not caching.
If you still get “Free membership is disabled”, PHP is not seeing the parameters at all, which means a cached or proxied copy of the page is being served.Test 2: add a random parameter to a valid link.
…?member_id=36&code=REAL_CODE&nocache=987654If it suddenly works, a cache layer is keying on the base URL and ignoring the query string.
If the tests point to caching: caching is not only caching plugins. Please check for:
Host level page caching (SiteGround, WP Engine, Kinsta, Cloudways/Varnish, LiteSpeed server cache, NGINX FastCGI cache). This is enabled by default on many hosts and is independent of any plugin.
CDN or proxy caching, particularly Cloudflare with “Cache Everything” or APO enabled.
Open the registration page in your browser’s dev tools, Network tab, and look at the response headers for the document request. Values like cf-cache-status: HIT, x-cache: HIT, age: or x-litespeed-cache: hit confirm a cached copy is being served.Note that “my page edits show up instantly” does not rule this out, because saving a page automatically purges that one page in most host level caches, while the registration page keeps serving its cached copy to visitors.
If the parameters are reaching PHP (Test 1 shows the “invalid link” message): go to Simple Membership > Members, confirm the record for member ID 36 still exists and has an empty username (an incomplete profile), and confirm the code in the email matches the reg code on that record. You can resend the registration completion email from that same menu.
One more thing worth verifying. In your log the generated signup link is on /membership-registration, but the link you pasted is /membership-join/membership-registration/. Go to Simple Membership > Settings > Pages tab and make sure Registration Page URL is the exact permalink of the page that contains the [swpm_registration_form] shortcode. If it does not match, the request goes through a redirect first, and some redirect rules or plugins drop the query string. You can view the currently configured URLs under Simple Membership > Tools > System Info.
-
AuthorPosts
- You must be logged in to reply to this topic.