Important (easy) fixes/improvements for s2member

I’m just listing my most common problems here with s2member.

  1. No different Signup Confirmation email depending on payment provider. Why is this needed? The cancelation for Stripe vs Paypal is really different. So I would like to give different links for cancelling the payment. But i cannot because signup confirmation email is always the same. There are some more points that i would like to adapt depending on Stripe vs Paypal.
    Even better would be an optional insert - because buy now (1 time payment) vs buy now and subscription should have different welcome emails. So for me using Paypal and Stripe I would need 4 different emails. Could be solved either by 4 forms to input the text, or by somehow adding a conditional text field that only shows up if condition fulfilled.

  2. Submit Form button on pro-form payments. a) it’s too small b) the text needs to be adaptable. But not site-wide via Say What plugin but there needs to be at least a different text depending on whether the button is used to pay, or to cancel a subscription. Submit Form to initiate a payment is really not legal for many countries (in Germany needs to be something similar to “Pay Now” - but that of course clashes if the same button is used to cancel a subscription).

  3. Adapting which fields are asked when taxes are calculated for selling an item. Should be checkbox based in the plugin: Country, Zip Code, City, Street, Housenumber, Street and Housenumber (address). So any combination of the above can be chosen.
    Well and if possible preselect country based on IP (easiest probably via requiring GeoIP Detection plugin.
    Or include the address fields from Stripe itself. Stipe preselects country based on IP already.

  4. Options for what happens if a member pays with existing email using paypal buttons (happens if member not logged in). Easiest would be to just add the time to the existing time left (if any) or just reactivate the account with the bought time. Even better would be a second option set of what to happen - as for my website and many others renewals are cheaper - I would like to give them then B months/days instead of A (and maybe different membership level). so to additional options for the button that decide what level and how long if member already exists should come up. Plus of course send the renewal email instead of new user signup email then too.

1 Like

Just another bug - very uncommon but easily reproducible.
Users not demoted if initial payment for account via paypal bank wire fails.

How to reproduce: Allow paypal to accept bank wire payments - so payment is not backed by credit card or funds. Then just never send the bank wire payment. This needs to be from a paypal account without funds and without credit card or bank automatic/direct debit. I’m not sure this is offered in all countries. It is possible in Austria and Germany with paypal. Maybe same situation also applies if bank automatic/direct debit fails for paypal (never happened so cannot tell).

Result: Users can access site for paid term without ever paying.

Solutions - best: Do not let user register until bank wire payments are received. Registration emails need to be sent once payment is cleared - an intermediate email for this situation telling the user that once payment is received - he can register needs to be added to s2member.
2.nd best: delete user if the payment fails
3rd best: demote user if the payment fails (not so good as deletion as the user then can take profit of lower prices for existing users).

I do know that it is possible to forbid bank wire payments in paypal - but essentially I would lose money this way (though very little).

1 Like

Oh yeah - not sure if this will be easy now with the updated Stripe implementation - but of course support for various Stripe sources would be great. (for me that would mainly be: apple pay / google checkout / Sofort / Ideal) - but I guess that is not an easy task seeing that most shopping carts also only support a few and not all Stripe sources.

But if all of the above points with Stripe sources could be implemented - that would make s2member a truly great and again competitive plugin (though still with a steep learning curve - but then more flexible than most other plugins). Yes Thrivecart for example would be nice - but with the new much better Stripe checkout not a must anymore (as soon as the billing address is fixed)

1 Like

Yes, new payment methods is something I plan to implement in the future. For now I stuck with the ones already supported to simplify the already complex transition to the new API.

The Payment Intents API, the one SCA ready, still doesn’t support SOFORT or iDEAL, but they’re on their to-do.

Apple and Google pay may be possible at the moment with Stripe, but require a different flow in s2Member, so I left those for later, most likely for after I refactor s2’s own APIs to simplify integration of new payment gateways.