Last paid data in s2member

Hi there

I am not sure if I may have missed this, but are there new releases of s2member in the works (or just renewed support from Cristian for s2member)? I still find s2member very limiting in terms of not having more paypal data available in the Users dashboard… eg date and amount of last payment received by paypal

I have a spreadsheet that I upload the exported file into, but many users still have no info in their record about when and how much they LAST paid… Should this info be in there? for the ones that do, it’s in “meta_key__wp_s2member_last_payment_time” Is there another field with alternate info (for recurring perhaps?) - where do I find it? I have many users that I know have paid (verified in paypal) but not showing in that field…?? Is there a field for the amount that was paid?? this would be useful to pull into my spreadsheet…


1 Like

There hasn’t been a new release yet, although I’m working on one.

More logging and reporting are features high on my list to add.

s2Member keeps a bit of track of payment times, for EOT and reminders purposes, but not amounts. For now, it’s available from your payment gateway (e.g. PayPal), which is the one managing the subscription.

If you want to keep logging enabled, there you’d get entries for new payments, a bit hard to browse for that info, though.

I’d use the payments notifications…

and have it send you an email, or load a script that logs that info somewhere for you.

Does that help? :slight_smile:

Hi, thanks for the reply

Glad to hear there are updates coming, but really would be good to have more paypal data available - please include this because for annual subscription websites it’s fundamental to know which user has paid which amount and WHEN.

Payment notifications go to the accountant. They are no use to me - I need the data in the database! If there is no other alternate field to “meta_key__wp_s2member_last_payment_time” why is this field so often empty? is there a way to repopulate/sync this from paypal?? i have 75 records where the field is empty!? and some users are not showing as having paid for several years… (although they have…)

I had another look through but cannot find a field for “Next payment due” - when a widget uses or generates this, is it being calculated from “meta_key__wp_s2member_last_payment_time”? or is there a field for this?

Please can the last paid date show in Users under s2Member Configuration & Profile Fields - at least then it is easy to manually add this if s2member and paypal haven’t connected properly? having to do it through the backdoor way is too risky and slow…

This could be due to a mismatch of the subscriber ID for whatever reason. Then if the notification comes with an ID that s2Member doesn’t find in the DB, it goes nowhere.

Payment notifications go to the accountant. They are no use to me - I need the data in the database!

Of course. I didn’t mean the PayPal notification by email, I meant the s2Member Notificatoins API, which you can then use to populate your database using a simple script. See the article I linked to above about a notification handler.

is there a way to repopulate/sync this from paypal?

Not yet, but this is something I’ll look into when I build the new logging routines. I’ll also want to find a way to get in data that goes back to populate the database. I still don’t know how far back I can get from PayPal, haven’t studied it yet.

I had another look through but cannot find a field for “Next payment due”

From what I know, I’m almost sure it’s calculated. Haven’t checked if Jason changed that in the last years, but I doubt it.

Here’s a bit of PHP that you could use to get the Next Payment Time for a user:

really would be good to have more paypal data available - please include this

I will. :slight_smile:

@pa7 Maybe that plugin can help?

1 Like

Hi Cristian

Another bug in s2member I have noticed:

A user had a membership paid in July last year. Then they changed it today. I have it set to end first membership as I do a manual refund, however the ccaps from the first membership DID NOT get overwritten as I would expect and want with the new ccaps from the now changed membership…the second ccaps were just added… this is no good…


or this ?


Yeah, it’s not ideal, but that’s the way it was designed, not a bug. I plan to improve this in the future, a lot.

Ccaps were meant as buy-now, lifetime access, or with the level’s EOT time. Right now new ccaps are added, they don’t replace previous ones, which works well for most setups. Ccap removal only happens at EOT demotion, if configured that way, and all ccaps are removed, not just some. Ccaps don’t have an EOT time of their own, only level has an EOT.

I plan to remove as many of these limitations as I can in the future, to make them even more versatile and powerful.

Thanks for your input, it’s really valuable! :slight_smile:

Any way to make the Last Payment Date that’s in the database visible in the user list / profile for us to read and change? I tried to add a custom field but meta_key__wp_s2member_last_payment_time does not fit into the “Custom Registration / Profile Fields” (I was going to see if it worked by doing that).

I can see the information when I export the csv file, but can’t use that information on WP Admin. :worried:

Hmm… See:

$s2member_last_payment_time = get_user_field ("s2member_last_payment_time"); # Timestamp. Last time an actual payment was received by s2Member.

I hope that helps! :slight_smile:

1 Like

Thanks. I’ll look into how I change the user profile page to include that :sunglasses:

Never modded Wordpress’ Core

1 Like

There’s also a shortcode version:


Oh, thanks. I am trying to modify the admin panel where I manage users, so I can see their last payment date. Doing that to the user list would be handy too. :wink:

1 Like