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.

Jason (Lead Developer)

Staff Member

My Latest Replies (From Various Topics)

Viewing 25 replies - 1,876 through 1,900 (of 1,909 total)
Author Replies
Author Replies
Posted: Thursday Feb 9th, 2012 at 2:44 pm #4660
Staff Member

We actually have a patch coming in a maintenance release this weekend, which deals with this issue. If you would like to install it yourself, you can download the attached file. Unzip and upload, allowing this file to override your existing copy of: /s2member/includes/classes/paypal-notify-in-subscr-or-rp-eots-w-level.inc.php

Patch file download (click here to download)

This allows s2Member to succeed in cases where no item_number can be defined. Please report any issues, we’ll appreciate any feedback you can provide.

Posted: Thursday Feb 9th, 2012 at 2:24 pm #4658
Staff Member

Post received. Thank you for bringing this over for us. My apologies.
~ Reviewing this now. One moment please.

Posted: Thursday Feb 9th, 2012 at 12:52 pm #4647
Staff Member

Hi there. Thanks for your inquiry.

Yes, this should be established inside your account at Authorize.Net.
It’s under Account Settings -> MD5 Hash.

Posted: Thursday Feb 9th, 2012 at 7:44 am #4588
Staff Member

Initial investigation complete.

I’m sorry that a previous request went unanswered.
Can you please point me to your original forum thread, or post; so I can investigate that as well?

Regarding this log entry you posted…

array (
0 => ‘DataLink IPN processed on: Wed Jan 4, 2012 2:38:27 am UTC’,
1 => ‘Ignoring this DataLink IPN. No IPN signup vars for Subscr. ID: 0111338xxxxxx028940.’,
),
‘dl_ipn’ =>
array (
0 => ‘EXPIRE’,
1 => ’943039′,
2 => ’0004′,
3 => ’0111338701000028940′,
4 => ’2012-01-03′,
5 => ’2011-12-04′,
6 => ‘N’,
),
‘dl_ipn_signup_vars’ => false,

This indicates that s2Member was unable to locate a User/Member in your database matching the Paid Subscr. ID value of: 0111338701000028940. From your description, it sounds like this is happening to all of your existing members, which leads me to believe there is another underlying problem somewhere on your installation.

Let’s start debugging this please, by first verifying if this member’s account DOES actually have the required meta values in your database, so that s2Member would be able to properly handle this DataLink communication on your installation.

There are two ways to verify this:

1. You can log into your Dashboard and search your list of Users for this value:
0111338701000028940

2. Or, if you’d like to run a PHP code snippet somewhere, you could use the underlying s2Member method which appears to be failing on your installation, at least in the case of this Subscription.

<?php
if($ipn_signup_vars = c_ws_plugin__s2member_utils_users::get_user_ipn_signup_vars(false, "0111338701000028940"))
	print_r($ipn_signup_vars);
else
	echo 'This Paid Subscr. ID was not found.';
?>

What does that mean? If the system can’t verify if a member has paid or not under a payment processor account, they should be DELETE OR DEMOTED! What is wrong with this?

s2Member is handling this properly, given the fact that it can’t locate an account in your database matching this Paid Subscr. ID value: 0111338701000028940

Why that is exactly, remains to be seen. But let’s take it one step at a time, until we determine through debugging why this particular transaction was not handled properly. If you’d like to send us a Dashboard login, we’ll run diagnostics for you.

Lastly, the CCBill dl log shows “4 => ‘Error: Too many requests.’,” at times – not every time, but often – does s2member go back and do it again or what?

This error can occur when/if s2Member attempts to connect to ccBill’s DataLink more than once within any 24 hour period. By default, s2Member will make an attempt to connect once per day, so it can avoid this error returned by the ccBill DataLink API.

That being said, I’ve seen this error come up on other client installations as well. It seems that ccBill’s DataLink API may not always allow access, depending upon server load on their side, and this generic error is returned. I’ve also seen it occur due to changes in server time, or because of DST being in affect. In either case, s2Member will try again the next day automatically, and s2Member will pick back up where it left off, so that nothing is missed from the day prior.

However, under extreme circumstances, this error CAN result in EOTs being missed. If ccBill continues to return this error on your installation, I would make an attempt to contact ccBill and ask why it’s happening over and over again. s2Member is only allowed to pull data from ccBill’s DataLink API for 1 day at a time. So if it misses two days completely, it could also miss EOTs that should have been processed for those days. This is a limitation in the ccBill DataLink API, which makes every effort to protect itself from being overloaded by incoming client requests.

Posted: Thursday Feb 9th, 2012 at 7:07 am #4587
Staff Member

Thanks for reporting this important issue.
~ Investigating now.

Posted: Thursday Feb 9th, 2012 at 1:20 am #4539
Staff Member

Hi Barbara, thanks for your inquiry.

You might take a look at this utility plugin, which will allow you to add global Custom Capabilities to one of s2Member’s built-in Roles. So for example, you might give Role “s2member_level4” some additional Custom Capabilities by default, such as: access_s2member_ccap_videos, access_s2member_ccap_music, etc.

Please see: http://wordpress.org/extend/plugins/user-role-editor/

Posted: Thursday Feb 9th, 2012 at 1:17 am #4538
Staff Member

Hi Angela. Thanks for your inquiry.

Have you seen s2Member’s Specific Post/Page Access?
See video tutorial: http://www.s2member.com/videos/ED64B278374AB72F/

Posted: Thursday Feb 9th, 2012 at 1:14 am #4537
Staff Member

Thanks for the heads up on this thread.

Create this directory and file please.
/wp-content/mu-plugins/s2-hacks.php
( these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins )

<?php
add_action("ws_plugin__s2member_after_paypal_notify", "my_function");
function my_function($vars = array())
	{
		$paypal = $vars&#91;"paypal"&#93;;
		// This array of PayPal variables contains all sorts of information.
		// You can print_r() to get a full list while testing.
		// print_r($paypal);
	}
?>

In this particular Hook, there is not any specific User ID. The Membership Level would be in this variable: $paypal["level"]. If you would like to share exactly what you’re trying to catch and/or do with your function, I’ll point you to the proper Hook/Filter that should be used.

Also, you will find a list of many PayPal related Hooks/Filters here.
http://www.s2member.com/codex/stable/s2member/paypal/package-filters/

Posted: Wednesday Feb 8th, 2012 at 2:24 pm #4486
Staff Member

Hi there. Thanks for your inquiry.

You’ll find upgrade links in your “My Account” page at s2Member.com.
However, it sounds like you’ve already purchased in the past.
Do you have a Transaction ID from your original purchase?

If not, is it possible that you have more than one account with us? If you’ve lost your password for the paid account, you can retrieve it here.

Posted: Wednesday Feb 8th, 2012 at 12:16 pm #4474
Staff Member

Correction. Those instructions Bruce gave were incorrect. I apologize for that.

A “Custom Field” indicates that it’s a Custom Field within your WordPress Post/Page editor. You don’t need to tack anything onto the URL, just add this Custom Field to your Post/Page editor for that specific page where you want to force SSL.

s2member_force_ssl = yes

Please see this article for clarification about what Custom Fields in WordPress are:
http://codex.wordpress.org/Custom_Fields

Posted: Wednesday Feb 8th, 2012 at 12:08 pm #4473
Staff Member

Thanks for the follow-up!

Yes, please use this Hook:

add_action("ws_plugin__s2member_during_handle_profile_modifications", "my_function");
function my_function($vars = array())
	{
	
	}

There is a list of several Profile related Hooks/Filters here:
http://www.s2member.com/codex/stable/s2member/profiles/package-filters/

You will find the source code where the Hook I mentioned is fired here:
http://www.s2member.com/codex/stable/source/s2member/includes/classes/profile-mods-in.inc.php/#src_doc_line_121

Posted: Wednesday Feb 8th, 2012 at 12:04 pm #4471
Staff Member

Thanks for your inquiry.

There is a long thread here which discusses several ways to modify s2Member-generated emails in more advanced ways, including several code samples that make use of Hooks/Filters.

Please see: http://www.primothemes.com/forums/viewtopic.php?f=4&t=10368&p=33365#p33365

Posted: Wednesday Feb 8th, 2012 at 12:00 pm #4470
Staff Member

Yes, exportation is the best option right now. Either that or another plugin which can filter by specific criteria and allow you the send a mass email to those members. Ideally, s2Member would provide this feature as it relates specifically to EOTs. It’s something we’re working on for the next major release.

Posted: Wednesday Feb 8th, 2012 at 11:58 am #4469
Staff Member

It sounds like it could be a conflict with GZIP on your server.
Please try implementing the .htaccess trick that we documented here.
http://www.primothemes.com/forums/viewtopic.php?f=4&t=16510&p=59497#p59497

Posted: Wednesday Feb 8th, 2012 at 11:58 am #4468
Staff Member

It sounds like it could be a conflict with GZIP on your server.
Please try implementing the .htaccess trick that we documented here.
http://www.primothemes.com/forums/viewtopic.php?f=4&t=16510&p=59497#p59497

Posted: Wednesday Feb 8th, 2012 at 11:54 am #4467
Staff Member

Thanks for your inquiry.

Here are the steps required to get this working.

1. In your Dashboard for s2Member, make sure this section is enabled.
s2Member -> General Options -> Custom Registration/Profile Fields
-> Yes, Integrate with BuddyPress Registration Form
.

2. Setup your Double Opt-In checkbox and and integrate at least one mailing list with s2Member, under: s2Member -> API / List Servers.

3. Make sure your BuddyPress theme includes this Hook (almost all of them do by default), but if there is a problem, be sure to check on this please. Hook name: bp_after_signup_profile_fields

Posted: Wednesday Feb 8th, 2012 at 11:30 am #4463
Staff Member

There is also a video tutorial here which covers some conflicts that can occur if you configure your static Home Page as the Membership Options Page for s2Member. Might be worth watching. See: http://www.s2member.com/videos/F267E93C7B467D64/

Posted: Wednesday Feb 8th, 2012 at 11:28 am #4461
Staff Member

Yes, it is fine to install local development copies of s2Member and/or s2Member Pro. Just be sure to keep your s2Member.com account Profile updated with the Primary Domain of your live installation. Development installations are allowed, and there is nothing in the software to prohibit this.

Regarding importations in s2Member Pro.
Here you will find several screenshots of s2Member Pro, including importation/exportation panels which should provide some clarity for you. If you have other questions, please let us know.

http://www.s2member.com/pro/#!s2_tab_jump=s2-pro-screenshots

Posted: Wednesday Feb 8th, 2012 at 11:23 am #4460
Staff Member

Excellent. Thanks for sharing this!

Posted: Wednesday Feb 8th, 2012 at 11:21 am #4459
Staff Member

Hi Jeffrey. Did you use s2Member’s API Notifications for this?

Posted: Wednesday Feb 8th, 2012 at 11:10 am #4458
Staff Member

Firefox menu -> Options -> Error Console

As Cristian suggested earlier,
did you check the output from this panel to rule out a JavaScript conflict?

Posted: Wednesday Feb 8th, 2012 at 11:02 am #4456
Staff Member

Hi Barbara. Thanks for reporting this important issue.

It sounds like your Buttons are getting corrupted somewhere. This message from PayPal is often (not always, but sometimes) associated with a corrupted Button Code, as a result of the WordPress Visual Editor, or content filter applied by a theme.

Can you please post a link to a page where one of these buttons reside?

Posted: Wednesday Feb 8th, 2012 at 10:12 am #4454
Staff Member

Hi Nicolas. Thanks for the follow-up.

I can assure you that this does NOT happen under normal circumstances, and the fact that it is occurring would suggest to me there is another underlying problem somewhere. The fatal error that you reported comes from this line of code in a default installation of s2Member Pro v111220.

$attr["coupon"] = ($_p["s2member_pro_authnet_checkout"]["coupon"]) ? $_p["s2member_pro_authnet_checkout"]["coupon"] : $attr["coupon"];

Have you done anything special with Coupon Codes maybe?

I would definitely go back to a default installation of s2Member Pro. Commenting out sections of code is going to cause you more problems than it resolves I’m afraid.

Posted: Wednesday Feb 8th, 2012 at 7:06 am #4446
Staff Member

Technical support question, not Pre-Sale (wrong forum).

Moving this thread into Community Forum so you have a chance to receive assistance from other site owners. If you’d like priority support from s2Member®, please re-post this topic in our Customer Support Forum and we’ll take a closer look for you.

For further details, please read our Support Policy.

Posted: Wednesday Feb 8th, 2012 at 6:53 am #4445
Staff Member

Hi Lisa. Yes, very strange indeed.

Your Shortcode looks fine. I would suggest that you enable s2Member’s logging routines for Authorize.Net. If you go into your Dashboard under: s2Member -> Authorize.Net Options -> Account Details, you will find a section where you can enable logging/debugging routines.

Once enabled, if this happens again, take a look at your log file and/or post it here so we can review it with you. You can also post those through our private contact form (recommended for log files). See: http://www.s2member.com/contact/

Viewing 25 replies - 1,876 through 1,900 (of 1,909 total)

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.