Payment time field clarifications
Posted: September 22nd, 2011, 11:50 am
I was under the impression that get_user_field("s2member_paid_registration_times") would give me all the past payments received for a user. However, it only appears to include:
Any recurring payments are not included. Nonetheless, get_user_field("s2member_last_payment_time") will return the last known actual payment time.
For example, suppose the user first subscribed for Level 1 on Jul 9 (with monthly billing). Suppose this is billed again on Aug 9; get_user_field("s2member_last_payment_time") returns Aug 9, as expected. However, get_user_field("s2member_paid_registration_times") does not include Aug 9 (it only ever returns Jul 9 for the initial Level 1 payment).
UPDATE: Another confusion: It seems that get_user_field("s2member_last_payment_time") will not return anything if the user is not currently a Level 1+ (even if they had paid recently). Is this accurate?
- The initial Level 0 registration time
- The first Level 1 registration time
Any recurring payments are not included. Nonetheless, get_user_field("s2member_last_payment_time") will return the last known actual payment time.
For example, suppose the user first subscribed for Level 1 on Jul 9 (with monthly billing). Suppose this is billed again on Aug 9; get_user_field("s2member_last_payment_time") returns Aug 9, as expected. However, get_user_field("s2member_paid_registration_times") does not include Aug 9 (it only ever returns Jul 9 for the initial Level 1 payment).
- Can you clarify these fields for me?
- If the user's Level 1 subscription lapses (demoted to Level 0), then they re-subscribe at Level 1, will the "s2member_paid_registration_times" array replace the Level 1 timestamp with the new one (or will there be a second Level 1 timestamp)?
- Is there any way to get the full payment history (of each monthly recurring payment made)?
UPDATE: Another confusion: It seems that get_user_field("s2member_last_payment_time") will not return anything if the user is not currently a Level 1+ (even if they had paid recently). Is this accurate?