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.

Home Forums Bruce

Bruce

Staff Member

My Latest Replies (From Various Topics)

Viewing 25 replies - 201 through 225 (of 2,703 total)
Author Replies
Author Replies
Posted: Wednesday Jul 31st, 2013 at 9:04 pm #54545
Bruce
Username: Bruce
Staff Member

Bruce, logging is now enabled and the most recent payment via PayPal is non-recurring. Plus the member was not upgraded from Free to Paid. Can you please tell me what I am doing wrong? Thanks.

Taking a look now.

Posted: Wednesday Jul 31st, 2013 at 9:02 pm #54543
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry and interest in s2Member Pro.

How does s2m handle this situation: A user has an active subscription. We try to charge their credit card to continue the subscription but the charge fails. What happens? Does s2m retry? Is the user still considered a subscriber?

This depends on how you set up your checkout form. s2Member uses the rra attribute to decide how many times it will allow a payment to attempted before the subscription just ends. If you set the rra attribute to 0, the User cannot allow a payment to fail or their subscription will end.

Note that even if a subscription ends, as long as you don’t have your Automatic End of Term (EOT) settings set up to delete the User, they can re-up their subscription using Modification Forms:

Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms

Can any payment gateway handle subscriptions? I only see PayPal Pro listed in the FAQs.

Yes, all of s2Member’s payment gateways support subscriptions. To see a full list of our payment gateways, check here:

Pre Sale FAQs » What payment gateways does s2Member® support?

Posted: Wednesday Jul 31st, 2013 at 5:45 pm #54537
Bruce
Username: Bruce
Staff Member

I can confirm that this is coming in the next maintenance release of s2Member. :-)

Posted: Wednesday Jul 31st, 2013 at 12:59 pm #54525
Bruce
Username: Bruce
Staff Member

Thanks. Then I assume that both you and Eduan are correct and the functionality discussed in this topic (independent custom capabilities) WILL BE included with the next major version (or next generation) of S2 Member, but not in the “current” version.

Right. That’s correct.

Posted: Wednesday Jul 31st, 2013 at 12:13 pm #54517
Bruce
Username: Bruce
Staff Member

Thanks for the reply. You stated that “This isn’t something we’re looking to bring into the current release of s2Member, sorry.”

In an earlier post, Eduan stated “BTW the next generation of s2Member will have this fixed I believe.”

We are currently in the middle of a full rewrite of s2Member that will work totally differently than the current release. The release date of said rewrite has been pushed back many times due to many things, the biggest being the changes with PayPal’s APIs and other changes we’ve had to make to the current release of s2Member to keep it going correctly.

We do not have a release date for this.

This is what Eduan was referencing in his reply. The “current release” of s2Member is the one that you have download that we are still releasing maintenance releases with, but refraining from adding too many new features as we are trying to focus our development on the “next major version” of s2Member.

Posted: Wednesday Jul 31st, 2013 at 2:08 am #54460
Bruce
Username: Bruce
Staff Member

I’m very sorry for the delay in response.

Unless I am mistaken, this does not solve the problem; it does not handle EOT events for each subscription with separate custom capabilities independently.

While this is correct, this is the closest s2Member can get to what you need. What you’ll need to do to achieve what you want requires custom code. This isn’t something we’re looking to bring into the current release of s2Member, sorry.

If you want to set this up on your site, you would hook into the processes in this file:

/s2member/includes/classes/auto-eots.inc.php

Specifically, this hook may do the trick:

ws_plugin__s2member_during_auto_eot_system_during_before_demote

See: Knowledge Base » Hacking s2Member® Via Hooks/Filters
See Also: Knowledge Base » Changing Roles/Capabilities via PHP

That’s about as far as we can go with custom code. If you need further assistance, we recommend http://jobs.wordpress.net, or another freelance web site where WordPress® experts are offering their expertise through a bid on your project.
Posted: Wednesday Jul 31st, 2013 at 2:04 am #54459
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

Sorry for the delay. We missed this topic over the weekend.

After researching a bit more, I may have a solution, and I’d love some feedback. Here’s my current plan…

Yes that sounds like it would work for you.

As for restricting access to your categories based on Custom Capabilities, you might use s2Member’s Advanced PHP Conditionals with the WordPress is_category() function. With this you can create a Must-Use Plugin that can restrict your Categories based on Custom Capabilities. As an example, here’s an example that would restrict access to any Post / the Archive Page for a Category with an ID of 9:

http://wordpress.org/plugins/wp-show-ids/

Posted: Wednesday Jul 31st, 2013 at 1:46 am #54458
Bruce
Username: Bruce
Staff Member

Sorry for the delay over the weekend.

And thank you for your detailed suggestion here. I see what you’re saying with this. We are keeping this in mind going forward, but I can’t say for sure that we will get this added in soon, but I will bump this at the development level. We are currently making some small changes to the Pro Form to make them more flexible, so perhaps we can add this in as well.

Posted: Wednesday Jul 31st, 2013 at 1:39 am #54457
Bruce
Username: Bruce
Staff Member

I want to mention that it sounds like your theme’s developer just skipped the step that allows developers to customize the custom fields easily when they set up this part of the theme. I would say that if you contacted them they would probably add this in, as it is something that’s relied on by several plugins that hook into the BuddyPress registration system.


As for the redirect from the standard BuddyPress registration page to the theme’s custom one, you’ll need to ask the BuddyPress forums about that.

See: http://buddypress.org/support/

Posted: Wednesday Jul 31st, 2013 at 1:36 am #54456
Bruce
Username: Bruce
Staff Member

Basically the buddypress theme i’m using has added it’s own register and login pages… under the buddypress /register and /login pages it sets up. These look great however obviously don’t work with S2 member.

I see. You may be able to get these to work if you can get your theme’s developer to use the BuddyPress custom fields, or have them integrated. s2Member specifically hooks into BuddyPress’s processes in this file to accomplish the integration:

/s2member/includes/classes/custom-reg-fields-4bp.inc.php

Based on what’s in the file, if you made use of the bp_after_signup_profile_fields action hook in your theme’s template for these registration pages, s2Member should be able to put the Custom Registration Fields here, too.

You may also need to make use of the bp_signup_usermeta filter name as well for saving these custom fields if your theme does not already.

Do you have documentation on how s2 works alongside buddypress? I’m confused with profile fields that can be set up.

The only ways that s2Member integrates with BuddyPress are with the Custom Registration Fields with the hooks in BuddyPress that I mentioned above. The redirection that’s done is done by BuddyPress, and s2Member is simply ready for it to happen and makes room for that to happen. We don’t have any formal docs for this, no. Sorry about that.

Posted: Wednesday Jul 31st, 2013 at 1:26 am #54455
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

At first, I set this up using the “Modification Notifications” in API/Notification. However, I quickly realized that the modification notification fires in all modification scenarios, not just when the account becomes a paying account. That is a problem, because I don’t want to issue a commission for an already paying customer. Just for the customers that upgrade from a free account to a Level 2 or 3 account.

You can’t accomplish this with s2Member’s API Notifications. You’ll have to use this hook to accomplish this:

ws_plugin__s2member_during_paypal_notify_during_before_subscr_modify

See: Knowledge Base » Hacking s2Member® Via Hooks/Filters

You’ll notice that this says PayPal. That’s because s2Member routes all of its IPN handlers through the central PayPal IPN processor. All Modifications that include a Membership Level change go through this file, and by effect the above hook is called:

/s2member/includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php

At the point that this hook is fired, s2Member is right about to upgrade the User based on the Subscription details. Here you can grab the current User object that s2Member has, and see if they are s2Member level 0 now. If they are, then you can do the process that you want to. Here’s some example code:

<?php
add_action('ws_plugin__s2member_during_paypal_notify_during_before_subscr_modify', 's2hack_on_modify_level0');
function s2hack_on_modify_level0($vars = array()) {
	extract($vars);
	
	if(user_is($user->ID, 'subscriber') { // If the User is a subscriber at this point, then that means they're being upgraded from level 0.
		// We do our processing here
	}
}
Posted: Wednesday Jul 31st, 2013 at 12:40 am #54451
Bruce
Username: Bruce
Staff Member

Thank you for reporting this important issue.

As you may have guessed, s2 is still pulling the default template, rather than the one I’d like to modify in my child theme’s folder.

If you’re using a child theme, you’ll either need to use the template attribute to tell s2Member to use the template in your Child Theme’s directory, or move the template to your parent theme’s directory. That’s probably your issue.

See: Dashboard -› s2Member® -› PayPal® Pro Forms -› Shortcode Attributes (Explained) -› template

Posted: Wednesday Jul 31st, 2013 at 12:38 am #54450
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

I am using the default fields in my registration page (Username, First Name, Last Name, Password, Display Name) but how can I group those fields together in their own section in the built in s2member myprofile page?

You’ll have to either use this filter to accomplish this (which would take some advanced Regex I believe. I would recommend against it), or edit the Profile Form directly.

ws_plugin__s2member_sc_profile

s2Member allows you to override classes manually, so you can copy this file, and stick it into a Must-Use Plugin, then edit it to work with what you want:

/s2member/includes/classes/sc-profile-in.inc.php
Posted: Wednesday Jul 31st, 2013 at 12:32 am #54449
Bruce
Username: Bruce
Staff Member

but it doesn’t seem to be firing when I upgrade my subscription – does anyone have any ideas why this wouldn’t work?

The reason it’s not working for upgrades is because you’re using a hook designed for signups:

ws_plugin__s2member_during_paypal_notify_during_subscr_signup_w_update_vars

Try using this hook along with that one:

ws_plugin__s2member_during_paypal_notify_during_subscr_modify
Posted: Wednesday Jul 31st, 2013 at 12:28 am #54448
Bruce
Username: Bruce
Staff Member

3. What prevents one bad PAYING USER (or group) from buying all our products, downloading them, then launching his own business inside China, spamming 100 million people, charging a dollar for all our products, then he closes his business after 7 days pocketing millions of dollars and now all our products appear free all over the China web, and probably other countries too? We have a team of designers and linguists who put a lot of effort and time into developing beautiful products and we’d like to launch in China, but … cautiously! Thank you!

First I want to mention that no matter how you’re serving your files (inline or not) the User is still downloading the file. The only difference between the two methods is that inline sends some specific headers to the browser to tell it that it’s possible to download the file inline, making it simpler for Users to view the file.

This can be demonstrated with an inline link to an .mp3 file. Even if the file is served inline, you can simply right-click the link and Save Link As… in your browser.

As for the links being available for a period of time after the download:

This has to do with Amazon’s Signed URLS. s2Member goes over what these are in this section of your Dashboard (click to see full image):

Dashboard -› s2Member® -› Download Options -› Amazon® S3/CloudFront CDN Storage


The bottom line here is that (as far as I know) there is no way to totally securely share your files. However you do it, Users still download the file to view it and it can be accessed in it’s raw format. Your best defense against what you’re looking for are things like well-written Terms and Conditions. Protecting your work legally is very important any time you’re providing content to Users on the internet.

I hope that clarifies things. Let us know if you have any further questions. :-)

Posted: Tuesday Jul 30th, 2013 at 11:42 pm #54446
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

Is it possbile to override oder influence this parameters in s2member? As you can see here (https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/), I prefer the LANDINGPAGE type “Login” for instance…

Are you using PayPal buttons, or s2Member’s PayPal Pro Forms?

Posted: Tuesday Jul 30th, 2013 at 11:41 pm #54445
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

I am having issues understanding how I can create an upgrade form with additional fields to be filled out that needs to be manually reviewed and approved…it is NOT a “Buy Now” function and automatic approval.

s2Member doesn’t have this kind of form available. The only way to achieve this would be to have a developer set up a form to collect the information from your Users and to either automatically or manually upgrade the User and their profile after they submit the form. Sorry about that. You might check out one of the Contact Form plugins for creating that.

http://wordpress.org/plugins/contact-form-plugin/

Posted: Tuesday Jul 30th, 2013 at 11:33 pm #54444
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

s2Member is capable of this with Custom Capabilities. Custom Capabilities allow you to protect groups of Posts/Pages, and you can mix and match them to give access to some, or all of your content.

The reason you’ll need to use Custom Capabilities is because s2Member’s regular Membership Levels are incremental, meaning that someone at s2Member Level 3 would have access to all of the content at s2Member Levels 0, 1, and 2.

Because you want to have only some types of Users to see certain content, Custom Capabilities are the best option for you.

For advanced information on this, you can check out this part of your Dashboard:

Dashboard -› s2Member® -› API / Scripting -› Custom Capabilities

or this video here at s2Member.com:

Video » s2Member (Custom Capabilities)

Posted: Tuesday Jul 30th, 2013 at 10:42 pm #54437
Bruce
Username: Bruce
Staff Member

My best practice question is: Is this overkill? Do I need to use the HTTPS plug-in, or does s2Member have setting that handle encryption. The client is especially concerned about passwords being encrypted as they are passed across the ‘net.

s2Member allows you to set Posts and Pages to load in HTTPS mode with an SSL certificate using a custom Post value. However this does not affect things like log in forms, or any processes that are not done on a Post/Page. I’m not personally experienced with the HTTPs Plugin you mentioned, but I know that I have seen this used in conjunction with s2Member in the past.

If you just want to secure your checkout forms, then I would say that s2Member alone should be enough. Otherwise, you can leave the current plugin installed. It shouldn’t hurt anything. :-)

Posted: Tuesday Jul 30th, 2013 at 10:39 pm #54436
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

can the list somehow be “closed” and include only specified members from the website?

I think you’re looking for MailChimp’s Publicity Settings:

http://kb.mailchimp.com/article/what-are-publicity-settings-and-how-do-i-change-them

s2Member uses an API Key from MailChimp, so it can register Users when your list is in Private mode still. Will that work for you?

Also, I believe we can add fields to the membership database in S2Member/WordPress, does the Pro version allow me to export ONLY those fields I want and leave out all of the extraneous stuff?

No, sorry. s2Member exports all WordPress information along with the Custom Fields. This actually is probably what you need, anyway, because you need the email address / WordPress username to link User account to their information, right?

If you open up the file in something like Excel, you should be able to delete any columns that you don’t want after you export the data, as well.

Posted: Tuesday Jul 30th, 2013 at 9:27 pm #54426
Bruce
Username: Bruce
Staff Member

Thank you for your inquiry.

Sorry for the delay.

1. I’m having trouble not being redirected to the /registration page that buddypress has it’s template form.

What do you mean by this? The only time you should be redirected to this page is if you try to access /wp-login.php?action=register. This is something that BuddyPress does, not s2Member. Is that not working?

2. I removed all the buddypress profile fields, and I’m trying to set them up through S2 member but I’m being unsucessful and don’t fully understand how they work

Which part of the fields do you not understand? Could you expand on this please? Thanks!

Posted: Tuesday Jul 30th, 2013 at 1:02 pm #54400
Bruce
Username: Bruce
Staff Member

How can I check Authorize.Net IPN?

I have enabled logging, following is the authnet-ipn.log file generated:

It doesn’t look like we have all the info here. Would you mind sending us access to all of your files so we can take a look?

You can do that here: s2Member® » Private Contact Form

Posted: Tuesday Jul 30th, 2013 at 12:59 pm #54399
Bruce
Username: Bruce
Staff Member

I’ve followed this process and it’s working a treat.

Cool. Let us know if you have any more problems.

And thanks for your purchase. :-)

Posted: Tuesday Jul 30th, 2013 at 3:21 am #54382
Bruce
Username: Bruce
Staff Member

I’m not getting a confirmation mail when testing through auth.net pro forms,

Do you have logging enabled?

If you’re not getting any emails, then that probably means that your Authorize.Net IPN integration is broken. If you don’t have logging enabled, enable it and run another test transaction. Then check this section of your Dashboard:

Dashboard -› s2Member® -› Log Files (Debug) -› Logging Configuration

Is there an authnet-ipn.log file generated? If so, does s2Member say that there’s something wrong with the information?

Posted: Tuesday Jul 30th, 2013 at 2:34 am #54380
Bruce
Username: Bruce
Staff Member
Testimonial from Reply #54351 added here:

s2Member® » Testimonials

Thanks very much for the kudos! :-)

Viewing 25 replies - 201 through 225 (of 2,703 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.