How It Works
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
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:
- pending user 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
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).
- 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.
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.
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 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 looses 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.
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.
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;
- Keep user registration enabled in the third-party script, but restrict the default usergroup (using third-party script admin controls). Create a new usergroup (for paid users) and configure aMember to assign that "paid" usergroup to paid customers.