• denpashogai

    (@denpashogai)


    One night near the end of 2024, a friend asked me if I could set up a website for an digital version of a print newspaper whose first issue would be in shops the next morning. Easy right?

    I had almost no experience with WordPress or e-commerce / web payments, but by chance stumbled upon this plugin and managed to set up a new site, hook it up to new Paypal and Stripe accounts, upload all content for the first issue, and set up the paywall on most of the articles (leaving some free for public interest + increasing visibility of the site).

    The site was up and running by about 9am the next morning, and people started signing up. The “membership levels” feature of the SWPM plugin enabled us to handle print subscriptions as well, with conditional blocks to provide appropriate messages depending on whether readers were logged in and what type of membership they have.

    It’s been almost two years and the site is still going. We had to make a couple of tweaks in that time, but nothing insurmountable:

    1. Make sure “Enable Password Reset Using Link” is checked in the general settings. Otherwise, if someone knows a member’s email address, they can instantly reset their password at any time, which would be quite annoying.
    2. Make *absolutely sure* you’ve either turned caching off, or that all member-related pages are excluded from the cache. Do not assume – test it.
    3. Go to “Email settings” and change all the templates. I think the account signup placeholder template included the member’s plaintext password. Even though it gets hashed before it goes in the database, that looks bad – take that out of your template ASAP.
    4. With Paypal in particular, sometimes a new member would try to register and complete the payment, but somehow not be brought through the rest of the signup process. I had to manually create accounts and copy in their Paypal subscription ID in those cases. I never got to the bottom of that one and eventually disabled the Paypal plugin, and we just use Stripe now.

    Apart from that, it’s been great, and I got answers to almost any query I had on the forums. Very happy with it.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author wp.insider

    (@wpinsider-1)

    Thank you for taking the time to write such a detailed review, and for sharing the story behind the site. Getting a paywalled newspaper live overnight with no prior WordPress or payments experience is impressive.

    Your notes are useful for other users, so let me add some context to each.

    #1) We have a plan to make that the default option going forward, so this is coming soon.

    #2) Caching is by far the most common root cause of strange behavior on membership sites. We have a page explaining why, along with configuration guides for the popular caching plugins:

    https://simple-membership-plugin.com/understanding-the-impact-of-caching-on-membership-sites/

    #3) Good point. The change in #1 will take care of the password value in the reset email, and we will review the default registration email template separately.

    #4) Curious whether you were using the newer PayPal checkout buttons or the classic ones. The newer option does not depend on PayPal IPN, which removes one of thecommon failure point:

    https://simple-membership-plugin.com/create-paypal-buy-now-buttons-paypal-api/

      Thread Starter denpashogai

      (@denpashogai)

      Thanks for your feedback on my feedback! I should have said: some of the issues I ran into were likely due to me not reading the docs correctly, and #4 might be one of them. At the time, I opened a support thread here and got some useful advice. That’s with the newer Paypal (subscription) button.

      After that, it happened a few more times and I couldn’t pinpoint a definitive reason why. Comparing the success case and failure cases in the logs just seemed to show that “OnApprove ajax request received for createSubscription” happened in the success case (99% of the time) and didn’t happen in the failure case (1%). I suspected that my website was perhaps temporarily unavailable and PayPal couldn’t call the webhook even though the checkout was completed. Presumably PayPal queues and retries these webhook calls a few times before putting them in a dead-letter queue and giving up, but I don’t remember seeing that in the PayPal log. If this happens, I’m not sure what the correct procedure is to recover things, or whether it can be automated.

      Plugin Author wp.insider

      (@wpinsider-1)

      If the server experiences occasional hiccups, it may be worth trying the following registration flow, where the user creates an account before making the payment:

      https://simple-membership-plugin.com/allowing-members-create-account-prior-completing-membership-payment/

      With this approach, if an issue occurs during the payment process, subsequent PayPal retry notifications can attempt to update the existing user account and assign the membership correctly.

      It may also be helpful to add a message below the payment button advising users to contact support if anything unexpected happens during the payment process.

    Viewing 3 replies - 1 through 3 (of 3 total)

    You must be logged in to reply to this review.