To order a subscription or product within aMember Pro, the user must fill-in a signup form generated by aMember or log into an existing account. Once the customer presses the signup button, aMember Pro creates the following records in its database:

+

<h3>Default workflow</h3>

+

To order a subscription or product within aMember Pro, the user must complete and submit a signup form generated by aMember or log into an existing account. Once the customer presses the signup button, aMember Pro creates the following records in its database:

* pending user record

* pending user record

* pending invoice record

* pending invoice record

−

'' Note: At this point the new user account is "pending" and not yet activated. Until the payment is competed, the user will not be able to view or download protected content. He can, however, login to the member area to make a new payment if the first payment attempt failed''

+

'' Note: At this point the new user account is "pending" and not yet activated. Until the payment is completed, the user will not be able to view or download protected content. He can, however, login to the member area to make a new payment if the first payment attempt failed''

Once these records are created, aMember redirects the customer to the payment system to make the actual payment and passes the payment amount and subscription settings to it. The payment gateway (eg. PayPal, 2Checkout or Authorize.Net, Plimus) checks the information entered and completes the transaction.

Once these records are created, aMember redirects the customer to the payment system to make the actual payment and passes the payment amount and subscription settings to it. The payment gateway (eg. PayPal, 2Checkout or Authorize.Net, Plimus) checks the information entered and completes the transaction.

−

# When the transaction is completed successfully, the system will display a confirmation of payment. At this point the system sends confirmation of the payment to the aMember script and the user's status is changed from "Pending" to "Active". The user will receive a welcome email with details about his/her username and possibly other information (the e-mail template can be customized by site administrator).

+

# When the transaction is completed successfully, the system will display a confirmation of payment. At this point the system sends confirmation of the payment to the aMember script and the user's status is changed from "Pending" to "Active". The user will receive a welcome email with details about his/her username and possibly other information (the e-mail template can be customized by the site administrator).

# If the transaction fails, the failed payment page will be displayed, and most payment systems will redirect the customer to the aMember "cancelled" payment page, where the user can choose another method of payment and attempt to subscribe again.

# If the transaction fails, the failed payment page will be displayed, and most payment systems will redirect the customer to the aMember "cancelled" payment page, where the user can choose another method of payment and attempt to subscribe again.

*aMember create new customer and payment based on IPN data and add necessary access to him. aMember generate password for customer as well at this stage.

+

*Upon creating a new customer record, aMember sends an Signup Email with login and password to him.

+

*User receive Signup Email with his login and password and can use it to access your website.

<h2>Expiration</h2>

<h2>Expiration</h2>

Line 26:

Line 35:

<h3>Recurring Billing Cancellations</h3>

<h3>Recurring Billing Cancellations</h3>

−

Sometimes user wants to unsubscribe from recurring subscription. It can be done by either a link in aMember members area, or in payment processor (for example PayPal provides ability to cancel recurring subscriptions within user account). In this case, aMember will be notified about cancellation and customer invoice will be maked as "Cancelled". It does not mean, however, that user looses access immediately. User will still have access to protected content until paid period expires.

+

Sometimes a user may want to cancel or unsubscribe from a recurring subscription. Cancellation can be done by via a link in the aMember members area, or at the payment processor's website (for example PayPal provides the ability to cancel recurring subscriptions from within the PayPal user's account). In this case, aMember will be notified about the cancellation and the customer's invoice will be marked as "Cancelled". It does not mean, however, that the user loses access immediately. The user will still have access to protected content until the paid period expires.

<h2>Refunds and Chargebacks</h2>

<h2>Refunds and Chargebacks</h2>

In the event refunds or chargebacks are reported to aMember, aMember will automatically keep records of this and revoke customer access to protected content.

In the event refunds or chargebacks are reported to aMember, aMember will automatically keep records of this and revoke customer access to protected content.

−

<h2>Integration plugins</h2>

+

<h2>Integration Plugins</h2>

−

aMember Pro has ability to integrate with third-party applications. If you have such an integration plugin installed and configured, aMember will maintain users database (table) in third-party script, so your aMember subscribers can be automatically added to your Bulletin Board, CMS or HelpDesk users database. When their subscription expires, users will be automatically disabled or (if configured) removed from third-party database.

+

aMember Pro has the ability to integrate with third-party applications. If you have such an integration plugin installed and configured, aMember will maintain the users database (table) in the third-party script, so that your aMember subscribers can be automatically added to your Bulletin Board, CMS, or Help Desk users database. When their subscription expires, users will be automatically disabled or (if configured) removed from the third-party database.

−

Please note — this integration is one-way: users are copied from from aMember to third-party script, and never vice-versa (from third-party script to aMember). Second way would require changes to your third-party script, that would be hard to maintain and would make troubles to upgrade your third-party script.

+

Please note — this integration is one-way: users are copied from aMember to the third-party script, and never vice-versa (never from the third-party script to aMember). The latter would require changes to your third-party script that would be hard to maintain and would also make make upgrading your third-party script more difficult. The exception to this is when a user already exists and the correct options have been chosen in the third-party script setup, in the circumstances described under "How Third-Party Integration Works".

−

Also, if user has the same username and password in aMember and a third-party script, it is often possible to implement single-login — when user is logged-in into aMember, it becomes logged-in into third-party script and vice-versa.

+

Also, if the user has the same username and password in aMember and a third-party script, it is often possible to implement a single-login, also called "Single sign-on (SSO)." With Single sign-on (SSO) when a user is logged into aMember he/she is automatically logged into the third-party script, and vice-versa.

−

<h3>How does it work</h3>

+

<h3>How Third-Party Integration Works</h3>

−

When user signs up in aMember, aMember checks for existing user in third-party users database. If user with the same username is exists in third-party database, signup is not allowed. (The following works if "auto-create" option is enabled in plugin settings)Customer can instead login into aMember with his username and password from a third-party script and aMember account will be created for him.

+

When a user signs up in aMember, aMember checks to see if that user already exists in the third-party users database. If a user with the same username exists in the third-party database signup is not allowed. (The following works if the "auto-create" option is enabled in plugin settings.) The customer can instead log into aMember with his username and password from a third-party script and an aMember account will be created for him.

−

If there is no such account in third-party script exists, user will be allowed to go through signup in aMember. As user completes payment, aMember immediately upgrades his record in third-party database (if exists) or creates new customer with permissions configured in "Integrations" settings.

+

If there is no such account in the third-party script, the user will be allowed to signup in aMember. As the user completes payment, aMember immediately upgrades his record in the third-party database (if it exists) or creates a new customer account with the permissions configured in "Integrations" settings.

−

Once user subscription expires or user is removed from aMember database, aMember sets up “default” usergroup in third-party database for this user, or removes his record completely (if configured and supported by plugin).

+

Once a user's subscription expires or the user is removed from the aMember database, aMember sets up a “default” usergroup in the third-party database for this user, or removes his record completely (if configured and supported by plugin).

What aMember Pro is all about

aMember Pro is a membership/subscription management PHP script. It is installed on your website to provide the following functionality:

User registration

Processes customer payments and keeps track of them

Protects website folders, pages, downloads, and other kinds of content making it available for subscribed users only

Integration of the aMember users database with third-party scripts

Affiliate program management

Simple Help Desk functionality to provide easy communication between customers and site administrators

Manages opt-in e-mail lists and newsletters and can send mass e-mails to customers

Ordering Process

Default workflow

To order a subscription or product within aMember Pro, the user must complete and submit a signup form generated by aMember or log into an existing account. Once the customer presses the signup button, aMember Pro creates the following records in its database:

pending user record

pending invoice record

Note: At this point the new user account is "pending" and not yet activated. Until the payment is completed, the user will not be able to view or download protected content. He can, however, login to the member area to make a new payment if the first payment attempt failed

Once these records are created, aMember redirects the customer to the payment system to make the actual payment and passes the payment amount and subscription settings to it. The payment gateway (eg. PayPal, 2Checkout or Authorize.Net, Plimus) checks the information entered and completes the transaction.

When the transaction is completed successfully, the system will display a confirmation of payment. At this point the system sends confirmation of the payment to the aMember script and the user's status is changed from "Pending" to "Active". The user will receive a welcome email with details about his/her username and possibly other information (the e-mail template can be customized by the site administrator).

If the transaction fails, the failed payment page will be displayed, and most payment systems will redirect the customer to the aMember "cancelled" payment page, where the user can choose another method of payment and attempt to subscribe again.

Payment system upfront of aMember

aMember create new customer and payment based on IPN data and add necessary access to him. aMember generate password for customer as well at this stage.

Upon creating a new customer record, aMember sends an Signup Email with login and password to him.

User receive Signup Email with his login and password and can use it to access your website.

Expiration

Depending on the product settings configured by the site administrator, user access may expire. For example, the site administrator may choose to sell 30-day subscriptions for $10.99. Then, if the subscription is not recurring, the customer record will expire. The user will be marked as Expired, and protected content access will be revoked. The user record is not deleted after expiration, so the customer may return to the website, log into his/her aMember account, and renew their subscription - by placing a new order.

Recurring Billing

Many payment processors offer the ability to set up "recurring" billing. This way the customer is billed automatically for the amount configured for each time period (e.g. $20 every month). aMember Pro was designed to handle recurring billing, so these payments will be correctly processed. Most payment processors report to aMember when a successful recurring payment has been made and aMember extends the user's subscription accordingly. In this case the entire membership management process becomes automated.

Recurring Billing Cancellations

Sometimes a user may want to cancel or unsubscribe from a recurring subscription. Cancellation can be done by via a link in the aMember members area, or at the payment processor's website (for example PayPal provides the ability to cancel recurring subscriptions from within the PayPal user's account). In this case, aMember will be notified about the cancellation and the customer's invoice will be marked as "Cancelled". It does not mean, however, that the user loses access immediately. The user will still have access to protected content until the paid period expires.

Refunds and Chargebacks

In the event refunds or chargebacks are reported to aMember, aMember will automatically keep records of this and revoke customer access to protected content.

Integration Plugins

aMember Pro has the ability to integrate with third-party applications. If you have such an integration plugin installed and configured, aMember will maintain the users database (table) in the third-party script, so that your aMember subscribers can be automatically added to your Bulletin Board, CMS, or Help Desk users database. When their subscription expires, users will be automatically disabled or (if configured) removed from the third-party database.

Please note — this integration is one-way: users are copied from aMember to the third-party script, and never vice-versa (never from the third-party script to aMember). The latter would require changes to your third-party script that would be hard to maintain and would also make make upgrading your third-party script more difficult. The exception to this is when a user already exists and the correct options have been chosen in the third-party script setup, in the circumstances described under "How Third-Party Integration Works".

Also, if the user has the same username and password in aMember and a third-party script, it is often possible to implement a single-login, also called "Single sign-on (SSO)." With Single sign-on (SSO) when a user is logged into aMember he/she is automatically logged into the third-party script, and vice-versa.

How Third-Party Integration Works

When a user signs up in aMember, aMember checks to see if that user already exists in the third-party users database. If a user with the same username exists in the third-party database signup is not allowed. (The following works if the "auto-create" option is enabled in plugin settings.) The customer can instead log into aMember with his username and password from a third-party script and an aMember account will be created for him.

If there is no such account in the third-party script, the user will be allowed to signup in aMember. As the user completes payment, aMember immediately upgrades his record in the third-party database (if it exists) or creates a new customer account with the permissions configured in "Integrations" settings.

Once a user's subscription expires or the user is removed from the aMember database, aMember sets up a “default” usergroup in the third-party database for this user, or removes his record completely (if configured and supported by plugin).

2 Ways to Configure Integration Plugins

Disable new user registration completely (using third-party script admin controls) and set links to aMember's signup page for new users;