latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Paypal Donations with Subscriptions

Home Forums Community Forum Paypal Donations with Subscriptions

This topic contains 0 replies, has 1 voice. Last updated by  CK MacLeod 3 years, 4 months ago.

Topic Author Topic
Posted: Tuesday Aug 13th, 2013 at 9:57 pm #55710
CK MacLeod
Username: CKMacLeod

I’ve read numerous posts on the subject of adapting S2Member in a non-profit/charitable donation framework – where the new member sets his or her own donation level in order to subscribe – and it seems that there are two main options at present, each with its own advantages, defects, and associated uncertainties. I’m going to lay out the detail partially with the idea that it might prove useful to someone else, though mainly in the hope of getting some useful answers on topics I’ve highlighted.

In our case, we’re offering membership levels corresponding to the member’s self-description (student, regular, advanced, and a fourth category for supporters). At this point, there isn’t any difference in access/restrictions associated with the different levels, and we don’t anticipate creating any: It’s just an informational matter, so, conceivably, we could have just one level of access, and convert the member self-description into a custom field to be filled out and changed at will, but we’d still in that case probably want to have different buttons, since each membership type comes with a different recommended donation and additional informational details.

1. Use Paypal Donation buttons – Donor Sets Amount at Paypal

In this option, I would generate a Paypal Donation button with a different ITEM ID for each membership type.

I’m expecting that the donation would return users to the site as with their new membership at the appropriate level (set by ITEM ID). It would then be up to us on our side to handle all End of Term, cancellation, etc. issues. So, we would be deprived of S2Member and Paypal integration functionality in all respects. It would be up to us to set up a solution for notifying members when it was time to renew their memberships, and for cancelling non-renewed memberships.

I’m assuming, because it would be too easy, that a Donation Button that returned, e.g., “1:all:Y 1” wouldn’t actually work in the sense of creating level 1 access to all of the site for 1 year, with EOT notifications informing the user that this membership/access would end if they didn’t return to the site and “buy” (donate) again.

Assuming that the above – item number via Paypal Donation Button with custom capacities set to “all” for one year – wouldn’t work, the main advantages of this approach are that it’s very easy to implement, and it just makes for a smoother (and better-looking) process if users click on the “donate” or “register” buttons, then set their donation level on the Paypal screen, instead of having to fill out a text field on our side – which takes us to the other main option:

2. Customized Paypal Button with Donor-Set Amount

Whether generated via S2Member or via Paypal, this method appears to take advantage of Paypal/S2M integration, but is open to numerous complications and uncertainties. It typically requires the modification of the form’s “ra” input variable to “text” from “hidden” and production of a field (or $option variable) for the user/donor to fill out.

First, there’s the question of dispensing with both S2Member shortcode and tracking options. To utilize the lengthy raw code, you have to get rid of or somehow deal with the somewhat mysterious S2Member PHP) – or you have to consider adapting the hack worked out by Eduan and described here: https://www.s2member.com/forums/topic/custom-donate-amount/ (link to code snippet in thread).

Second, there’s the difficulty, uncertainty, and possible inappropriateness of using a Paypal subscription option: If a user purchases a “subscription” with a customized donation level – entered via text input – when she receives an EOT notice, I’m presuming she’ll be asked to pay whatever she originally donated, rather than be presented with a new option. I suspect there will be other complications involved, but I’ve never used Paypal subscriptions before, so I’m not sure how, for example, you’d raise or otherwise modify prices.

I can imagine possible workarounds involving custom capacities and notifications with a Buy Now rather than Subscription button, somewhat as in my Donation Button example. Others have made similar suggestions on other threads.

For instance, I suppose I could create a custom capacity that was completely unrestricted except in time (i.e. a 1-year term). I’m not sure if the code “all” would work, or if I’d have to list all categories or pages in the site. So, in short, members members would “buy” “all-access” when they make their donations, but lose access to their membership options when the term was up, unless they re-buyed. That would entail its own complications, since it would be greatly preferable for them to smoothly re-extend existing accounts rather than create new ones.

If I deploy this Buy Now button “like” a subscription, if a user “purchases” (that is, makes a donation to get) a 1-year non-recurring membership, then I’m not sure what other behavior to expect when the EOT approaches, or whether any of S2M’s or Paypal’s notification options will be helpful in this respect.

If that’s practicable, then I think I’m still left with donors setting their donation levels on our site rather than on the Paypal screen, and working out some appropriate option for it. I’m still left wondering what further details I need to consider relating to EOT, and whether going with the simple Donation Button option 1, with our handling all EOT-concerns on our side, wouldn’t be best after all.

So am I missing some other obvious solution?

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.