Secure WordPress content and offer users/members a secure checkout solution that integrates seamlessly with WordPress Roles/Capabilities. It's like a cash machine. s2Member puts money back in your pocket with every customer you acquire

All Framework FeaturesCustom pages, custom registration/profile fields, content protection, and much more. Everything that works in the free version continues to work in s2Member® Pro.
All Additional Pro FeaturesOne-step registration/checkout via Pro-Forms. Integrates with Stripe™, PayPal Pro, Authorize.Net, and ClickBank too! Unlimited Membership Levels, Coupon Codes, Gift/Redemption Codes, and more.
Single-Site LicensePerfect for site owners with one domain name. This license is good for a single instance of s2Member® Pro running in a standard WordPress installation.
Lifetime Updates + 12/Mo. Support

All Framework FeaturesCustom pages, custom registration/profile fields, content protection, and much more. Everything that works in the free version continues to work in s2Member® Pro.
All Additional Pro FeaturesOne-step registration/checkout via Pro-Forms. Integrates with Stripe™, PayPal Pro, Authorize.Net, and ClickBank too! Unlimited Membership Levels, Coupon Codes, Gift/Redemption Codes, and more.
Unlimited-Site LicensePerfect for site owners with multiple domain names or a Multisite Network. Good for unlimited instances of s2Member® Pro.
Lifetime Updates + 12/Mo. Support

Pro Version

PayPal Standard Button Integration

Available to Merchants in Most Countries

Checkout Occurs at PayPal.com

With PayPal Standard "Buttons" (a hosted solution); customers do leave your site to complete checkout at PayPal.com, and then they return to complete registration afterward. If you want to avoid this limitation use s2Member's PayPal Pro integration (an s2Member Pro feature), where Pro-Forms are used instead of Buttons, and registration/checkout are both completed in a single step at your site. See: PayPal Pro Integration w/ Pro-Forms.

You Can Accept the Following Forms of Payment

If you choose to integrate with PayPal Standard, you can accept any funding source supported by PayPal; i.e., a credit/debit card, the customer's PayPal balance, their checking account, and others—depending upon your PayPal account configuration.

Full IPN Integration (Instant Payment Notifications)

Instant Payment Notifications (IPNs) are messages (behind-the-scenes, via HTTP) that automatically notify s2Member about events related to PayPal transactions. s2Member uses this to automate back-office and administrative functions, like automatically fulfilling orders or terminating access when a customer cancels their subscription or forces a refund/chargeback.

Full Auto-Return & PDT Integration

Payment Data Transfer (PDT) is a secure method to retrieve the details about a PayPal transaction so that s2Member can process it in real-time (as checkout is completed); and without needing to wait for an IPN to occur silently behind-the-scenes. This works together with PayPal's Auto-Return functionality—a customer is immediately returned to your site after completing checkout at PayPal.

Built-in PayPal® Button Generators

s2Member's Button Generators (in your WordPress Dashboard) are so convenient! With these, you can establish a free trial period (or an initial fee), the cost & billing interval, whether it will be recurring, and much more. You can even set the Membership Level and add a list of any Custom Capabilities that you intend to bundle. Button Generators provided by s2Member produce a WordPress Shortcode that can be copied/pasted into a Post or Page in WordPress. s2Member Pro-Forms work the same way. See: PayPal Pro Integration w/ Pro-Forms.

Supports "Buy Now" Products/Services

You can sell fixed-term or lifetime access using "Buy Now" functionality. This is a popular way to sell products/services without requiring a customer to have a PayPal account in order to complete checkout; which is a limitation when using PayPal Standard "Buttons". Selling it as "Buy Now" avoids the issue. Another way to avoid this limitation is to use s2Member's PayPal Pro integration (an s2Member Pro feature), where Pro-Forms are used instead of "Buttons". See: PayPal Pro Integration w/ Pro-Forms.

Supports Recurring and Non-Recurring "Subscriptions"

You can sell access that requires a recurring payment. If recurring payments fail too many times, access is terminated automatically by s2Member. Subscriptions support both Standard and Custom Recurrences. Or, you can sell access that is non-recurring; e.g., 6 days free, then $39 for 1 year of access—where access & billing are both terminated after the year is over; i.e. it is not recurring.

Supports a Free or Paid Initial/Trial Period

With PayPal Standard you can set a free or paid initial/trial period of any allowable length. For instance, $0.00 for the first X days/weeks/months/years, then $39/mo. An initial/trial period can be up to 5 years. To avoid this limitation use s2Member's PayPal Pro integration (an s2Member Pro feature), where Pro-Forms are used instead of "Buttons". See: PayPal Pro Integration w/ Pro-Forms.

Supports Standard & Custom Subscription Recurrences

The following Subscription Recurrences are supported by PayPal Standard Buttons: daily, weekly, bi-weekly, monthly, bi-monthly, quarterly, semi-yearly, and yearly. It is also possible to establish custom Subscription Recurrences by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., every 2 days, every 2 weeks, every 9 months, or pretty much whatever is needed).

Note: PayPal Standard Buttons support a maximum of 5 years between Subscription Recurrences; i.e., it is not possible to charge someone every 10 years. You can charge them every 5 years, or anything less than 5 years. e.g., every 2 years, every 2 weeks, every month, every 2 months, etc.

Supports a Fixed Number of Billing Recurrences

By default, recurring charges will remain ongoing until cancelled, or until payments start failing. However, it is possible (using the s2Member rrt="" Shortcode attribute) to terminate access & billing after X billing cycles. Please note that a fixed number of installments, also means a fixed period of access. If a customer's billing is monthly, and you set rrt="3", billing will continue for only 3 monthly installments. After that, billing will stop, and the customer's access to the site will be revoked as well (based on your s2Member EOT Behavior setting).

Supports Fixed-Term Access

For example, access can be granted for exactly 2 days, 2 weeks, 1 year, etc. This is made possible by s2Member's Auto-EOT System. Fixed-term access can be sold as part of a non-recurring Subscription, or as a "Buy Now" purchase. It is also possible to establish a custom time-period by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., 3 days, 10 weeks, 9 months, or pretty much whatever is needed).

Supports Lifetime Access

For example, you can sell a recurring Subscription that never expires (i.e. not until the customer chooses to cancel). Or, you can generate a "Buy Now" Button that sells lifetime access to a product/service; i.e. a one-time fee that provides access that never expires.

Supports "Buy Now" Access to Specific Posts/Pages

This is referred to as "Specific Post/Page Access"—customers are not required to register at all. Specific Post/Page Access is like selling a product—only, instead of shipping anything to the customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member might contain a download link for your eBook, access to file & music downloads, access to support services, etc. The possibilities with this are endless; so long as your digital product can be delivered through access to a WordPress Post/Page. You can also package multiple Posts/Pages together into one "Buy Now" transaction.

Supports Independent Custom Capabilities

In addition to selling a Membership that already comes with Custom Capabilities—with PayPal Standard Buttons you can also sell additional (Independent) Custom Capabilities to existing members of your site. Independent Custom Capabilities are added to a customer's account immediately after checkout, and the customer will have the Custom Capabilities for as long as their membership lasts.

Supports Custom Thank-You Page URLs Requires s2Member Pro

With s2Member Pro, PayPal Standard Buttons can use a custom Thank-You Page URL. It becomes possible for you to customize the success="http://..." Shortcode attribute. This allows you to define a custom URL of your own, where you might create a Post/Page in WordPress that thanks a customer for their purchase, and provides additional details about how to proceed.

Checkout Occurs on Your Site; via Pro-Forms

PayPal Pro-Forms (instead of PayPal Standard Buttons). s2Member's PayPal Pro-Forms integrate seamlessly with WordPress Shortcodes. This allows you to keep customers on your site at all times, and it consolidates registration/checkout into a single step. Since checkout occurs on your site, you can dress up the Post/Page containing your Pro-Form in ways that are most effective for your product/service.

You Can Accept the Following Forms of Payment

If you choose to integrate with PayPal Pro, you can accept all major credit cards, plus any funding source supported by PayPal Express Checkout; i.e., a credit/debit card, the customer's PayPal balance, their checking account, and others—depending upon your PayPal account configuration.

Full IPN Integration (Instant Payment Notifications)

Instant Payment Notifications (IPNs) are messages (behind-the-scenes, via HTTP) that automatically notify s2Member about events related to PayPal transactions. s2Member uses this to automate back-office and administrative functions, like automatically fulfilling orders or terminating access when a customer cancels their subscription or forces a refund/chargeback.

Built-in PayPal® Pro-Form Generators

s2Member's Pro-Form Generators (in your WordPress Dashboard) are so convenient! With these, you can establish a free trial period (or an initial fee), the cost & billing interval, whether it will be recurring, and much more. You can even set the Membership Level and add a list of any Custom Capabilities that you intend to bundle. Pro-Form Generators provided by s2Member produce a WordPress Shortcode that can be copied/pasted into a Post or Page in WordPress. Pro-Forms are, by far, the easiest way to implement on-site credit card processing.

Supports "Buy Now" Products/Services

You can sell fixed-term or lifetime access using "Buy Now" functionality. The term, "Buy Now" indicates that it's a one-time fee that will not recur. This is a popular way to sell products/services with PayPal Pro, because "Buy Now" functionality does not require you to enable Recurring Billing in your Website Payments Pro account.

Supports Recurring and Non-Recurring "Subscriptions"

You can sell access that requires a recurring payment. If recurring payments fail too many times, access is terminated automatically by s2Member. Subscriptions support both Standard and Custom Recurrences. Or, you can sell access that is non-recurring; e.g., 6 days free, then $39 for 1 year of access—where access & billing are both terminated after the year is over; i.e. it is not recurring.

Supports a Free or Paid Initial/Trial Period

With PayPal Pro you can set a free or paid initial/trial period of any length. For instance, $0.00 for the first X days/weeks/months/years, then $39/mo. An initial/trial period can be any length of time that you like; i.e. there is no limit to the length of an initial/trial period whatsoever.

Supports Standard & Custom Subscription Recurrences

The following Subscription Recurrences are supported by PayPal Pro-Forms: weekly, bi-weekly, monthly, quarterly, semi-yearly, and yearly. It is also possible to establish custom Subscription Recurrences by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., every 2 days, every 2 weeks, every 9 months, or pretty much whatever is needed).

Note: PayPal Pro does not support daily Subscription Recurrences. The minimum is weekly. Also, there is a maximum of 1 year between Subscription Recurrences; i.e., it is not possible to charge someone every 2 years. You can charge them every 1 year, or anything less than 1 year. e.g., every 2 weeks, every month, every 2 months, twice monthly, twice yearly, etc.

PayPal Pro (Payflow Edition): If you have a PayPal Pro (Payflow Edition) account, please take note. Payflow Edition supports only a specific set of Subscription Recurrences. Pro-Forms integrated with the Payflow Edition can be configured to charge: weekly, bi-weekly, monthly, quarterly, semi-yearly or yearly. Custom Recurrences are not possible with the Payflow Edition.

Supports a Fixed Number of Billing Recurrences

By default, recurring charges will remain ongoing until cancelled, or until payments start failing. However, it is possible (using the s2Member rrt="" Shortcode attribute) to terminate access & billing after X billing cycles. Please note that a fixed number of installments, also means a fixed period of access. If a customer's billing is monthly, and you set rrt="3", billing will continue for only 3 monthly installments. After that, billing will stop, and the customer's access to the site will be revoked as well (based on your s2Member EOT Behavior setting).

Supports Fixed-Term Access

For example, access can be granted for exactly 7 days, 2 weeks, 1 year, etc. This is made possible by s2Member's Auto-EOT System. Fixed-term access can be sold as part of a non-recurring Subscription, or as a "Buy Now" purchase. It is also possible to establish a custom time-period by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., 3 days, 10 weeks, 9 months, or pretty much whatever is needed).

Supports Lifetime Access

For example, you can sell a recurring Subscription that never expires (i.e. not until the customer chooses to cancel). Or, you can generate a "Buy Now" Pro-Form that sells lifetime access to a product/service; i.e. a one-time fee that provides access that never expires.

Supports "Buy Now" Access to Specific Posts/Pages

This is referred to as "Specific Post/Page Access"—customers are not required to register at all. Specific Post/Page Access is like selling a product—only, instead of shipping anything to the customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member might contain a download link for your eBook, access to file & music downloads, access to support services, etc. The possibilities with this are endless; so long as your digital product can be delivered through access to a WordPress Post/Page. You can also package multiple Posts/Pages together into one "Buy Now" transaction.

Supports Independent Custom Capabilities

In addition to selling a Membership that already comes with Custom Capabilities—with PayPal Pro-Forms you can also sell additional (Independent) Custom Capabilities to existing members of your site. Independent Custom Capabilities are added to a customer's account immediately after checkout, and the customer will have the Custom Capabilities for as long as their membership lasts.

Supports Coupon Code Configurations

With PayPal Pro-Forms, you can build a configurable list of Coupon Codes that provide a flat-rate discount, or a percentage-based discount; up to and including 100% of the transaction amount (i.e., a 100% free checkout experience is possible). Coupons can be limited in scope too. Such as limiting the discount to the first/initial payment only, or to regular recurring payments only. It's also possible to limit Coupon Codes to specific Pro-Form instances, to specific customers, to specific dates, and even put a limit on the maximum number of times that a specific Coupon Code can be used collectively. It's also possible to integrate s2Member's Coupon Code functionality with affiliate platforms. Affiliates can be identified through promotions that use affiliate-specific Coupon Codes, which your Pro-Forms will graciously accept.

Supports the Sale of Gift/Redemption Codes

With PayPal Pro-Forms, you can sell access to auto-generated Gift/Redemption Codes (using the Shortcode: [s2Member-Gift-Codes /]). This makes it possible for you to sell Gift Certificates (aka: Gift Codes). Or, you can sell one customer access to an account that includes a list of Redemption Codes that they can share with others on their team or in their group. Gift/Redemption Codes can provide a flat-rate discount, or a percentage-based discount; up to and including 100% of the transaction amount.

Supports Virtual Terminal Transactions (Manual Payment Processing)

You can accept offline payments (e.g., check by mail, funds collected in cash, by phone, etc). Customer accounts can be created from your WordPress Dashboard to fulfill orders, or through s2Member's Pro Remote Operations API. With PayPal Pro, you will also acquire a Virtual Terminal where you can process credit cards manually by logging into your PayPal Pro account.

Supports Custom Thank-You Page URLs

With PayPal Pro-Forms, you can customize the success="http://..." Shortcode attribute. This allows you to define a custom URL of your own, where you might create a Post/Page in WordPress that thanks a customer for their purchase, and provides additional details about how to proceed.

Stripe Integration w/ Pro-Forms

Available to Merchants in 18+ Countries

Most Popular: Stripe is the easiest, cheapest, and most powerful payment gateway. It integrates with s2Member Pro-Forms too, so it supports all s2Member Pro features. No monthly fees! Highly recommended by s2Member. ~ You can get your free Stripe account here.

Checkout Occurs on Your Site; via Pro-Forms

s2Member's Stripe Pro-Forms integrate seamlessly with WordPress Shortcodes. This allows you to keep customers on your site at all times, and it consolidates registration/checkout into a single step. Since checkout occurs on your site, you can dress up the Post/Page containing your Pro-Form in ways that are most effective for your product/service.

You Can Accept the Following Forms of Payment

If you choose to integrate with Stripe, you can accept almost any type of credit/debit card. See this article for further details. Note: Stripe is also working to integrate Bitcoin soon! Yet another reason to choose Stripe over other competing services. See this portal if you'd like to learn more.

Full Integration w/ Stripe Webhooks

Webhooks (aka: IPNs) are messages (behind-the-scenes, via HTTP) that automatically notify s2Member about events related to Stripe transactions. s2Member uses this to automate back-office and administrative functions, like automatically fulfilling orders or terminating access when a customer cancels their subscription or forces a refund/chargeback.

Built-in Stripe® Pro-Form Generators

s2Member's Pro-Form Generators (in your WordPress Dashboard) are so convenient! With these, you can establish a free trial period (or an initial fee), the cost & billing interval, whether it will be recurring, and much more. You can even set the Membership Level and add a list of any Custom Capabilities that you intend to bundle. Pro-Form Generators provided by s2Member produce a WordPress Shortcode that can be copied/pasted into a Post or Page in WordPress. Pro-Forms are, by far, the easiest way to implement on-site credit card processing.

Supports "Buy Now" Products/Services

You can sell fixed-term or lifetime access using "Buy Now" functionality. The term, "Buy Now" indicates that it's a one-time fee that will not recur. This is a popular way to sell products/services with Stripe.

Supports Recurring and Non-Recurring "Subscriptions"

You can sell access that requires a recurring payment. If recurring payments fail too many times, access is terminated automatically by s2Member. Subscriptions support both Standard and Custom Recurrences. Or, you can sell access that is non-recurring; e.g., 6 days free, then $39 for 1 year of access—where access & billing are both terminated after the year is over; i.e. it is not recurring.

Supports a Free or Paid Initial/Trial Period

With Stripe you can set a free or paid initial/trial period of any length. For instance, $0.00 for the first X days/weeks/months/years, then $39/mo. An initial/trial period can be any length of time that you like; i.e. there is no limit to the length of an initial/trial period whatsoever.

Supports Standard & Custom Subscription Recurrences

The following Subscription Recurrences are supported by Stripe Pro-Forms: daily, weekly, bi-weekly, monthly, bi-monthly, quarterly, semi-yearly, and yearly. It is also possible to establish custom Subscription Recurrences by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., every 2 days, every 2 weeks, every 9 months, or pretty much whatever is needed).

Note: Stripe supports a maximum of 1 year between Subscription Recurrences; i.e., it is not possible to charge someone every 2 years. You can charge them every 1 year, or anything less than 1 year. e.g., every 2 days, every 2 weeks, every month, etc.

Supports a Fixed Number of Billing Recurrences

By default, recurring charges will remain ongoing until cancelled, or until payments start failing. However, it is possible (using the s2Member rrt="" Shortcode attribute) to terminate access & billing after X billing cycles. Please note that a fixed number of installments, also means a fixed period of access. If a customer's billing is monthly, and you set rrt="3", billing will continue for only 3 monthly installments. After that, billing will stop, and the customer's access to the site will be revoked as well (based on your s2Member EOT Behavior setting).

Supports Fixed-Term Access

For example, access can be granted for exactly 2 days, 2 weeks, 1 year, etc. This is made possible by s2Member's Auto-EOT System. Fixed-term access can be sold as part of a non-recurring Subscription, or as a "Buy Now" purchase. It is also possible to establish a custom time-period by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., 3 days, 10 weeks, 9 months, or pretty much whatever is needed).

Supports Lifetime Access

For example, you can sell a recurring Subscription that never expires (i.e. not until the customer chooses to cancel). Or, you can generate a "Buy Now" Pro-Form that sells lifetime access to a product/service; i.e. a one-time fee that provides access that never expires.

Supports "Buy Now" Access to Specific Posts/Pages

This is referred to as "Specific Post/Page Access"—customers are not required to register at all. Specific Post/Page Access is like selling a product—only, instead of shipping anything to the customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member might contain a download link for your eBook, access to file & music downloads, access to support services, etc. The possibilities with this are endless; so long as your digital product can be delivered through access to a WordPress Post/Page. You can also package multiple Posts/Pages together into one "Buy Now" transaction.

Supports Independent Custom Capabilities

In addition to selling a Membership that already comes with Custom Capabilities—with Stripe Pro-Forms you can also sell additional (Independent) Custom Capabilities to existing members of your site. Independent Custom Capabilities are added to a customer's account immediately after checkout, and the customer will have the Custom Capabilities for as long as their membership lasts.

Supports Coupon Code Configurations

With Stripe Pro-Forms, you can build a configurable list of Coupon Codes that provide a flat-rate discount, or a percentage-based discount; up to and including 100% of the transaction amount (i.e., a 100% free checkout experience is possible). Coupons can be limited in scope too. Such as limiting the discount to the first/initial payment only, or to regular recurring payments only. It's also possible to limit Coupon Codes to specific Pro-Form instances, to specific customers, to specific dates, and even put a limit on the maximum number of times that a specific Coupon Code can be used collectively. It's also possible to integrate s2Member's Coupon Code functionality with affiliate platforms. Affiliates can be identified through promotions that use affiliate-specific Coupon Codes, which your Pro-Forms will graciously accept.

Note: s2Member does not integrate with Stripe-generated Coupon Codes. Functionality associated with Coupon Codes is provided by s2Member itself to increase flexibility. For this reason, it's important to note that s2Member Pro-Forms will not accept Coupon Codes that you configure in your Stripe Dashboard. Please configure all Coupon Codes in WordPress using s2Member.

Supports the Sale of Gift/Redemption Codes

With Stripe Pro-Forms, you can sell access to auto-generated Gift/Redemption Codes (using the Shortcode: [s2Member-Gift-Codes /]). This makes it possible for you to sell Gift Certificates (aka: Gift Codes). Or, you can sell one customer access to an account that includes a list of Redemption Codes that they can share with others on their team or in their group. Gift/Redemption Codes can provide a flat-rate discount, or a percentage-based discount; up to and including 100% of the transaction amount.

Supports Virtual Terminal Transactions (Manual Payment Processing)

You can accept offline payments (e.g., check by mail, funds collected in cash, by phone, etc). Customer accounts can be created from your WordPress Dashboard to fulfill orders, or through s2Member's Pro Remote Operations API. With Stripe, you will also acquire a Virtual Terminal where you can process credit cards manually by logging into your Stripe account.

Supports Custom Thank-You Page URLs

With Stripe Pro-Forms, you can customize the success="http://..." Shortcode attribute. This allows you to define a custom URL of your own, where you might create a Post/Page in WordPress that thanks a customer for their purchase, and provides additional details about how to proceed.

Available to Merchants in 5+ Countries

Checkout Occurs on Your Site; via Pro-Forms

s2Member's Authorize.Net Pro-Forms integrate seamlessly with WordPress Shortcodes. This allows you to keep customers on your site at all times, and it consolidates registration/checkout into a single step. Since checkout occurs on your site, you can dress up the Post/Page containing your Pro-Form in ways that are most effective for your product/service.

You Can Accept the Following Forms of Payment

If you choose to integrate with Authorize.Net, you can accept almost any type of credit or debit card. See this article for further details.

Full Integration with Authorize.Net AIM/ARB and Silent Posts

AIM (Advanced Integration Method) allows merchants to host their own secure payment form on a website, mobile device, etc., and send transactions to the payment gateway using an end-to-end secure sockets layer (SSL) connection. s2Member also support ARBs (Automated-Recurring Billing), and Silent Posts (aka: IPNs). Silent Posts are messages (behind-the-scenes, via HTTP) that automatically notify s2Member about events related to Authorize.Net transactions. s2Member uses this to automate back-office and administrative functions, like automatically fulfilling orders or terminating access when a customer cancels their subscription.

Built-in Authorize.Net® Pro-Form Generators

s2Member's Pro-Form Generators (in your WordPress Dashboard) are so convenient! With these, you can establish a free trial period (or an initial fee), the cost & billing interval, whether it will be recurring, and much more. You can even set the Membership Level and add a list of any Custom Capabilities that you intend to bundle. Pro-Form Generators provided by s2Member produce a WordPress Shortcode that can be copied/pasted into a Post or Page in WordPress. Pro-Forms are, by far, the easiest way to implement on-site credit card processing.

Supports "Buy Now" Products/Services

You can sell fixed-term or lifetime access using "Buy Now" functionality. The term, "Buy Now" indicates that it's a one-time fee that will not recur. This is a popular way to sell products/services with Authorize.Net.

Supports Recurring and Non-Recurring "Subscriptions"

You can sell access that requires a recurring payment. If recurring payments fail too many times, access is terminated automatically by s2Member. Subscriptions support both Standard and Custom Recurrences. Or, you can sell access that is non-recurring; e.g., 6 days free, then $39 for 1 year of access—where access & billing are both terminated after the year is over; i.e. it is not recurring.

Supports a Free or Paid Initial/Trial Period

With Authorize.Net you can set a free or paid initial/trial period of any length. For instance, $0.00 for the first X days/weeks/months/years, then $39/mo. An initial/trial period can be any length of time that you like; i.e. there is no limit to the length of an initial/trial period whatsoever.

Supports Standard & Custom Subscription Recurrences

The following Subscription Recurrences are supported by Authorize.Net Pro-Forms: weekly, bi-weekly, monthly, bi-monthly, quarterly, semi-yearly, and yearly. It is also possible to establish custom Subscription Recurrences by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., every 2 weeks, every 3 months, every 9 months, or pretty much whatever is needed).

Note: Authorize.Net does not support daily Subscription Recurrences. The minimum is weekly. Also, there is a maximum of 1 year between Subscription Recurrences; i.e., it is not possible to charge someone every 2 years. You can charge them every 1 year, or anything less than 1 year. e.g., every 2 weeks, every month, every 2 months, twice a month, twice yearly, etc.

Supports a Fixed Number of Billing Recurrences

By default, recurring charges will remain ongoing until cancelled, or until payments start failing. However, it is possible (using the s2Member rrt="" Shortcode attribute) to terminate access & billing after X billing cycles. Please note that a fixed number of installments, also means a fixed period of access. If a customer's billing is monthly, and you set rrt="3", billing will continue for only 3 monthly installments. After that, billing will stop, and the customer's access to the site will be revoked as well (based on your s2Member EOT Behavior setting).

Supports Fixed-Term Access

For example, access can be granted for exactly 7 days, 2 weeks, 1 year, etc. This is made possible by s2Member's Auto-EOT System. Fixed-term access can be sold as part of a non-recurring Subscription, or as a "Buy Now" purchase. It is also possible to establish a custom time-period by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., 3 days, 10 weeks, 9 months, or pretty much whatever is needed).

Supports Lifetime Access

For example, you can sell a recurring Subscription that never expires (i.e. not until the customer chooses to cancel). Or, you can generate a "Buy Now" Pro-Form that sells lifetime access to a product/service; i.e. a one-time fee that provides access that never expires.

Supports "Buy Now" Access to Specific Posts/Pages

This is referred to as "Specific Post/Page Access"—customers are not required to register at all. Specific Post/Page Access is like selling a product—only, instead of shipping anything to the customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member might contain a download link for your eBook, access to file & music downloads, access to support services, etc. The possibilities with this are endless; so long as your digital product can be delivered through access to a WordPress Post/Page. You can also package multiple Posts/Pages together into one "Buy Now" transaction.

Supports Independent Custom Capabilities

In addition to selling a Membership that already comes with Custom Capabilities—with Authorize.Net Pro-Forms you can also sell additional (Independent) Custom Capabilities to existing members of your site. Independent Custom Capabilities are added to a customer's account immediately after checkout, and the customer will have the Custom Capabilities for as long as their membership lasts.

Supports Coupon Code Configurations

With Authorize.Net Pro-Forms, you can build a configurable list of Coupon Codes that provide a flat-rate discount, or a percentage-based discount; up to and including 100% of the transaction amount (i.e., a 100% free checkout experience is possible). Coupons can be limited in scope too. Such as limiting the discount to the first/initial payment only, or to regular recurring payments only. It's also possible to limit Coupon Codes to specific Pro-Form instances, to specific customers, to specific dates, and even put a limit on the maximum number of times that a specific Coupon Code can be used collectively. It's also possible to integrate s2Member's Coupon Code functionality with affiliate platforms. Affiliates can be identified through promotions that use affiliate-specific Coupon Codes, which your Pro-Forms will graciously accept.

Supports the Sale of Gift/Redemption Codes

With Authorize.Net Pro-Forms, you can sell access to auto-generated Gift/Redemption Codes (using the Shortcode: [s2Member-Gift-Codes /]). This makes it possible for you to sell Gift Certificates (aka: Gift Codes). Or, you can sell one customer access to an account that includes a list of Redemption Codes that they can share with others on their team or in their group. Gift/Redemption Codes can provide a flat-rate discount, or a percentage-based discount; up to and including 100% of the transaction amount.

Supports Virtual Terminal Transactions (Manual Payment Processing)

You can accept offline payments (e.g., check by mail, funds collected in cash, by phone, etc). Customer accounts can be created from your WordPress Dashboard to fulfill orders, or through s2Member's Pro Remote Operations API. With Authorize.Net, you will also acquire a Virtual Terminal where you can process credit cards manually by logging into your Authorize.Net account.

Supports Custom Thank-You Page URLs

With Authorize.Net Pro-Forms, you can customize the success="http://..." Shortcode attribute. This allows you to define a custom URL of your own, where you might create a Post/Page in WordPress that thanks a customer for their purchase, and provides additional details about how you'd like them to proceed now that checkout is complete.

ClickBank Button Integration

Available to Merchants in Most Countries

Checkout Occurs at ClickBank.com

With ClickBank (a hosted solution); customers do leave your site to complete checkout at ClickBank.com, and then they return to complete registration afterward. If you want to avoid this limitation use s2Member's PayPal Pro, Stripe, or Authorize.Net integrations, where Pro-Forms are used instead of Buttons, and registration/checkout are both completed in a single step at your site.

You Can Accept the Following Forms of Payment

If you choose to integrate with ClickBank, you can accept almost any type of credit or debit card, and you can also accept PayPal. See this article and/or contact ClickBank support for further details regarding accepted payment methods.

Full IPN Integration (Instant Payment Notifications)

Instant Payment Notifications (IPNs) are messages (behind-the-scenes, via HTTP) that automatically notify s2Member about events related to ClickBank transactions. s2Member uses this to automate back-office and administrative functions, like automatically fulfilling orders or terminating access when a customer cancels their subscription or forces a refund/chargeback.

Full API & Thank-You Page Integration

The ClickBank API is a secure method to retrieve the details about a ClickBank transaction so that s2Member can process it in real-time (as checkout is completed); and without needing to wait for an IPN to occur silently behind-the-scenes. This works together with ClickBank's Thank-You Page functionality—a customer is immediately returned to your site after completing checkout at ClickBank.

Built-in ClickBank® Button Generators

s2Member's Button Generators (in your WordPress Dashboard) are so convenient! With these, you can establish a free trial period (or an initial fee), the cost & billing interval, whether it will be recurring, and much more. You can even set the Membership Level and add a list of any Custom Capabilities that you intend to bundle. Button Generators provided by s2Member produce a WordPress Shortcode that can be copied/pasted into a Post or Page in WordPress. s2Member Pro-Forms work the same way. We recommend: Stripe Integration w/ Pro-Forms.

Supports "Buy Now" Products/Services

You can sell fixed-term or lifetime access using "Buy Now" functionality. This is a popular way to sell products/services with ClickBank; i.e., a one-time fee that does not recur. With s2Member, this can be used to sell lifetime access. Or, you can limit the access to 1 day, 2 weeks, 6 months, or pretty much whatever is needed; powered by s2Member's Auto-EOT System.

Supports Recurring and Non-Recurring "Subscriptions"

You can sell access that requires a recurring payment. If recurring payments fail too many times, access is terminated automatically by s2Member. Subscriptions support Standard ClickBank Recurrences. Or, you can sell access that is non-recurring; e.g., 6 days free, then $39 for 3 months of access—where access & billing are both terminated after 3 months; i.e. it is not recurring.

Supports a Free or Paid Initial/Trial Period

With ClickBank you can set a free or paid initial/trial period of any allowable length. For instance, $0.00 for the first X days, then $39/mo. An initial/trial period can be up to 31 days. To avoid this limitation use s2Member's PayPal Pro, Stripe, or Authorize.Net integrations, where Pro-Forms are used for on-site credit card processing. We recommend: Stripe Integration w/ Pro-Forms.

Supports Standard ClickBank Subscription Recurrences

The following Subscription Recurrences are supported by ClickBank Buttons: weekly, bi-weekly, monthly, quarterly. The minimum being weekly, the maximum being quarterly. To avoid this limitation use s2Member's PayPal Pro, Stripe, or Authorize.Net integrations, where Pro-Forms are used for on-site credit card processing. We recommend: Stripe Integration w/ Pro-Forms.

Supports a Fixed Number of Billing Recurrences

By default, recurring charges will remain ongoing until cancelled, or until payments start failing. However, it is possible (with ClickBank's Billing Duration feature) to terminate access & billing after X billing cycles. Please note that a fixed number of installments, also means a fixed period of access. If a customer's billing is monthly, and you set Billing Duration to 3, billing will continue for only 3 monthly installments. After that, billing will stop, and the customer's access to the site will be revoked as well (based on your s2Member EOT Behavior setting).

Supports Fixed-Term Access

For example, access can be granted for exactly 2 days, 2 weeks, 1 year, etc. This is made possible by s2Member's Auto-EOT System. Fixed-term access can be sold as a "Buy Now" purchase. It is also possible to establish a custom time-period by editing the s2Member Shortcode Attributes: rp="" and rt="" (e.g., 3 days, 10 weeks, 9 months, or pretty much whatever is needed).

Supports Lifetime Access

For example, you can sell a recurring Subscription that never expires (i.e. not until the customer chooses to cancel). Or, you can generate a "Buy Now" Button that sells lifetime access to a product/service; i.e. a one-time fee that provides access that never expires.

Supports "Buy Now" Access to Specific Posts/Pages

This is referred to as "Specific Post/Page Access"—customers are not required to register at all. Specific Post/Page Access is like selling a product—only, instead of shipping anything to the customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member might contain a download link for your eBook, access to file & music downloads, access to support services, etc. The possibilities with this are endless; so long as your digital product can be delivered through access to a WordPress Post/Page. You can also package multiple Posts/Pages together into one "Buy Now" transaction.

Supports Independent Custom Capabilities

In addition to selling a Membership that already comes with Custom Capabilities—with ClickBank Buttons you can also sell additional (Independent) Custom Capabilities to existing members of your site. Independent Custom Capabilities are added to a customer's account immediately after checkout, and the customer will have the Custom Capabilities for as long as their membership lasts.

Supports Pitch-Plus Upsell Flow Paths

s2Member supports PitchPlus Upsells—a ClickBank-specific feature. Both PitchPlus Basic and PitchPlus Advanced are supported. This feature works best when you enable Open Registration with s2Member. Have your customers register (free) before completing checkout. This way upsell choices can be associated with their account in real-time, preventing multiple transactional emails that may conflict with one another—depending on which options were chosen in the Upsell Flow path. Again, this works best when you apply an Upsell Flow to a customer that is already registered. See: s2Member → General Options → Open Registration. Or, use a Pro-Form to facilitate free registration.

Supports Custom Thank-You Page URLs

With ClickBank Buttons, you can use a custom Thank-You Page URL of your choosing whenever you create a Product at ClickBank. s2Member allows you to define a custom URL of your own (via &s2member_pro_clickbank_return_success=http://...), where you might create a Post/Page in WordPress that thanks a customer for their purchase, and provides additional details about how to proceed.

WordPress Roles/Capabilities/CCAPS

Seamless Integration with WordPress

s2Member integrates seamlessly with an existing WordPress® concept that facilitates varying degrees of permission across different portions of a site or service (including the backend of WordPress itself). So Roles/Capabilities are not something new that s2Member introduces, it simply works with and customizes an existing WordPress community concept.

For example, you may already know that site owners are normally WordPress Administrators. A WordPress "Administrator" being your Role on the site. This Administrator Role grants you the ability to do certain things, because it includes many different Capabilities (like edit_posts, install_plugins, etc). To learn more about Roles/Capabilities in the WordPress core, please see this article in the WP Codex.

s2Member Roles/Capabilities (Including bbPress/BuddyPress Support)

When you install s2Member it adds some additional Roles and Capabilities to a default installation of WordPress. s2Member also makes extensive use of an existing Role in WordPress, the Subscriber Role. s2Member uses the Subscriber Role to classify Free Subscribers (i.e. people with an account—but they've not paid you anything yet). Or, maybe they have paid you for something in the past, but they were since demoted back down to the Subscriber Role (so they no longer have Membership privileges; i.e., Capabilities).

Upon plugin activation (or reactivation), s2Member creates a new Role for each Membership Level that you offer, and each of these Membership Levels gains incremental access; i.e., a Member at Level 3 can also access Membership Levels 2, 1, and 0. This is a basic structure that works well for a lot of business models. For added flexibility, s2Member also makes it possible to sell CCAPS (Custom Capabilities); where Custom Capabilities can provide access to as much or as little as you like (Posts, Pages, Categories, Tags, URIs, parts of a Post/Page, and more)— and without incremental access associated with Membership Levels coming into play whatsoever.

Since s2Member also supports bbPress & BuddyPress, Members at any Level (including Free Subscribers) will be able to spectate and/or participate in bbPress/BuddyPress forums too. Of course, you can also limit this sort of access using one of s2Member's many Restriction Options.

s2Member Custom Capabilities (CCAPS)

Custom Capabilities are for added flexibility. The WordPress function current_user_can(), can be used to test for additional Custom Capabilities that you sell access to. Whenever a Member completes checkout, after having purchased a Membership from you (one that included Custom Capabilities), s2Member will add those Custom Capabilities to the account for that specific Member. You can watch this video to learn more about the power of Custom Capabilities.

Open Registration Option

Free/Open Registration (Enable/Disable)

s2Member can lock-down all registration forms provided by WordPress and many of the most popular plugins/themes for WordPress. In this way, only paying customers can get an account. Or, you can choose to allow Open Registration; making it possible to acquire Free Subscribers that might later become customers by completing checkout and upgrading their account to a paid status.

Free/Open Registration with Pro-Forms Requires s2Member Pro

s2Member Pro makes it possible to allow Open Registration using Pro-Forms of your choosing—even if you don't intend to use Pro-Forms or a payment gateway. Free Registration Pro-Forms can be used to acquire new users (regardless of your global Open Registration setting). They can also be used to configure a specific Membership Level, CCAPS, trial period, and more—specifically for Free Subscribers, and based on a specific Pro-Form instance. In this way, it is even possible to offer paid Membership Levels > 0 at no charge whatsoever, and maybe for a limited-time only.

Content can be protected through an easy-to-use meta box in your Post/Page Editing Station, through a global configuration provided by s2Member's Restriction Options, or by integrating [s2If /] (Simple Shortcode Conditionals) into your content. It's also possible to build themes/plugins around s2Member, where you can call upon the current_user_can() function in your PHP template files. Flexibility is here!

Alternative View Restrictions

Searches, Feeds, Comment Feeds, Custom Menus, Page Lists, and More!

s2Member protects Categories, Tags, Posts, Pages, Files, URIs & more. However, even with all of those security restrictions, it's still possible for protected content excerpts to be seen through Custom Menus, XML feeds, in search results generated by WordPress, and/or (depending on your theme), possibly in other Archive views; which might include: Posts by Author, Posts by Date, a list of featured items formulated by your theme, or even through other widgets/plugins adding functionality to your site. ~ We refer to all of these collectively, as "Alternative Views".

With s2Member's Alt. View Restrictions, you can tell s2Member to protect some (or all) of these "Alternative Views", by filtering WordPress database queries for you. s2Member can automatically hide protected content that is not available to the current user. In other words, s2Member is capable of pre-filtering all database queries, so that excerpts of protected content will not be allowed to slip through.

Brute-Force Login Protection

Preventing Brute-Force Attacks Before They Begin

As with any membership system, it is possible for someone to try and guess username/password combinations by attempting a Brute Force Attack; whereby multiple/repeated logins are strategically attempted with various username/password combinations until a correct guess is made. It is not likely that you'll be attacked in this way, but it's still a good idea to protect your system; just in case somebody tries this. s2Member thwarts this behavior by monitoring failed login attempts that occur within a short period of time. Whenever s2Member detects an IP address (i.e., a remote user) that is consistently failing to enter a valid username/password, a temporary ban is created; preventing additional attempts from taking place for 30 minutes (configurable). This temporary ban, will only affect the offending IP address.

Unique IP Restrictions

Tracking Users by Their IP Address (Location)

As with any membership system, it is possible for one member to signup, and then share their username with someone else; or even post it online for the whole world to see. This is known as link sharing (aka: username sharing). It is not likely that you'll be attacked in this way, but it's still a good idea to protect your system; just in case somebody tries this.

s2Member's Unique IP Restrictions work for Membership Level Access (account logins), Specific Post/Page Access, Registration Links, and other secure entry points. In all cases, the rules are simple. A single username, access link, and/or entry point; is only valid for a certain number of unique IP addresses. Once that limit is reached, s2Member assumes there has been a security breach. At that time, s2Member will place a temporary ban (preventing access) to a specific post/page, or to an account associated with a particular username. This temporary ban, will only affect the offending link and/or username associated with the security breach. You can fine-tune this behavior through configurable options.

Security Encryption Key

Guarding Against Open Source Peepers

Just like WordPress, s2Member is open-source software. Which is wonderful. However, this also makes it possible for anyone to grab a copy of the software, and try to learn their way around its security measures. In order to keep your installation of s2Member unique/secure, you should configure a Security Encryption Key. s2Member will use your Security Encryption Key to protect itself against hackers. It does this by encrypting all sensitive information with your key. A Security Encryption Key is unique to your installation.

Shortcode Conditionals

Quick Overview; Content Restriction + Simple Shortcode Conditionals

s2Member makes it very easy to protect entire Posts, Pages, Categories, Tags, URIs, etc. This can be accomplished from the WordPress Dashboard using one of s2Member's global Restriction Options. Or, from your Post/Page editing station in WordPress you will find a meta box where Restrictions can be applied. We consider all of this to be point-and-click functionality. Very easy!

What many site owners don't realize though, is that s2Member also makes it pretty easy to protect "parts" of a Post or Page. You can even get creative about what you display to certain users; based upon your own custom criteria. The [s2If /] Shortcode (Simple Shortcode Conditionals) are the key to accomplishing this.

In fact, to say that s2Member (i.e., the [s2If /] Shortcode) can merely protect "parts" of a Post or Page, is really an understatement. With s2Member's Simple Shortcode Conditionals, you can not only protect parts of your content, you can also deal with other kinds of conditions; making [s2If /] a vital part of a successful membership site.

Scenarios where [s2If /] (Simple Shortcode Conditionals) can Help!

Sometimes it's necessary to allow everyone to access to your content (i.e., everyone can land on a certain Post or Page and view it); but maybe you need to hide (protect) a certain part of that content. Or, maybe you need to display something different to non-members, or to members with a specific type of access. These represent the most common [s2If /] use cases.

Maybe you need to change the way something appears (or even what details are given), based on the current Post or Page, the current Post Type, what Tags it may have, what Category it's in, what Sidebar it's in, if it's Sticky or not, who authored the content, etc.

Maybe you want to display certain data, but only if a user has previously completed an action. Such as joining your mailing list, filling out a survey, visiting a certain Post or Page, filling in a value for a certain Profile Field, clicked a certain link, etc, etc.

In some cases, you might want to display something different, depending on the time of day it is; or depending upon how long an existing member has been paying you. This would be considered Content Dripping, and Simple Shortcode Conditionals can help with this too.

There are many situations like this. Obviously, s2Member can't possibly predict every possible scenario, in every possible business model. What we can do is provide the tools you need to make things like this easier to deal with. That's what the [s2If /] Shortcode is for.

File Download Restrictions

Basic Download Restrictions

By basic, we mean that you will let s2Member control access to any File Downloads that you make available. It's basic, because all you do is simply tell s2Member how many unique File Downloads are allowed within a given time-period, based on the Membership Level that a particular user has. For instance, you might make 100 ZIP files available, but you only allow Members at Level 1 to download a maximum of 10 unique files each day/week/month/year. Members at Level 2 might be allowed more, and so on.

Advanced Download Restrictions (w/ Download Keys)

By advanced, we mean that you take complete control over the availability of any File Downloads that you make available. s2Member makes it possible for you (as the site owner) to produce Download Keys (with help from the [s2File /] Shortcode), so that protected files can be served to anyone; where all Basic Download Restrictions are bypassed whenever you deem necessary. This makes it possible for you to sell access to File Downloads in creative ways; i.e. in whatever way you desire.

Protected File Download Storage (Local or Remote)

s2Member can protect File Downloads locally (/wp-content/plugins/s2member-files/*). Or, you can use s2Member's integration with Amazon S3 and/or Amazon Cloudfront; where protected File Downloads are stored remotely inside an Amazon S3 Bucket. The [s2File /] Shortcode can then generate digitally-signed URLs that lead to those files—using either Basic or Advanced methods.

Inline Delivery; Files are Not Always "Download Prompts"

s2Member has the ability to deliver File Downloads with a download prompt, or not. Without the download prompt, a file can actually be served Inline; i.e., within the browser. This is a popular technique for images, PDF files, and audio/video files. See also: Protected Audio/Video Streams for additional considerations when serving audio/video streams.

Protected Audio/Video Streams

Audio/Video Files through Amazon S3/Cloudfront/JW Player

s2Member has an optional integration with Amazon S3, Amazon Cloudfront, and with JW Player. All of these services can be integrated with s2Member. Once that is complete, you will then have an easy-to-use [s2Stream /] Shortcode (provided by s2Member). This allows you to serve protected audio/video streams through digitally-signed URLs. Please watch this video tutorial to learn more about the [s2Stream /] Shortcode that brings all of this together inside WordPress for you.

Seekable (Non-Downloadable) RTMP Audio/Video Streams

One of the great things about Amazon CloudFront, is its ability to stream/seek media files in the truest sense of the word. For sites delivering protected FLV, MP4, OGG, WEBM and other streaming audio/video file types over the RTMP protocol, Amazon CloudFront is our recommendation. Once you've successfully configured s2Member to use both Amazon S3 and Amazon CloudFront together, s2Member will automatically serve your protected files over the RTMP protocol using an Amazon CloudFront Streaming Distribution—configured automatically by s2Member.

Audio/video files streamed over the RTMP protocol can be viewed, but never downloaded. This is critical for some sites. If your entire business model is based on the delivery of audio or video, RTMP can work to prevent users from gaining access to your media and then illegally redistributing it without your permission. Please note the following limitation: RTMP streams are currently not compatible with mobile devices. The [s2Stream /] Shortcode can be configured to provide an MP4 fallback if you like. If videos should be viewable on mobile devices, an MP4 fallback is necessary.

Manual Account Creation

You can accept offline payments (e.g., check by mail, funds collected in cash, by phone, etc). Customer accounts can be created from your WordPress Dashboard to fulfill orders, or through s2Member's Pro Remote Operations API. With PayPal Pro, Stripe, or Authorize.Net, you will also acquire a Virtual Terminal where you can process credit cards manually by logging into your merchant account.

Custom Registration/Profile Fields

What are Custom Registration/Profile Fields?

By default, s2Member only collects details from a user that are absolutely required to process a registration and/or transaction; e.g., email address, name, username, password, credit card, billing address, etc. If there are other fields that you'd like to introduce; either as part of the registration process, or as part of the user's profile at your site; Custom Registration/Profile Fields are an easy way to accomplish this. Custom Registration/Profile Fields are compatible with the built-in WordPress registration form, with s2Member Pro-Forms, and even with BuddyPress registration forms. See: WordPress Dashboard→s2Member→General Options→Custom Registration/Profile Fields for more information.

Supported Custom Registration/Profile Field Types

Text entry, multiline text entry, select menus that require a specific option, select menus that allow for multiple options, a single checkbox, multiple checkboxes, and multiple radio buttons. You can configure which Membership Levels they apply to, whether they are required, if they will be shown during checkout or only in a profile, if they should be for internal use only, if they begin a new section in the form, specific field validation patterns, styles, classes, and other HTML attributes of your choosing.

Tip: If you integrate with PayPal Pro, Stripe, or Authorize.Net (i.e., with s2Member Pro-Forms), it is also possible to create custom Pro-Form templates, where you can edit the underlying PHP files and get even more creative in your presentation. For instance, you might decide to build additional fields into your Pro-Form template file, and process those in custom ways.

Custom Login/Registration Design

Styling the Default WordPress Login/Registration System

s2Member Pro provides a Pro Login Widget that integrates with a WordPress theme of your choosing, and Pro-Forms can be used for registration. However, the default WordPress login/registration system (/wp-login.php, /wp-login.php?action=register) can also be customized with s2Member (optional). You can set a font family, font size, background color, background image properties, text/shadow colors, a logo image, the click URL for your logo image, the title attribute for your logo image, and a custom footer design that supports raw HTML and even PHP code.

Customizable Email Templates

Customization of Email Messages Sent by s2Member

s2Member makes it easy to build custom email messages that are sent in response to a customer completing checkout. You can customize the subject, body, and even the list of recipients. Replacement Codes are provided for added flexibility. For instance, you can insert the customer's name, email address, transaction/subscription ID, the amount charged, currency code, item number, item description, recurring rate, recurring term/cycle, initial/recurring amounts, coupon code, coupon affiliate ID, and any custom field values. Emails configured with s2Member also support the use of PHP and WordPress Template Tags; making it possible for advanced users to incorporate custom functionality if desirable.

Which Transactional Emails Can I Customize?

Signup Confirmation Email: sent in response to a customer completing checkout. This covers a wide variety of purchase options. This is the most important email to customize; as it is used by nearly every installation of s2Member.

Modification Confirmation Email: sent in response to a customer upgrade/downgrade.

Capability Confirmation Email: sent in response to a customer completing checkout for Custom Capabilities.

Specific Post/Page Confirmation Email: sent in response to a customer completing checkout for a Specific Post/Page.

Transactional Emails can be customized inside the s2Member Options for each payment gateway. For example, the transactional email templates for PayPal can be found in WordPress Dashboard→s2Member→PayPal Options.

Customization of New User Notifications

s2Member also makes it possible to customize the default New User Notifications that are processed by the WordPress core. There are two of these. One is sent to the user, and another is sent to the site owner. Replacement Codes are provided by s2Member for these email templates too. You can enable or disable this functionality, but the ability to customize these additional emails is a nice touch!

The New User Notification templates can be found in WordPress Dashboard→s2Member→General Options→Email Configuration.

Custom Login Welcome Page

What Exactly is the Login Welcome Page?

A Login Welcome Page (in the context of s2Member), is a Page you create in WordPress (like any other Page). Then you designate it as your Login Welcome Page when configuring s2Member. This can be configured (or reconfigured) under s2Member → General Options → Login Welcome Page. It's the page where a user/member (anyone who can log into your site) is redirected to upon logging in.

Most Common Use of the Login Welcome Page

Often times, the Login Welcome Page that you configure with s2Member will serve as a customer's "My Account" page, or something similar. Most site owners will use this page to introduce links to important areas of their site, so that users can gain access to whatever it is you've sold them. This makes it easy for a customer to find what they've purchased, and to locate information associated with their account.

Some site owners will also insert the [s2Member-Profile /] Shortcode into this page. Or, they might choose to insert a link that takes a user to a separate page which contains the [s2Member-Profile /] Shortcode. The [s2Member-Profile /] Shortcode produces a Profile Editing Form. Users can update their profile on your site (i.e., name, email address, any custom fields you've configured, etc). You can learn more about this Shortcode here. See: WordPress Dashboard→s2Member→General Options→Profile Modifications

A Unique Login Welcome Page for Every User?

Obviously, not every customer will have access to the same content or services you offer. Maybe you've restricted content with s2Member in different ways, at different Membership Levels, or with different Custom Capability packages. If someone logs into your site as a Free Subscriber, you might want to show a Free Subscriber something different than you show a Member at Level 1. If you always display links to content that requires Membership Level 1, but it's a Free Subscriber who logs in; those links may not work for them. So let's not show those links to a Free Subscriber.

To accomplish this, site owners will typically use [s2If /] (Simple Shortcode Conditionals) in their Login Welcome Page (provided by s2Member). In this way, you can tailor the content/links displayed on the Login Welcome Page to specific users (e.g., Free Subscribers, Members at Level 1, Members at Level 2, Members with a particular Custom Capability, with a particular username, etc). You can learn more about Simple Shortcode Conditionals here: WordPress Dashboard→s2Member→API / Scripting→Simple/Shortcode Conditionals

Custom Membership Options Page

What is a Membership Options Page?

A Membership Options Page (in the context of s2Member), is a Page you create in WordPress (like any other Page). Then you designate it as your Membership Options Page when configuring s2Member. This can be configured (or reconfigured) under s2Member → General Options → Membership Options Page. This page (always publicly available) serves two extremely useful purposes.

It establishes a URL that s2Member will use whenever it automatically redirects a user who attempts to access content that you've restricted in some way. For instance, if a user is unable to access content, because they've not yet purchased access to it. Or, perhaps their current status as a paying customer does not provide them adequate permissions to access something in particular; e.g., content that requires a specific Custom Capability or Membership Level. Since users are often redirected to this page for various reasons, many site owners will add s2Member's [s2MOP /] Shortcode to this page, which adds some additional (optional) functionality. For instance, it can help you display messages detailing the precise reason they were redirected to your Membership Options Page.

Now, because this page is where s2Member redirects users without access, the Membership Options Page is also a popular place to insert (you guessed it) Membership Options. If your theme provides you with the ability to generate pricing tables, this is a great place to make use of that—combining those with one or more Payment Buttons or Pro-Forms provided by s2Member. You don't have to do this however. Some site owners prefer to create a separate page of their own, where they might have a "Prices" tab that lists all of the available purchase options.

Member Profile Modifications

Can Users Update their Own Profile?

Yes. The [s2Member-Profile /] Shortcode makes it easy for users to edit/update their profile upon logging into your site. See: WordPress Dashboard→s2Member→General Options→Profile Modifications for additional details and other options. Users can update their name, email address, password, and any custom fields that you've configured at Membership Levels that apply to a given user.

Can Administrators Update User Profiles?

Absolutely. Users can be edited/updated in various ways from your WordPress Dashboard at any time you like. See: WordPress Dashboard→Users. Find (or search for) a specific user and click [Edit] to access their WordPress profile, along with all of the editable fields provided by s2Member.

Mailing List Integrations

Pre-integrated List Servers (Mailing List Services)

s2Member comes with the following list server integrations that are all ready-to-go.

MailChimp® This service makes it easy to send email newsletters to your customers, manage your subscriber lists, and track campaign performance. With s2Member, you can have your WordPress users/members automatically subscribed to your MailChimp marketing lists (i.e., newsletters / auto-responders). Although s2Member can be integrated with almost any list server, we highly recommend MailChimp, because of their powerful API, pricing, and flexibility. In future versions of s2Member Pro we plan to build additional features into s2Member that will work with and extend our current MailChimp integration in creative ways. If you're on-the-fence, MailChimp comes highly recommended!

AWeber™ If you're looking to get your first email campaign off the ground, or you're a seasoned veteran who wants to dig into advanced tools like detailed email web analytics, activity based segmentation, geo-targeting and broadcast split-testing, AWeber's got just what you need to make email marketing work for you. With s2Member, you can have your WordPress users/members automatically subscribed to your AWeber marketing lists (i.e., newsletters / auto-responders).

GetResponse™Requires s2Member Pro This is a complete email marketing solution. It provides turnkey newsletter publishing and hosting features, as well as unlimited autoresponders to deliver information to your subscribers and convert them to paying customers. With s2Member, you can have your WordPress users/members automatically subscribed to your GetResponse marketing lists.

Features Supported by All List Server Integrations

Custom Merge Fields; the ability to configure custom merge fields using the instructions in this article.

Automatic Profile Sync; whenever an existing subscriber updates their profile using the [s2Member-Profile /] shortcode or popup alternative, the user's email address, name, IP address, along with any custom merge fields are updated on the list server to match.

Automatic List Transitioning. If a customer's Role is changed in WordPress they can be moved automatically to a different mailing list.

Additional Features Supported by MailChimp Integration

MailChimp Interest Groups can be assigned to each Membership Level, making it possible to use one list for all members, but then build segments that identify Members at various Levels in WordPress.

Integrating Another Mailing List Service of your Choosing

s2Member's event-driven API Notifications (via email, or through HTTP communication behind-the-scenes), make it possible for all sorts of 3rd-party service integrations. If you have a developer to assist you, please take a look at: WordPress Dashboard→s2Member→API / Notifications. Here you will find additional details and options intended for advanced site owners.

Affiliate Program Integrations

Recommended Affiliate Management Platforms

s2Member recommends the following affiliate applications/services.

iDevAffiliate™... This affiliate management platform installs in just minutes, and it can be integrated seamlessly with s2Member. We recommend iDevAffiliate (Standard Edition is fine) because of its proven track record, and for its ability to integrate with s2Member using a variety of techniques; including hidden image tags and cURL (HTTP communication) that occurs silently behind-the-scenes—powered by s2Member's event-driven API Notifications. iDevAffiliate also integrates well with Affiliate Coupon Code support in s2Member Pro.

ShareASale™... This is a hosted platform that can be easier for some to work with. There is no software to install, and no software requirements. ShareASale provides merchants with a secure interface where affiliates can be managed and where promotional campaigns can be created. ShareASale (like so many others) integrates well with s2Member also.

Integrating Another Affiliate Platform of your Choosing

s2Member's event-driven API Notifications (via email, or through HTTP communication behind-the-scenes), make it possible for all sorts of 3rd-party service integrations. If you have a developer to assist you, please take a look at: WordPress Dashboard→s2Member→API / Notifications. Here you will find additional details and options intended for advanced site owners.

bbPress/BuddyPress Integrations

Forum Software w/ a Twist; from the Creators of WordPress

The bbPress™ plugin (forums/topics/replies) integrates seamlessly with WordPress and s2Member. If bbPress was already installed when you activated s2Member, your s2Member Roles/Capabilities are already configured to work in harmony with bbPress. If you didn't, you can simply click the "Update Roles/Capabilities" button; see: WordPress Dashboard→s2Member→Other Integrations→bbPress. That's all it takes. Once your Roles/Capabilities are updated, s2Member and bbPress are fully integrated with each other.

Social Networking Software; from the Creators of WordPress

The BuddyPress™ plugin (for social networking functionality) integrates seamlessly with WordPress and s2Member. BuddyPress is a powerful plugin that takes your WordPress-powered site beyond the blog with social-network features like user profiles, activity streams, user groups, and more. BuddyPress comes with several components that integrate directly with your site, with each other, and even with other plugins (like s2Member).

Compatible w/ Caching Plugins

Comet Cache™, WP Super Cache, W3 Total Cache, and Others

s2Member has been thoroughly tested against all of the most popular caching plugins for WordPress. These include, but are not limited to: Comet Cache™, WP Super Cache, W3 Total Cache, and WP Rocket. When dynamic content is processed by s2Member, all of the appropriate runtime constants are defined by s2Member; i.e., the flags needed to keep it fully compatible with caching plugins for WordPress.

Comet Cache™ Developed by the Creators of s2Member Pro

If you definitely want to use a caching plugin for WordPress, but you're not sure which would be the best, go with Comet Cache™. It's super easy to install, highly effective, and it was developed by the creators of s2Member; i.e., it works in complete and total harmony with all s2Member features—without any additional configuration needed whatsoever.

Tip: Comet Cache has a unique ability to cache logged-in users too, which is highly effective whenever it runs alongside the s2Member Pro application; keeping WordPress fast even when a user is logged in as a member. Very impressive!

Avoid Object Caching Plugins Warning

Page caching is highly recommended. Object caching—not so much. In particular, the W3 Total Cache plugin is known to cause problems with the WordPress Transient API whenever Object Caching is enabled. If you choose to install W3 Total Cache and run this alongside s2Member, that's fine! Just remember NOT to enable the Object Cache; i.e., leave that part off please.

Security Badge/Certificate

We Take Security Seriously ~ and We're Proud of It!

An s2Member® Security Badge (optional), can be used to express your site's concern for security; demonstrating to all users/members that your site (and the s2Member® software) takes security seriously.

To qualify your site, you will need to enable s2Member's Security Badge Status API, and then generate a Security Encryption Key in your Dashboard—with s2Member installed as an active plugin. Also, there are a few additional requirements. Some of the requirements pertain to WordPress security in general, and some of the requirements are s2Member-specific. What we want to see is that you've made an effort to tighten security on your installation of WordPress by following guidelines presented by s2Member. Your site and your users will be safer as a result.

Event-Driven API/Notifications

API Notifications / Webhooks Advanced

If you use affiliate software, or have back-office routines that need to be notified whenever a registration occurs, when payment transactions (including recurring payments) take place; or when cancellations, refunds, chargebacks occur; s2Member's event-driven API Notifications can be used. s2Member's API Notifications will send data to Webhooks that you build (or that come with services you're integrating). Webhooks allow you to build or set up integrations that subscribe to certain events that occur in s2Member. When one of those events is triggered, s2Member will send an HTTP payload to any number of Webhook URLs that you've configured. For example, Webhooks can be used to update a sales chart, stats regarding user signups, or other custom post-processing routines that might exist outside of WordPress.

API Functions/Constants

Building a Theme or Plugin that Works Together with s2Member Advanced

s2Member's API Functions are for developers (or advanced site owners) to use in projects of their own. These make it easy to integrate s2Member with themes and other plugins. Everything from permissions, to details about each user, and even a few utility methods.

We recommend using s2Member's API Functions, API Constants, or Hooks/Filters (over 1000 spread throughout all of s2Member's codebase) to complete an advanced integration. Note... please try to refrain from using other internal classes/methods/constants whenever possible; as those are subject to change from one release to the next. Conversely, the availability of API Functions, API Constants, and Hooks/Filters will remain from one version to another. Only in rare circumstances would we ever remove one of these key elements. If we do, backward compatibility would always remain when the previous version is deprecated for whatever reason.

Other Useful Functions in the WordPress Core Advanced

WordPress Hooks/Filters

Hacking s2Member® Via Hooks/Filters Advanced

If you need to add custom processing routines, or modify the default behavior of existing processing routines; please use an s2Member Hook or Filter for WordPress. Hooks & Filters give you the ability to "hook into", and/or "filter" processing routines with files/functions of your own—instead of editing the s2Member plugin files directly. This way you won't need to merge your tweaks each time a new version of s2Member is released.

What Hooks/Filters are Available?

There are more than 1000 Hooks/Filters spread throughout s2Member's codebase. While we work to document each of these, you can search our Knowledge Base for tips/tricks. Also, you can search the s2Member source code for do_action and/or apply_filters. This can also be very helpful. In fact, before you integrate with any s2Member Hook/Filter, it is suggested that you first see how it's used in the source code; i.e., to gain the insight that is needed for a reliable customization.

Optimized Codebase

Highly Organized Codebase w/ SPL Class Autoloading

s2Member has quite a large codebase with a lot of powerful features and flexibility. With so much to maintain (and more importantly), with so many files to be loaded into WordPress; it becomes extremely important for the application to be optimized in every way possible.

One of the most important things that the s2Member codebase deals with is OOP design combined with PHP Autoloading. Unlike many other themes/plugins for WordPress, s2Member makes extensive use of SPL Autoloading functionality in recent versions of PHP. In this way, the only parts of s2Member that are loaded at runtime, are those which are required to perform a specific action that is being requested of s2Member.

In short, only a small handful of s2Member's codebase is actually loaded at any given time. This reduces s2Member's footprint down to a bare minimum. Many sites running the s2Member Pro software can do so with just 32M of RAM. That covers WordPress, s2Member, a custom theme, and many other plugins too. Having said that, it is suggested that you dedicate at least 64MB of RAM to your installation of WordPress—just to give it plenty to work with. See this article if you'd like to learn more.

Access to Source Code

I Gain Access to ALL of the Source Code? ~ Even the Pro Version?

That's right! We are firmly against locking the source code of any application. Like WordPress itself, both s2Member and s2Member Pro are released under a GPL license. You are free to modify and adapt these applications to meet your needs, or the needs of your clients. The source code for the s2Member Framework (i.e., the free version) is publicly available at WordPress.org and at GitHub.

When you purchase s2Member Pro, you get the source code for that also. ~ Hooray!

One-Step Registration/Checkout

Choosing a Payment Gateway that Supports s2Member Pro-Forms

PayPal Buttons in the free version of s2Member are great, but registration comes after checkout—it's a multistep process. With s2Member Pro you can integrate with PayPal Pro, Stripe, or Authorize.Net and take full advantage of s2Member Pro-Forms. Pro-Forms consolidate registration/checkout into a single step that occurs always on your site. It's quicker, easier, and better-er-er.

Unlimited Paid Membership Levels

Four Membership Levels Not Enough?

The s2Member Framework (the free version) is limited to a maximum of 4 paid Membership Levels. With s2Member Pro you can create and label an unlimited number of Membership Levels. Of course, you can also use Custom Capabilities for added flexibility—where Custom Capabilities are not associated with any incremental access like WordPress Membership Levels are.

Powerful Pro-Form Shortcodes

Quick Overview (Pro Forms vs. Buttons)

s2Member Pro comes with "Pro-Forms"—shortcodes that generate Registration/Checkout Forms, and other kinds of forms too. In contrast, the free version of s2Member does not come with Pro-Forms. In the free version of s2Member you have "Payment Buttons" only. Payment Buttons lead visitors away from your site to complete checkout at your payment gateway, whereas Pro-Forms keep visitors on your site at all times, and you will have full support for on-site credit card processing.

There are Pro-Forms for Free Registration, Paid Checkout, Billing Updates (e.g., for a customer to update the credit card they have on-file), Billing Modifications (e.g., altering an existing membership plan—upgrade or downgrade), and Cancellation Pro-Forms too.

Why Should I Use Pro-Forms Instead of Buttons?

Increased conversion rates! Not all customers like PayPal. Also, with s2Member Pro you're keeping customers on your site throughout the entire checkout process. You can control the surrounding elements on the page, the flow of events, and do a better job at building confidence in your products/services. Pro-Forms can dramatically increase sales! Best of all, they're super easy to integrate thanks to s2Member Pro Shortcodes. If that's not enough, Pro-Forms also allow you to configure Custom Tax Rates, Coupon Codes, and even to sell Gift/Redemption Codes. These advanced features are only possible with s2Member Pro-Forms.

Choosing a Payment Gateway that Supports s2Member Pro-Forms

Pro-Forms work with PayPal Pro, Stripe, or Authorize.Net. You'll want to select one of those payment gateways if you intend to take full advantage of s2Member Pro-Forms. It's quicker, easier, and better-er-er.

Free Registration Pro-Forms

Free/Open Registration (Enable/Disable)

s2Member can lock-down all registration forms provided by WordPress and many of the most popular plugins/themes for WordPress. In this way, only paying customers can get an account. Or, you can choose to allow Open Registration; making it possible to acquire Free Subscribers that might later become customers by completing checkout and upgrading their account to a paid status.

Free/Open Registration with Pro-Forms Requires s2Member Pro

s2Member Pro makes it possible to allow Open Registration using Pro-Forms of your choosing—even if you don't intend to use Pro-Forms or a payment gateway. Free Registration Pro-Forms can be used to acquire new users (regardless of your global Open Registration setting). They can also be used to configure a specific Membership Level, CCAPS, trial period, and more—specifically for Free Subscribers, and based on a specific Pro-Form instance. In this way, it is even possible to offer paid Membership Levels > 0 at no charge whatsoever, and maybe for a limited-time only.

Anti-spam Security Measures

Taking Measures to Prevent Spam Bots from Registering

If you plan to allow Open Registration, this is extremely important. Spam bots surf the Internet every minute of every day—just looking for ways to create free accounts and/or spoof their identity. If you open your site to Free Registration (of any sort), you can expect to find lots of this; unless you are wise & take the proper precautions.

s2Member Pro-Forms come pre-integrated with Google's reCAPTCHA service. For Free Registration Pro-Forms, this is enabled by default. reCAPTCHA is a free service to protect your website from spam and abuse. reCAPTCHA uses an advanced risk analysis engine and adaptive CAPTCHAs to keep automated software from engaging in abusive activities on your site. It does this while letting your valid users pass through with ease.

Simultaneous Login Monitoring

Prevent Customers from Sharing their Username

As with any membership system, it is possible for one member to signup, and then share their username with someone else; or even post it online for the whole world to see. This is known as username sharing. It is not likely that you'll be attacked in this way, but it's not a bad idea to protect your system; just in case somebody tries this.

s2Member's Simultaneous Login Monitoring will help you prevent a security breach. The rules are simple. A single username can only have X number of simultaneous logins (configurable). Once that limit is reached, s2Member assumes there has been a security breach. At that time, s2Member will place a temporary ban (preventing access) and the offending username will be unable to login until somebody else (who is already logged into the account) has logged-out; clearing the way for someone new.

Content Dripping Shortcodes

What is Content Dripping Exactly?

Content Dripping is the gradual, pre-scheduled release of premium website content to paying members. This has become increasingly popular, because it allows older members; those who have paid you more, due to recurring charges; to acquire access to more content progressively, based on their original paid registration time. It also gives you (as the site owner), the ability to launch multiple membership site portals, operating on autopilot, without any direct day-to-day involvement in a content release process.

Using [s2Drip /] Shortcodes to your Advantage

The [s2Drip][/s2Drip] Shortcode tags are inserted into a Post/Page using the WordPress editor. Inside the shortcode tags you place content that should only be visible to paying members who are at a certain Membership Level (or higher); and have been at this Membership Level (or higher) for at least X number of days. It is also possible to hide this content after X number of days; i.e. to drip content for a specific number of days and then automatically stop the drip too.

Import/Export Tools

Import/Export Users, Members, Metadata, and Plugin Options

s2Member Pro comes with two sets of import/export tools. Both of these use structured CSV file formats.

s2Member's Simple Import/Export Tools are designed for novice site owners. These are easiest to work with, but have a few limitations in terms of what you actually import/export. i.e., not all data can be imported/exported—just the basics.

s2Member's Advanced Import/Export Tools can import/export much more information. You will have the ability to import/export Users, Members, all User Metadata, and even your s2Member plugin options. It is even possible to import mass updates to existing users in order to make sweeping changes quickly.

Coming from Another Membership Platform?

s2Member's Advanced Import/Export Tools, coupled with s2Member's Auto-EOT System can save the day! You can import all of your existing customers and provide them with access to your new site and services. In addition, if you import them with an EOT (End-Of-Term) Time, you can preconfigure the EOT for their account; based on their status in your previous membership platform.

Please note the following limitation: s2Member's import tools do not attempt to connect with any transactions, IPNs, or recurring billing profiles established by your previous membership platform. So while members can be imported, and even associated with prior transaction IDs, subscription IDs, an EOT, and more; it is non-trivial to arrange for any direct connection to your previous transactions and/or recurring billing profiles. This is where setting an Auto-EOT Time for each customer when you import them can help. If you can calculate when their access should expire, you can establish that from the start with s2Member, and then move forward from there—acquiring new customers that are connected to s2Member in many ways.

Will old billing profiles continue? This depends on what your previous membership platform was exactly, and on how it established and maintained recurring billing profiles for you. In the case of s2Member Pro, all recurring billing profiles are stored on the payment gateway side for best security, and for portability! Therefore, if you move from s2Member to another membership platform, recurring billing for any memberships that you sold with s2Member will continue uninterrupted. If your previous membership platform did the same, you should be fine.

Import/Export s2Member Plugin Options?

This can be a huge time-saver. s2Member is a comprehensive membership platform. Therefore, there are many configurable options. If you purchase an s2Member Pro Unlimited-Site License, you can run s2Member Pro on multiple sites. In this scenario, you could simply configure one instance of s2Member, export your configuration, and then import those config. options into your next site.

Pro Login Widget/Summary

Drag n' Drop Login Widget Integrates w/ s2Member Functionality

The s2Member Pro Login Widget can be popped into place using the WordPress Widget system; compatible with most themes for WordPress. The Pro Login Widget is highly customizable. It serves two extremely useful purposes in WordPress.

It provides users with a way to log in to your site. Upon logging in they are redirected to a location of your choosing; e.g., to a specific Post/Page, to a specific URL, to the URL they were on when they logged-in, to the URL they were on previously, or to your Login Welcome Page for s2Member (default behavior). The Pro Login Widget works together with the WordPress core login handler (/wp-login.php); making it compatible with most WordPress themes/plugins. Including, but not limited to: bbPress and BuddyPress.

When the widget is displayed to a logged-in user, it displays a brief profile summary alongside the user's avatar. Using the configurable options in the s2Member Pro Login Widget, combined with the [s2Member-Profile /] Shortcode, you can lead users back to a page where they can edit their profile at your site.

Tip: The s2Member Pro Login Widget can also be integrated into a theme/plugin file with the PHP Template Tag: s2member_pro_login_widget(). This Template Tag also accepts an array of configurable options that correlate with those provided by the Widget itself in your WordPress Dashboard. For further details, see: WordPress Dashboard→Appearance→Widgets→s2Member Pro Login Widget

Coupon Code Configurations

Using Coupon Codes to Attract a Higher Sales Volume

With PayPal Pro, Stripe, and Authorize.Net (i.e., with any of these payment gateways that work with s2Member Pro-Forms), you can build a configurable list of Coupon Codes that provide a flat-rate discount. Or, a percentage-based discount; up to and including 100% of the transaction amount (i.e., a 100% free checkout experience is possible).

Coupons can be limited in scope too. Such as limiting the discount to the first/initial payment only, or to regular recurring payments only. It's also possible to limit Coupon Codes to specific Pro-Form instances, to specific customers, to specific dates, and even put a limit on the maximum number of times that a specific Coupon Code can be used collectively. It's also possible to integrate s2Member's Coupon Code functionality with affiliate platforms. Affiliates can be identified through promotions that use affiliate-specific Coupon Codes, which your Pro-Forms will graciously accept.

Tracking the Use of Promotional Coupon Codes

s2Member Pro tracks the total number of times that each Coupon Code is used. This information is displayed alongside each Coupon Code in your WordPress Dashboard. s2Member Pro also records each Coupon Code that a customer uses, attaching this information to their account record within WordPress. This is nice for many reasons, but it also makes it possible for the data to be exported, and then analyzed carefully before you start your next set of promotions.

Gift/Redemption Codes

With PayPal Pro, Stripe, and Authorize.Net (i.e., with any of these payment gateways that work with s2Member Pro-Forms), you can sell access to auto-generated Gift/Redemption Codes (using the Shortcode: [s2Member-Gift-Codes /]). This makes it possible for you to sell Gift Certificates (aka: Gift Codes). Or, you can sell one customer access to an account that includes a list of Redemption Codes that they can share with others on their team or in their group. Gift/Redemption Codes can provide a flat-rate discount. Or, a percentage-based discount; up to and including 100% of the transaction amount. You can watch this video to learn more.

Public Members List

Building a Custom Member Directory

s2Member Pro makes light of this. You can use the [s2Member-List /] Shortcode (with many configurable shortcode attributes) to construct a paginated (or non-paginated) list of users at various Membership Levels. Or, with specific Custom Capabilities. You can also limit the list to only those users who match search criteria defined by the configuration of this shortcode. The list can include each user's avatar, along with any additional database fields in the wp_users table, and even custom fields that you've generated with s2Member.

Most Popular Use Cases for [s2Member-List /]

If you want to build a mini social network; i.e., without the overhead of BuddyPress/bbPress; the [s2Member-List /] Shortcode can help make this easier. It can be used to expose community members to each other in various ways. For instance, it might be used to show a list of members that have a certain status on your site; e.g., over achievers, gold members, or members with a specific Custom Capability. Many sites using the [s2Member-List /] Shortcode will actually sell this sort of exposure; i.e., where a certain Membership Level (or Custom Capability) is designed to draw attention to them in some way. Building a members list can add value to your offering.

Making your Members List Searchable w/ [s2Member-List-Search-Box /]

In some cases it is nice to expose all users, and then make it searchable. This functionality is disabled by default, but it can be enabled by adding the enable_list_search="yes" attribute to your [s2Member-List /] Shortcode. Then you can add another shortcode that introduces the actual search box: [s2Member-List-Search-Box /]

Shortcode Extras

Overview of WordPress Shortcodes Provided by s2Member

Throughout s2Member, there are several WordPress Shortcodes exposed. These allow you to integrate small bits of functionality into a WordPress theme of your choosing. s2Member's Shortcodes are an easy way to add additional membership-specific features and functionality to an existing WordPress theme. Because, while they do come with a few default structural styles, they automatically inherit styles/colors provided by your theme—making integration much more seamless.

Shortcode Enhancements (New Shortcode Attributes)

When you have s2Member Pro, many of the shortcodes that come with the s2Member Framework (i.e., the free version) will support new attributes. For example, with s2Member Pro you'll be able to use the success="" attribute in PayPal Standard Buttons (i.e., a custom thank-you page). There is a php="" attribute that is added to the [s2If /] Shortcode (making it possible to incorporate more advanced conditional routines with [s2If /]). Also, the [s2Stream /] Shortcode will support multiple player resolutions when you have s2Member Pro installed.

Multisite Network Support

Most sites running s2Member use a standard WordPress installation. However, WordPress also supports another flavor of itself (requires advanced config. changes), and this is referred to as a Multisite Network. A Multisite Network allows you to run multiple blogs/sites under a single set of WordPress installation files, and with a single database. s2Member has been thoroughly tested with both Standard and Multisite Network installations of WordPress. Multisite Network Support always requires an Unlimited-Site License—no exceptions.

Running Multiple Instances of s2Member in a Network Advanced

This always requires an Unlimited-Site License, because a Single-Site License of s2Member Pro supports only a single instance of WordPress (i.e., one instance of s2Member only). If you purchase an Unlimited-Site License, s2Member Pro can be activated Network-wide, making it possible for you to have multiple child blogs (aka: sub-sites); each with their own user base and membership offering.

Sharing Users/Members Across Multiple Child Sites in a Network

s2Member was designed to support a separate user base for each child blog/site in a Multisite Network. However, the underlying wp_users table in WordPress is shared between all child sites in a network, and there is nothing to prevent the use of current_user_can_for_blog()—a PHP function provided by the WordPress core to check permissions across blogs. So while the ability to share users across multiple child blogs is not officially supported by s2Member, there are many cases where advanced site owners have found ways to accomplish this effectively.

Customizable Pro-Form Templates

100% Optional; Pro-Forms Integrate w/ WordPress Shortcodes

Customizing Pro-Form template files is usually NOT necessary, because Pro-Forms inherit styles introduced by a WordPress theme of your choosing. Pro-Forms come fully functional. They work as-is in most WordPress themes. If you need to tweak their appearance, most site owners accomplish this through custom CSS alone. Again, modification of Pro-Form templates is not necessary in most cases.

Customizable PHP Template Files for All Pro-Forms Advanced

With the above in mind, if you'd like to create custom Pro-Form templates, please check your /s2member-pro/includes/templates/forms/ directory. You can take s2Member's default Pro-Form templates, and place some (or all of them) into your own WordPress theme directory. By placing custom templates into your active WordPress theme directory, you can be sure they won't get overwritten in a future upgrade of s2Member. s2Member will automatically detect the presence of your custom template files, using those instead of its default templates.

Tip: Custom template files can also be placed inside of your /wp-content/ directory. s2Member will find them there also.

Remote Operations API

Remote Communication w/ s2Member Pro Advanced

With s2Member Pro installed, you have access to the s2Member Pro API for Remote Operations. This is made available for developers that wish to create user/member accounts dynamically through custom scripts of their own. s2Member's Remote Operations API requires a secret API Key in order to POST authenticated requests to your installation of s2Member. To acquire your API Key, with s2Member Pro installed see: WordPress Dashboard→s2Member Pro→API / Scripting→Remote Operations API

What Actions Can I Perform Remotely?

auth_check_user This action allows you to authenticate username/password combinations from remote locations. For instance, you might have other software applications that you need to integrate with s2Member Pro in creative ways. This makes it possible for developers to build SSO (Single Sign-On) integrations with other 3rd-party applications.

get_user This allows you to obtain details about a user's account in WordPress; by user ID, by email, or by username.

create_user This allows you to create users from remote locations, or through custom scripts that you develop on your own. This action supports the ability to set the payment gateway, a transaction/subscription ID, the user's IP address, Membership Level, Custom Capabilities, custom fields, and more. We are often asked if s2Member can be integrated with another unsupported payment gateway. This is how you might accomplish that with help from a developer.

modify_user This allows you to modify an existing user account. You can change the email address, Membership Level, Custom Capabilities, any custom fields, and more. Again, if you integrate an unsupported payment gateway, this can be extremely useful.

Framework

Pro Version

Pro Version

First - AWESOME feature updates to Pro. I've tried MagicMembers, WishList Member, AMember Pro, MemberwingX and hands down S2Member is the best... The UI is extremely friendly, super easy to set up - just all around a really well designed system. Bravo!

Lifetime Access to Updates + 12 Months of Support

When you purchase s2Member Pro, you receive lifetime software updates and one year of support. After one year, you may continue to use s2Member Pro for as long as you wish, and you will always have access to the latest version of the software. However, if you need ongoing support, a small renewal fee is required. Please check your "My Account" page for details.

Note: You may choose to renew, or not. Renewals do not occur automatically. If you do choose to renew (i.e., you need ongoing access to support) the rate is just $19 for a Single-Site license, and $29 for the Unlimited-Site license.

Single-Site vs. Unlimited-Site License

Single-Site License: This provides support for one instance of s2Member® Pro. Perfect for site owners with one domain name. Loaded with all Pro features at an affordable rate. It's a popular choice for many.

Multisite Networks: Please note that if you run a WordPress® Multisite Network with s2Member Pro active on multiple (i.e., more than one) child blog or sub-site within your Network (regardless of whether you use sub-domains or sub-directories), this will always require our Unlimited-Site License. This is because s2Member Pro runs as a separate instance on each child blog or sub-site in the Network. To clarify, a Single-Site License does NOT provide support for multiple child blogs or sub-sites, even if they do run within a single Multisite Network installation of WordPress®. A Single-Site License is valid for one instance only.

Unlimited-Site License: This provides support for an unlimited number of s2Member® Pro instances. Perfect for site owners with multiple domain names, and/or those who operate a WordPress® Multisite Network installation. Each of your s2Member Pro instances must be installed/activated on domains that you own & operate; e.g., you cannot buy an Unlimited-Site License and use it on client sites that you do not own.

If you're a developer: Your clients will need to purchase their own Single-Site and/or Unlimited-Site License. We don't support s2Member® Pro instances on domains that you do not own and operate yourself. We invite all developers to join our affiliate program and refer their clients to us. Your clients may purchase s2Member Pro on their own—you receive a commission. This also gives your clients access to future releases through an account they'll acquire at our website. It's the approach we suggest for all developers working w/ clients needing s2Member Pro.

s2Member® Pro Refund Policy

If s2Member Pro does not process payments, or if you have an issue with s2Member Pro that we cannot resolve, we will refund your money within 30 days from the date of purchase. To receive a refund, you should contact us with log files to demonstrate that s2Member Pro failed to process payments for you.

We will not provide refunds for technical issues unless you have first allowed us to attempt to resolve the issue. If we are unable to resolve a technical issue related to the main feature (i.e., payment processing), we will provide a refund. All refunds require an existing support ticket as evidence that you have given us the opportunity to resolve the issue. Please open a support ticket before requesting a refund. Note: refunds for technical issues must be related to the main feature (i.e., payment processing) and not an option (e.g., Email Templates, Custom Fields, Alt. Views, etc).

Refunds do not apply to any renewal fees for continued access to support.

Purchasing s2Member Pro indicates that you agree to the terms of the Refund Policy.

WOW... first we really like the S2Member Pro! If I were a programmer I think I'd really be wowing this more..still learning though. I've used Amember for years and there were always some issues causing me to put the membership down while we fixed it. What a great addition for Wordpress, lots of options for memberships, good job.