Managing Subscription Plans
An introduction to this concept is provided by the article: Introduction to Subscription Plans from the Operations Guide.
Subscription Plan Types: Guest and Paid
There are two types of Subscription Plans: Guest and Paid. Guest Plans are free and thus don’t require any payment from the user when registering. Paid Plans, in contrast, have billing terms associated with them (e.g. $9.95 every month) and thus require a payment method from the user in order to complete their registration. The payment methods accepted by Suma depend on how its been configured but could include a PayPal account or a credit card.
Important Note. When no Payment Modules are activate Suma will prevent Paid Subscription Plans from being offered to users via the registration process and will not allow Paid Plans to be created or edited. This is because without a Payment Module it is not possible to accept payment information from the user and thus not possible to register a user under such a plan.
Creating a Subscription Plan
Plans are created from the Tools → Subscription Plans page in Wordpress’ administration area (click on the Create Paid Plan button or Create Guest Plan button).
If the Create Paid Plan button is disabled its because there is no Payment Module active that supports recurring payments or its not correctly configured. If its not correctly configured you’ll see error messages displayed on its Settings page. So, unless a Payment Module is activate, only Guest Plans will be shown and only those which don’t have an expiry date. In addition, any Paid Plans that may have been defined will not be displayed for management or offered to users if there isn’t a such a Module activated.
The following are key concepts about Subscription Plans:
Plan Descriptions
This field allows you to enter a description about the Plan. It could be something like “Gold Level” or “Private Invitation”, and is considered the user-defined part of a Plan’s description. Suma will generate the other part of the description (the contract part) based on the parameters you define in the Plan. Examples of this would be “Free access for 15 days” and “$10.00 USD every month.” Together the user-defined part and the contract part must not exceed 127 characters in length (a limitation imposed by PayPal). Thus you are constrained in the amount of text you can include in the user-defined description and this depends directly on the length of the contract part which depends in turn on the parameters to the Plan. Fortunately, you can edit the Plan once its created so that you can play with its description until its acceptable. The reason for having contract wording in the description is its a requirement of PayPal’s Express Checkout service, but is considered good business practice in general. Furthermore, since Suma’s contract generator uses the same grammar as PayPal you can be confident that the Plan’s terms are beyond dispute. Finally, the entire description (user and contract parts) are displayed to the user when they are going through the registration process so that the user can compare different Plans based on their contracts. If you want to provide more information about a Plan you can use Suma’s Customization API to add a hyperlink to the user-defined description (see getPlanDescriptionHREF() function) which can be used to link to another page on your website which provides more details about the Subscription Plan.
Access Codes
The Access Code is a (practically) unlimited length text field associated with each Plan. It can be empty or contain any text you wish. The purpose of the Access Code is to restrict availability to that Plan to only those users who know the Access Code. In this way, you can create Plans (discounted or free) for certain individuals only. You would provide those individuals the Access Code which they would enter in the Promotion Code field during the registration process and if the Code they enter is valid (i.e. linked to a Plan) then that Plan’s description is presented to the user. If a Plan does not have an Access Code then that Plan is displayed to all users (provided its state is: Open to New Subscribers). You will notice that Suma automatically assigns a random Access Code whenever a Guest Plan is created. This is to ensure that you don’t inadvertently create a free alternative to your Paid Plans that is accessible by the public, who would surely choose the Guest Plan over the Paid Plan and thus negatively impact your sales. If its your intention to have the Guest Plan be available to all users (a limited length Guest Plan for instance) then simply delete the text from the Access Code field and click on the Save button.
Plan Period / Trial Period / Regular Billing Period
Every Guest Plan has a period for which it is valid. This can be a limited length period (e.g. 2 weeks) or unlimited. After the Plan’s period ends (if ever) the access granted through that Plan will cease. Suma does not allow users to re-subscribe to the same Guest Plan again unless its a non-expiring Guest Plan or the Guest Plan’s period hasn’t expired (as measured from when the user first subscribed to the Plan). Note: this restriction is per user account, so users may try to defeat this by signing up under a different username and email address.
Paid Plans all have an optional Trial Period followed by a required Regular Period. The Trial Period, if specified, represents one billing cycle (i.e. one payment) if the Trial Amount is non-zero. The Trial Amount can also be zero in which case it become a free Trial Period. If there is an amount specified then it is billed at registration time. If there is no Trial Period, then the Plan begins with the Regular Period. Regular Periods must have a non-zero billing amount specified (i.e. they can’t be free).
Member’s Wordpress Role
If a user is registering for the first time then Suma will create a Wordpress user account for them in addition to setting up a Subscription Profile for that user. When a user successfully subscribes to a Subscription Plan, Suma will set the Wordpress Role of that user’s account to the value specified by this field in the Subscription Plan. It should be noted that Suma doesn’t use Roles in its access control decision making process. Those decisions are made entirely based on whether the user has an active Subscription Profile or not and whether that Profile grants access to the content they are requesting.
Editing a Subscription Plan
Subscription Plans can be edited (as of Suma 3.0) to allow you to alter the parameter values for the plan. Any changes made to a Subscription Plan will only apply to users who subscribe to that Plan after the changes have been made. Users who have already subscribed to the Plan will not have their Subscription Profiles changed. Thus, changes to a Subscription Plan do not affect current Subscribers to that Plan but only future subscribers.
Terminating a Subscription Plan
Subscription Plans can be terminated from the Subscription Plan Manager. Terminating a Plan means that every user who is subscribed to that Plan will have their subscription canceled. When all the cancelations are successful, you will then be able to Delete the plan. If you merely wish to stop offering the Plan to new users and do not want to cancel the subscriptions of existing subscribers then you can close the Plan to new subscribers instead. This is achieved by clicking on the Plan’s Yes button for the field “Open to New Subscribers” in the Subscription Plan Manager which will toggle the value to No. This action is reversible and is achieved by clicking on the button again. Setting this parameter to No instructs Suma to not allow new users to subscribe to this Plan and thus it will not be shown as a choice during registration.
See Also:
- Subscription Groups for creating more selective Content Access models
- Hosted Recurring Payments and Onsite Recurring Payments
- Suma’s Customization API getPlanDescriptionHREF() for adding a hyperlink to a Plan’s user-defined description