# ARMember - Exclusive Wordpress Membership Plugin ( Version: 6.5.1)

Created: 02/03/2024

By: Repute Infosystems

Email: info@reputeinfosystems.com

Thank you for purchasing the plugin. If you have any query which are beyond the scope of this help file, please feel free to email via contact form here. Thank you so much!

ARMember is an exclusive wordpress membership plugin. This is a very user friendly membership plugin leades you to create a membership site without having any advanced programming knowledge. It supports all popular wordpress versions from 4.0 to the latest one.

## ARMember Key Features:

- Easy Installation
- Easy Setup of membership plan
- Membership Plans with most popular `payment gateways` ( Including coupons and discounts ).
- Multiple Membership support. Users will be able to subscribe for more than one membership plan simultaneously.
- Multiple Payment Cycle support for subscription type of plan. So, users will be able to choose their suitable payment cycle for membership subscription.
- facility to have more than one membership simultaneously for members.
- `Email notification` for different events like ( new registration, membership expires etc..).
- `Sales Tax` facility on Plan+sign up page.
- Best of best admin dashboard with all important `statistics chart`
- Best widgets supports.
- External scripts support ( `BuddyPress/BuddyBoss member` ).
- Import / export members/settings(Easy Migration of users/settings)
- Restrict admin panel for non-admin members.
- Block Members using `IPs`, `URLs`, `Usernames` and `email addresses`.

- Provides following New user approval options.

  - Auto
  - Email-Activation ( Verify by email )
  - Manual / Admin( Verify by Admin )
- Hide admin bar for non-admin members.
- Member directory with many customization options.
- Entire site protection from visitors / free members.
- Auto Page setup for Registration, Login, Edit Profile, Change Password, Forgot Password etc..
- Custom CSS support.
- `Drag and drop fields` support in form builder.
- Custom `e-mail templates` with dynamic variables.
- Option to add member and manage payment history from back-end.
- Set Trial period option for paid plans.
- Easy setup wizard.
- Secure `RSS` Feeds.
- Provides facility to Upgrade / Downgrade / Cancel Membership.
- Custom Registration Form Fields.
- Works with `HTTPS` Pages.
- Powerful Shortcode Library.
- Unlimited Subscription Plans.
- Protect Special Pages.
- Custom Post Type Support.
- Easy to switch membership plan.
- Custom Error Messages.
- Conditional Shortcodes.
- 150+ `Action & Filter Hooks` to extend plugin's functionality for developers.
- Dedicated support.

# ARMember - Exclusive Wordpress Membership Plugin ( Version: 6.5.1 )

Created: 02/03/2024

By: Repute Infosystems

Email: info@reputeinfosystems.com

Thank you for purchasing plugin. If you have any questions that are beyond the scope of this help file, please feel free to email via contact form here. Thank you so much!

ARMember is an exclusive wordpress membership plugin. ARMember is complete bundle of a user friendly membership plugin which can be used to create membership site without any advanced knowledge of programming. It supports all popular wordpress versions from 4.0 to the latest one.

## ARMember Key Features:

- Easy Installation
- Setup Different type of membership plan easily
- Multiple Membership support. Users will be able to subscribe for more than one membership plan simultanously.
- Multiple Payment Cycle support for subscription type of plan. So, user will be able to choose his suitable payment cycle for membership subscription.
- facility to have more than one membership simultaneously for members.
- `Sales Tax` facility on Plan+sign up page.
- `Email notification` for event like ( new registration, membership expires ).
- Best of best admin dashboard with all important `statistics chart`
- Best widgets supports.
- External scripts support ( `BuddyPress/BuddyBoss member` ).
- Import / export members details and plugin settings using different `filter`.
- Facility to migrate plugin to different location with its all default configuration, settings etc.
- Restrict admin panel for non-admin members.
- Block Members using `IPs`, `URLs`, `Usernames` and `email addresses`.

- Provides following New user approval options.

  - Auto
  - Email-Activation ( Verify by email )
  - Manual / Admin( Verify by Admin )
- Hide admin bar for non-admin members.
- Member Profile and Member directory templates with lots of customization.
- Entire site protection from visitors / free members.
- Provides default Pages for Registration, Login, Edit Profile, Change Password, Forgot Password etc..
- Custom CSS support.
- Huge Front-end shortcodes library is available with different arguments.
- `Drag and drop fields` support in form builder.
- Custom `e-mail templates` with dynamic variables.
- Option to add member and payment history from back-end.
- Trial period option for paid plans.
- Easy to create member setup.
- Secure `RSS` Feeds.
- Automatic Upgrade / Downgrade / Cancel Membership.
- Custom Registration Fields.
- Works with `HTTPS` Pages.
- Powerful Shortcodes.
- Unlimited Subscription Plans.
- Protect Special Pages.
- Custom Post Type Support.
- Easy to switch membership plan facility.
- Custom Error Messages.
- Conditional Shortcodes.
- 150+ `Action & Filter Hooks` to extend plugin functionality for developers.
- Dedicated support.

# Installation & Activation

## Steps For Installation And Activation

You can install plugin in following two ways.

### New install via FTP

1. Download the plugin and extract it. You will find a directory armember.
2. In your WordPress installation directory, upload armember to `wp-content/plugins/`
3. Activate the `ARMember` plugin through the `Plugins` menu from WordPress admin panel.

### New install via the WordPress Uploader

1. Download the plugin.
2. Log in to your WordPress admin panel
3. Go to `Plugins` -> `Add New` -> `Upload`
4. Click on "choose file" and browse the download package. When the plugin uploads successfully, click on `Activate Plugin`.

After activating the plugin, you will be able to see ARMember menu in left side admin menu. Plugin automatically creates new pages for you and allow you to choose which page to include in your navigation.

# Membership Setup Wizard

## Steps to Setup Membership For Your Website

1. General Settings
2. Setup Plan
3. Set Payment Options
4. Setup Forms
5. Profile Forms
6. Configure Plan + Signup Page
7. Invite Only Member
8. Content Restriction / Drip Content

## Let's setup membership for your website :

1. Plugin's basic settings are available in general settings. To get more detail about this section, please click here

2. Then create subscription plans. These created plans define restriction related to content for the user of that particular plan as well as you are giving users, permission to access content according to the plan.

   To get more detail about this section, please click here

3. You must need to setup `payment gateway(s)` if you want to charge user for paid plans. We provide most popular payment gateways support. `Paypal`, `Stripe`, `Authorize.Net`, `2Checkout`, `Bank Transfer`, and `Woocommerce` Payment Method.

   To get more detail about this section, please click here

4. You must need to setup registration form for new user registration. You can create new registration form or you can use default registration form.

   By clicking on `Edit` icon you will be able to modify form styling and settings with user friendly interface.

   To get detail about this section, please click here

5. Then create a new membership setup for new user subscription process. You will find options for plans, forms, payment gateways and coupons. Configure setup as per your need. Also you can add your custom styling for specific setup. After setting membership setup.

   You need to add payment gateways for paid plans in order to get payment from members.

   To get detail about this section, please click here

6. Protect your website content from different plan members. You can add protection on your pages, posts, categories, navigation menus, custom post types, custom taxonomies etc.

   To get detail about this section, please click here

# General options

After installation and activation of the plugin, check about basic configuration of ARMember plugin.

Go to the General Settings menu from the admin interface. Here you will get number of tabs such as General, Payment Gateways, Page Setup etc..

Let's check each option in detail:

## General Options

### Hide Admin Bar

This option is providing you a choice whether you want to show admin bar for non-admin users or not. If you have enabled this option, then admin bar will be hidden from all users except who have either 'Administrator' role OR selected roles in 'Exclude role.." select box.

### Rename wp-admin Folder

Here you have facility to rename wp-admin folder to prevent hacking and security issues. You need to be careful while changing this option.

When you enable this option, popup with important notices will open as shown in below image. Please read all the notices before proceed. You will see one URL in this popup. Do not forget to save that URL. It will help you to rollback this change to default in critical situation. When you will run this URL, new wp-admin path will revert to default path /wp-admin.

After enabling switch, you will have other option for New wp-admin Path where you are able to write new path or name for wp-admin ( e.g. panel, cp ).

Before you enable this option, you should check your wp-config.php file and .htaccess file write permission. If both files will have write permission, then you don't need to do an extra effort, just enable this option, change wp-admin name if you want and save settings. You will be logged out automatically. Now your website admin panel can be accessed by only new name or https://yoursiteurl.com/wp-login.php

But, if any of the two files will not have write permission then in such case when you rename wp-admin and try to save settings, then a popup will open containing file change instructions as shown in below.

You must need to follow each instruction strictly and only then after click 'OK, I did it' button. After this you will be logged out. If you press this button without doing change in files, then you will not be able to login again. If you will press 'Abort Renaming' button, then 'Rename wp-admin' settings will not be saved, but all other settings will be saved.

If you have renamed wp-admin from other plugin, this setting will remain disabled. Also it will not work with Multisite.

### Hide wp-login.php Page

Another option is provided if you wish to hide default wordpress wp-login.php page for all users. If you have enabled this option, wordpress default login page will be hidden from all users and all users will be redirected to the front end page which is mapped with login page under `ARMember`->`General Settings`->`Page Setup`

### Hide Register Link

This option will Hide/Remove registration link from wp-login.php page.

### Disable wp-login page styling

This this option is enabled, default wordpress wp-login.php page design will come instead ARMember wp-login.php design.

### Auto Lock Shared Account

When you turn ON this switch, it will clear all session except current session of logged in user from front end. `Please note` that this functionality will not applied on previously logged in user from now.

### Use Gravatars?

Here you have a switch to enable or disable feature of Gravatars. If this feature is enabled, plugin will handle profile pictures for all members.

If this is enabled then you will be able to see profile pictures of members on manage members page as well as the individual member details page. Even also at the front-end at members directory & profile pages, profile pictures of all members will be shown to users.

We also provide BuddyPress and BuddyBoss support.

### Enable Crop for Avatar and Profile Cover photo

When you turn ON this switch, in front end when user uploads his avatar or profile cover photo, he will get facility to crop the picture. Skip option is available on crop box. So if you have enabled crop from here and any user wants to skip crop, then he can click on skip.

### Spam Protection

Spam Protection prevent the spam entries done by User/Robot/Script. You can Enable or Disable this spam protection functionality by this option.

### New User Approval

You are able to manage approval of new registered users here. There are three ways provided to approve new users which are as following,

1. ### Auto Approval

   You will find, by default this option is selected, which follows default wordpress registration process where no need to approve users manually, they will be approved by default.

2. ### Email-Activation

   If this option will be selected, then all new users who will register in the website will have `Pending` status by default and will get an email with `activation link` and they must have to go through instructions mentioned in email to complete registration. After clicking on the activation link, user will be active.

3. ### Manual / Admin Approval

   By this method, When new user registers for the site, the user will get created with `Pending` status.

   At same time Administrator will get an email for new user registration. Then Administrator will have rights whether to approve users for the site or not.

Only Active will be allowed to login to site. Users with `Pending`, `Inactive` or `Terminated` status will not be able to login to site.

Each user that exists before plugin has been activated will be treated as an approved ( Active ) user .

### Default Currency

Here you can select payment currency out of 168 available currencies for payment processes.

ARMember provides you facility to add your custom currency by clicking on Add Custom Currency.

### Number of decimals

From here, you will be able to set the numbers of decimals that you want to display after the separator with the main amount.

### Sales Tax

If this switch is enabled, then you can set percentage sales tax that will be applied on final payable amount on plan + sign up page. If coupon is applied on plan amount, then tax will be applied on (final payable amount = plan amount-coupon amount). If membership plan is opf recurring type, then tax will be applied on every recurrence.

By default `Common Tax` option selected which means common sales tax will be applied for all countries.

You can also select country wise tax.

By selecting Country wise Tax Option, you can set different percentage of tax for different countries.

Here `Select Country Field` have list of Dropdown or Radio type fields only from signup form.

Field `Default Tax` indicates the percentage of tax of other countries apart from country which is listed above.

Any change in sales tax rate will not affect already started subscriptions.

If you want to add tax percentage and total amount applied on final payable amount in payment summary, then you can add [TAX_AMOUNT] and [TAX_PERCENTAGE] shortcode in payment summary from 'Configure plan+Sign up page' settings.

You can add tax in email notifications and in invoice too. Template shortcodes are available for both.

### Google Recaptcha(V3) Configuration

ARMembers provides Google Recaptcha(V3) to protect your site from Spam and abuse with ARMembers form.

You can add Site Key, Private Key, recaptcha theme and recaptcha language save. you can get Site Key and Secrete Key from free reCaptcha API key.

### How Google Recaptcha Works?

In Google recaptcha configuration section you can enter site key and private key to make your recaptcha work in form. After that you just need to enable the `Enable Google reCAPTCHA` option. as shown in below screenshot.

Now your users can use Google Recaptcha.

### Profile Permalink Base

Profile Permalink Base section will only available if you activate Social Features from Add-ons.

You can select what slug appears in the url while checking user’s profiles. You can select either username or user id.

### Load JS & CSS In All Pages

To include ARMember related JS and CSS in your whole site, is totally depend on you. We are including js/css only in those pages/posts which are having related functionality of ARMember. But, if you want js and css universally activated in your site, then you may go for this option.

### Badge Size

The dimensions for badge image/icon will be set here and this will be applied to member badges in profile template or member directory template.

## Email Settings

### From / Reply to Name

Here you can set From / Reply to Name to be displayed in email notifications. By default you will find your site name here.

### From / Reply to Email

Here you can set From / Reply to Email address from which email notifications will be sent. By default you will find administrator's email id here.

### Admin email

This field will have value of site admin email address set in default Wordpress General settings. You can add multiple email address with `comma separated email ids`. So, all those email holders will get admin related email notification.

### Email Notification

You have four options here to select how your system support sending emails to notify admin/users.

Select `Wordpress Server` to send email using default wordpress functionality, other Three options are `SMTP Server` , `PHP Mailer` and `Gmail SMTP`.

By as default Wordpress Server is selected here.

## Manage Preset Form Fields

Once you add a new field in sign up form and save the form, then those new fields having new 'meta_keys' will be added in the list of 'Preset Fields'. So you can use these fields directly in other forms too.

But once field is added in Preset Field list, any change in that field will not affect that preset field. These preset fields are displayed in Add/Edit Member page.

1. Edit Preset Fields

   Suppose you have added a dropdown labeled Gender in sign up form. This field have two values 'Male and 'Female'. Now you have saved the form. So Gender field will be added in Preset field list. Now suppose you want to add third option in this dropdown. let's say 'Transgender'. So you will edit the form and add new option for this dropdown and save the form. But this option is not added in Preset field 'Gender'. So in Add Member page you will see only two options 'Male' and 'Female'.

   So if you want to update preset fields, then you need to click on this button. Popup will open containing all Preset Fields where you can change label and values of all preset fields.

2. Clear Preset Form Fields

   To remove specific form fields with its value, click on this button, popup opens, select fields which you want to remove from everywhere.

   All the fields you will add in any of sign up forms will be automatically added in the list of "Preset Fields" section of form builder. Sometimes it happens that some fields becomes unnecessary so you will remove that fields from sign up form, but those fields will still remain as it is in "Preset Fields" section even if they were deleted, so you can add them in the form from Preset Field, if again needed in future.

   But sometimes you have added fields for testing purpose and then deleted those fields from forms. If those fields will not be deleted from Preset Fields, then Preset Field list will be longer and longer. Also those deleted fields will be displayed in "Edit Member" page of administrator area. So you must need some way to clear these unused fields from everywhere.

   For these, ARMember Provides `Clear From Field` setting in `General Settings`.

   Suppose you have added a text box of "Address" in sign up form. So it will be also added in Preset Fields section. Now if you have deleted address field for any reason. But it still appears in "Preset Fields" section.

   Now to remove "Address" field from "Preset Field" section, use "Clear Form Field" button. Click on it, then popup will open as shown below.

   From popup, you can select all the fields that you want to delete from everywhere. You will see some checkboxes remain disabled as they are default fields and cannot be deleted from sign up form. Checkboxes for other fields will be enabled only if that fields were deleted from sign up form first.

   If data entry exists for any of those fields, then you will see "(Entry Exist)" in red letter beside that field checkbox. Now Select all the fields, that you want to delete from everywhere and click OK button. That's it. All selected unused fields will be removed from everywhere.

## Email Scheduler Settings

## Front End Font Settings

Now give a better look at front side with different colors and fonts according to your wish. You will have following options.

Options | Description
--- | ---
Level 1 | Font settings of Level 1 will be applied to main heading of frontend shortcodes. Like Transaction listing heading and like wise.
Level 2 | Font settings of Level 2 will be applied to sub heading ( Main Labels ) of front-end shortcodes. For example table heading of transaction listing.
Level 3 | Font settings of Level 3 will be applied to sub labels of front-end shortcodes. For example table content of transaction listing.
Level 4 | This font style will be applied to all front end pages sub description.
Links | Font settings of Links will be applied to links of frontend shortcodes. For example edit profile, logout link and profile links etc.
Button | Font settings of Buttons will be applied to buttons of frontend shortcodes output. For example Renew button, Cancel Button, Make Payment Button etc.

## Global CSS

Here you will be able to add global CSS class according to your requirements which will be applied to all your templates globally.

You can find full list of class information by clicking on CSS Class Information link.

# Payment Gateways

Go to the Payment Gateways Tab at General Settings to activate and configure payment gateways.

All payments done by below payment gateways will be in selected default currency. ARMember supports 25 default currencies. You can change default currency at general options.

You need to configure Payment Gateway setting to accept payments. ARMember supports most popular payment gateways like `Paypal`, `Stripe`, `Authorize.Net`, `2Checkout`, `Bank Transfer`, and `Woocommerce` payment method.

ARMember integrates PCI compliant billing vendors to make sure your customer data is always safe and secure.

You need to activate one of the payment gateway in order to accept payments for paid membership plans.

Important Note: If in any case Payment Amount is zero (Ex: 100% Coupon Discount, Free Trail case etc..) then user will not be redirected to related payment gateway sites and directly get added as member to site as soon as signup process get completed. (It will not work in case of Automatic Subscription)

Please note that while uninstalling ARMember, if any user has auto recurring subscription then that will be canceled from payment gateways.

### Paypal

To activate paypal gateway, It requires your Merchant Email & PayPal API information.

Follow below steps to get API Keys:

- Log in to your PayPal Premier or Business account.
- Click the Profile sub-tab located in the top navigation area.
- Click the My selling preferences sub option in left sidebar.
- Click the API Access link under the Account Information header.
- Click the Get Started link under the Request API Credentials heading.
- Click the Update option for API access item
- Complete the API Credential Request form by clicking the agreement checkbox and clicking Submit.
- You will now get the API username, password and signature.

You can find more details about how to get API information from following links: Sandbox API Detail & Live API Detail.

Paypal supports maximum 90 days of trial duration for Auto Debit Subscription method.

### Stripe

To activate stripe gateway, you must require Secret Key & Publishable Key. Your API keys are located in your stripe account dashboard.

Follow below steps to get API Keys:

- Log in to your Stripe account.
- Go to Developers->API Keys.
- You will find your API Keys in Test Mode or Live Mode.

Verify Webhook

- Click on `Verify Webhook` to verify stripe webhook configuration.
- When webhook not verified at your stripe account then you need to add webhook from your stripe account -> Developers -> Webhooks. with following events `invoice.payment_succeeded`, `customer.subscription.updated`, `customer.subscription.deleted`, `invoice.payment_failed`, `customer.subscription.created`, `subscription_schedule.canceled`
- Or if webhook added successfully in your stripe account please verify provided Key details and Payment mode at your stripe API Keys Page.
- After verifying webhook successfully you can save payment gateway setting for stripe.
- Once webhook verfified successfully 'Verfified' message will be displayed along with Verify Webhook button.

Here, you can select Non-SCA and SCA method to accept the payment through Stripe.

- Select `Built-in Form Fields` for Non-SCA method, which will display the credit card fields in the setup form.
- Select `SCA Compliant (popup)` for SCA method

For Built-in Form Fields, you can change the label of credit card fields, which will be displayed in the form while submitting the form

For SCA Compliant (popup) Method, you can change the title, pay now button label and also can upload a logo to display in the Stripe Popup.

You can use `{arm_selected_plan_title}` shortcode in the Popup Title to display Selected Plan Name instead of any Static Title

Logo should have 70px height and 70px width. Logo with other size will not be uploaded

In SCA Compliant Method, credit card details will be collected by Stripe

In SCA Compliant Method, all the transactions are 3D secure and if the card requires any further authentication, it'll display a popup box to confirm the payment and reduce the Payment Fraud Desputes.

In case of any error at setup form you may display actual error returned from Stripe payment gateway by enabling `Display actual error returned from payment gateway` switch as you can see in screenshot.

You must need to setup webhooks URL for recurring billing. Please follow below steps to configure webhooks.

- Login to your Stripe account and go to Developers->Webhooks.
- Click on "+ Add endpoint" button to add webhook URL.
- You will get a popup where you need to add `http://yoursite.com/?arm-listener=arm_stripe_api` into "URL to be called" input.
- Select Webhook version and select Send all event types Filter event.
- Now click on "Add endpoint". That's it.

You must need to set Trial Period duration in `DAYS`.

IMPORTANT NOTE: `Paid Trial` is `not` supported with recurring plan in stripe. But you can manage such cases in ARMember by following the steps given bellow:

For ex. If you want to add $5 for trial period of 7 Day in a recurring plan for which billing amount is $20 every month. So, you have to create a subscription plan with 7 Day trial period from your Stripe account. When someone buys this plan, he/she will be charged $5 as one time charge and also $20 as a subscription charge for the first time only. After that he will be charged $20 only every month.

Go to your ARMember Plan Page and create plan accordingly.

Go to your ARMember Configure Plan + Signup Page - and set value for strip ID.

And after successful payment with stripe, you will find 2 payment transactions : 1. Trial Amount 2. Subscription Amount. (This process is automatically managed by ARMember)

### Subscription Retries for Failed 3D Secure Authorizations

As per new SCA regulatory, If a subscription payment fails due to authentication issues when using 3D Secure, the payment would not automatically retry based on your retry settings. Unauthorized payments are still considered active, as they are waiting to be authenticated and have not technically failed as payments.

You will need to enable the Send a Stripe Email to Authenticate toggle in your settings and configure the retry settings.

To enable the settings for authenticate email, follow below steps

- Log into your stripe account at https://dashboard.stripe.com/
- Click on the settings
- Click on Subscriptions and email from Billing section. which you can find under the Stripe apps settings.

- Now enable switches for customer emails under Manage payments that require 3D Secure

- You can set up to 3 reminders for your customer to complete the payment after payment has been initialized but did not complete 3D authentication. Set as per your requirement
- Save settings
- Now if any customer subscription is initialized and failed due to 3D authentication, Stripe will send him an email regarding confirm the payment. Stripe will send that email based on your reminder settings.
- After that, your customer has to complete the payment from the email that has been sent by Stripe

### Authorize.Net

To activate Authorize.Net gateway, you must requires API Login ID and Transaction Key.

Follow below steps to get API Login ID and Transaction Key:

- Log into your Merchant Interface at https://account.authorize.net.
- Click Account from the main toolbar.
- Click Settings in the main left side menu.
- Click API Login ID and Transaction Key in the Security Settings section.
- Under Create New Transaction Key, enter your Secret Answer.
- Note: When obtaining a new Transaction Key, you may choose to disable the old Transaction Key by clicking the box titled, Disable Old Transaction Key(s). You may want to do this if you suspect your previous Transaction Key is being used fraudulently.
- Click Submit.

For more detail about API Login ID and Transaction Key, please click here.

You must need to setup Silent Post URL URL for recurring billing. Please follow below steps to configure Silent Post URL.

- Click Account from the main toolbar.
- Click Settings in the main left side menu.
- Click Silent Post URL in the Transaction Format Settings section.
- You will find option to set URL. Please add `http://yoursite.com/?arm-listener=arm_authorizenet_api` into URL input.
- Click Submit.

In case of auto debit payment, first payment will be taken as one time payment irrespective of the plan whether it includes trial period or not. Date of second recurrence will be set as subscription start date in authorize.net website for respected plan.

#### Trial Period + Authorize.NET

In Authorize.NET, you must keep same unit for trial period and billing cycle. (For example if your billing cycle is for 1 month, then you are allowed to set trial period in months only.)

But with ARMember plugin, you can override this limitation. You are allowed to keep Trial Period in Days and Billing Cycle in months in ARMember. (In short, there is no more requirement to set same unit for trial period as billing cycle while using this plugin. )

Authorize.net does not support billing cycle less than 7 Days.

In case of any error at setup form you may display actual error returned from Authorize.Net payment gateway by enabling `Display actual error returned from payment gateway` switch as you can see in screenshot.

Authorize.net does provide AVS(Address Verification Services) and if you have made a Address, City, State, Country and Zip code(Postal Code) field mandatory to fill then you need to create those field with meta key respectively.

Meta Key list for Extra fields. Address as `address`, City as `city`, State as `state` , Zip Code as `zip_code` and for Country as `country`

### 2Checkout

To activate 2Checkout gateway, you must requires API Username, API Password, Seller Id, Private Key, and Secret Word.

- #### API Username and API Password

  Follow below steps to create username:

  - Log in to your 2Checkout account.
  - Click the Account tab.
  - Click the User Management sub-tab.
  - Click +Create Username
  - Enter the required details for: email, username, and password. You should enter an un-monitored or "no-reply" email if you do not wish to receive additional email from 2Checkout regarding sales and other actions.
  - Click the API Access radio button.
  - Check the API Updating box if this username must have "write" access to your account. If you are unsure of whether or not you need this permission, refer to your cart's support documentation, or discuss this further with your software development team.
  - Click Create Username
  - After clicking Create Username you will be sent to another form where you can enter additional details for the username - you may skip over this step entirely as your username is already created.
  - Now store your API Username & Password.

  For more detail about API username & password, please click here.

- #### Seller Id (account number)

  Your 2Checkout account number (also known as: Seller Id (SID), vendor ID, merchant ID, account ID) can be found within your vendor area, and is located in the upper-right corner of the screen.

- #### Private key

  Follow below steps to get Private key:

  - Log in to your 2Checkout account.
  - Click the API tab.
  - Here You will find your Private key.
  - Note: If you do not see your Private key under the API tab, this indicates your account is not approved to use the Payment API.

  For more detail about private keys, please click here.

- #### API Secret Key

  Follow below steps to get API Secret key:

  - Log in to your 2Checkout account.
  - Navigate to Integrations -> Webhooks & API tab.
  - Here You will find API Secret key in the API section.

- #### Secret Word

  To set up the Secret Word, follow the steps below:

  - Log in to your 2Checkout account.
  - Click the Account tab.
  - Click the SITE MANAGEMENT sub-tab.
  - Scroll down to find the Secret Word field
  - You will be able to enter the Secret Word in the field that is under Direct Return and above the Approved URL field.
  - Click the Save Changes button at the bottom of the page.

  For more detail about Secret Word, please click here.

In order to set callback URL for payment process, Go to 2CheckOut control panel:

- Navigate to Account tab > Site Management
- Under the Direct Return heading, you will find following options:

- Given links back to my website (Select This Option)
- Direct Return (Our URL)
- Header Redirect (Your URL)

- In the Approved URL field set the URL where you want your customer to be sent after successful Payment.

2Checkout does not support "Day" in billing cycle and free trial.
2Checkout supports only first occurrence of billing cycle as trial duration. So if you want to give trial,then set same parameters in "Billing cycle" and "Trial Period Duration", otherwise plan expiration will not work properly with 2checkout.
In Case of Automatic subscription, If total payable amount will be 0 (Zero), then 2checkout gateway will not work.
You must need to enable Instant Notification Service (INS) URL url for recurring billing.

To set up your notification URL(s) click on the Webhooks tab in your account to be directed to the Settings page. On the Settings page you may then enter a Global URL to have all notifications sent to the same URL, or you may provide a specific URL for each notification type.

Below are instructions for setting the notification URL(s) for your account.

- Enter `http://yoursite.com/?arm-listener=arm_2checkout_api` URL in the Global URL field.
- Click the orange Apply button to the right of the Global URL field.
- To receive all notification types to that URL click the green Enable All Notifications link located above the Global URL field.
- Click the black Save Settings link located above the Global URL field or at the bottom of the page. NOTE: After clicking Save Changes the URL will no longer be visible in the Global URL field, but will be listed in the URL field for each notification type.

### Bank Transfer

By enabling Bank Transfer Gateway, You will find an option in Configure Plan & Signup Page.

Here you can set fields to display on checkout page like `Transaction ID`, `Bank Name`, `Account Holder Name`, `Additional Info/Note` & `Payment Method`. Whichever field you select from here will be required in front end. here `Payment Method` indicates that how you want to accept payment from users like: by Cheque, by Digital Transfer, by cash, etc.

If there is zero(0) amount transaction with Bank Transfer and New user approval is auto then that transaction will approved automatically.

When someone signup for paid plan with bank transfer, transaction with pending status will be added in payment history and after that admin will have to Approve/Reject that transaction in order to activate member's plan.

If Admin Approves transaction, then member's plan will be activated. If Admin Rejects, member's transaction will be rejected & plan will be reset.

For Recurring billing plan if you pay with bank transfer, then its payment mode will be considered as "Semi Automatic Subscription".

#### Transaction ID Label

Add label for "Transaction ID" option

#### Bank Name Label

Add label for "Bank Name" option

#### Account Holder Name Label

Add label for "Account Holder Name" option

#### Additional Info/Note Label

Add label for "Additional Info/Note" option

#### Payment Method Label

Add label for "Payment Method Label" option

Please note that while uninstalling ARMember, if any user has auto recurring subscription then that will be canceled from payment gateways.

#### Do not allow user to submit transaction data more than on time

WHen this feature is Enabled then Members will not be able to purchase membership plan which is already purchased using Bank Transfer Payment Gateway and their payment transaction status for that particular plan status is "Pending".

### Woocommerce

This payment gateway option provides facility to purchase ARMember membership plan using woocommerce checkout payment methods.

This payment gateway requires 'Woocommerce' installed and 'Woocommerce Integration' addon enabled from add-ons page of ARMember.

So after enabling 'Woocommerce' and 'Woocommerce Integration' addon, 'Woocommerce' payment gateway option will display at 'ARMember General Settings' -> 'Payment Gateways' page.

When this payment gateway enables, it automatically displays as payment gateway option in 'Configure Plan + Signup Page'.

# Page Setup

ARMember provides all required default pages. But if you want to create new pages according to requirement then you can create them and assign/map related page here in this option.

Go to the Page Setup Tab at General Settings to map pages.

Pages you can set here are listed below:

- Registration Page
- Login Page
- Forgot Password Page
- Change Password Page
- Edit Profile Page
- Members Profile Page `Available only if Social Feature addon is enabled`

# Opt-ins

Opt-ins section will only available if you activate Opt-ins from Add-ons.

You can configure available Email Marketing Tools from this area.

Go to the Opt-ins Tab at General Settings to configure Email Marketing Tools.

To configure tool, you just need to verify your Email Marketer account by entering API key and other required details. And after verification, system will fetch all the list name/campaign name from your account.

After configuration of tool, You will have opt-ins option in registration form - edit page, there you can select configured opt-in tools to add subscriber to list when they register to your site.

So, whenever anyone will register with that form, that user will be added to selected list of specific tool as subscriber automatically. We have internally mapped `First Name`, `Last Name` & `Email Address` field of specific form with Email Marketing Tools.

### Aweber

Please note that Aweber mechanism has been updated with latest method. Now it will authorize using Authorization code instead of user application.

Please follow below steps to configure Aweber API

1. Please click on button `Get Authorization Code` you will get a popup where you need to login to your Aweber account.
2. After that you will get an Authorization code generated by AWeber.
3. Copy authorization code and paste in authorization code field.
4. Click on Authorize button to get account authorized and connected.
5. When you connected your account successfully system will fetch all the list names from your aweber account. Select default List name to add subscribers in your account.

- Note:

- You can refresh your list names anytime by clicking the link Refresh List
- You can Deactivate the integration of your account with your system by clicking the link Delete Configuration.

### Mail Chimp

Please follow below steps to configure Mailchimp API

1. Please Enter your "API Key" obtained from your Mailchimp account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all list names from your account. Select default List name to add subscribes.
4. If you want to enable double opt-in method for Mailchimp, then select "Enable double opt-in" checkbox.

- Get API Key from Mailchimp Application

- First of all login to you Mailchimp account and click your profile name to expand the Account Panel, and choose `Account`.
- Than, Click on Extras drop-down menu and choose `API keys`.
- You can copy an existing API key OR click the `Create A Key` button for creating a new key.

To add subscribe details with First Name and Last Name MailChimp account parameter name must have 'FNAME' for First Name and 'LNAME' for Last Name at MailChimp Account by selecting List -> Settings -> List fields and *|MERGE|* tags page.

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Constant Contact

Please follow below steps to configure Constant Contact API

1. Please Enter your "API key" and "Access Token" obtained from your Constant Contact account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all list names from your account. Select default List name to add subscribes.

- Get API Key and Access Token from Constant Contact Application

- Sign up for a Mashery account or log in.
- Confirm your account, if it's new. Than, Register an Application.
- After Register an Application API Key will be assigned to your application.
- Fill your API Key into this page (if not already filled in) and click Get Access Token.
- Getting an access token requires a Constant Contact account. When you click on Get Access Token, Than you are taken to a Constant Contact account sign up page. Create a new account, or if you have an existing Constant Contact account (NOT your Mashery developer account), sign in.

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mailster - Email Newsletter Plugin for WordPress (External Plugin Support)

ARMember provides support to this plugin only the plugin version is 2.0 or Higher.

If you have `opt-in addon activated` in your systems and you have installed - Mailster for newsletter then you will get functionality to add user to the particular list created with Mailster, at time of "registration" ( with ARMember Registration form ).

So, you have to check the checkbox option and select list according your requirement (`if you will not select any list then user will be added as subscriber in Mailster list - but they will not belong to any list`). So, now your registered user will be added to particular list of Mailster and you will find list under `Mailster - "Newsletter" Tab > Subscribers` , along with user's list detail.

### GetResponse

Please follow below steps to configure GetResponse API

1. Please Enter your "API Key" obtained from your GetResponse account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all campaign names from your account. Select default campaign name to add subscribes.

- Get API Key from GetResponse Application

- Login to your GetResponse Account
- You can find API Key under `My account` > `Account details` > `API & oAuth`.

- Note:

- You can refresh your campaign names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mad Mimi

Please follow below steps to configure Mad Mimi API

1. Please Enter your "Email" and "API Key" obtained from your Mad Mimi account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all list names from your account. Select default List name to add subscribes.

- Get API Key from Mad Mimi Application

- Login to your Mad Mimi Account
- First of all Click on `Account`.
- Than, Right Sidebar You can see `API` tab and click on this tab and you can see API Key

- Note:

- You can refresh your list names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Mailer Lite

Please follow below steps to configure Mailer Lite API

1. Please Enter "API Key" obtained from your Mailer Lite account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all group names from your account. Select default Group name to add subscribes.

- Get API Key from Mailer Lite Application

- Login to your Mailer Lite Account
- First of all Hover your profile name to expand the `Integrations` > `Developer API`.
- Than, You can see API Key

- Note:

- You can refresh your group names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

### Brevo

Please follow the below steps to configure Brevo API

1. Please Enter "API Key" obtained from your Brevo account.
2. Click on "Verify" link.
3. That's all!! System will verify your account and fetch all group names from your account. Select default List ID to add subscribes.

- Get API Key from Brevo account

- Login to your Brevo Account
- Click on the "User Account" link on the top right corner of the screen. and then you will see the `SMTP & API` menu. Click on that menu.
- Select API Keys tab
- Then click on the `GENERATE A NEW API KEY` button at the top right side.
- Fill the detail and click on GENERATE button. that's it.
- After that, you can see API Key

- Note:

- You can refresh your group names anytime by clicking the link "Refresh List"
- You can Deactivate the integration of your account with your system by clicking the link "Delete Configuration".

If ARMember "Opt-in" module is activated, you will get option in SignUp form settings page - in right side bottom as shown in following image:

#### Conditional Subscription :

Now you may want to add users conditionally, for that ARMember provides `Conditional Subscription` switch at Opt-ins options in form editor. When you enable this option you will get conditional area visible at there where you can set condition. Now your subscription will be subscribed only if your condition become true at front.

You can set following possible conditions.

1. Any field's value is equals(=) to condition's value.

2. Any field's value is not equals(!=) to condition's value.

3. Any field's value is greater than(>) to condition's value.

4. Any field's value is less than(<) to condition's value.

# Default Restriction Rules

### Restrict Admin Panel

If it is required for you to restrict admin panel access from non-admin users, please check this option.

If you have enabled this option, then admin panel will be accessible only by all users who have either 'Administrator' role OR selected roles in 'Exclude role.." select box.

### Block RSS feeds

You can restrict users to check RSS feeds. If this switch is on, then feeds will be completely hide even though accessible according to access rules set for plan members( non-members cannot access the feed ).

### Restrict Site Access Without Login

You can `restrict` whole site for non-logged in members. When this option enable, you can set default page to display to non-logged in users.

If you enable this facility then any other pages will not be accessible by non-logged users except some pages like registration page, forgot password page OR selected pages in 'Exclude pages.." select box..

### Allow restricted Pages/Posts in listing

If you enable this switch than, restricted content will be displayed in listing only.

## Default Access Rules

This section contains all default options related to access rules.

As ARMember provides to set protection on existing Pages, Posts, Categories, etc.. from Access Rules Page, but what about if new page or post is created afterwards?

For new items you are able to set access rules here. click on input you will get list of all plans. You can add multiple plans here.

So these default settings of access rules will be applied when any new item get created.

You can set protection on following items,

- New Pages
- New Posts
- New Categories
- New Navigation Menus
- New Custom Posts
- New Custom Taxonomies

## Default Restrictions For Drip Content

When the Drip Content module is activated, at the time you will be able to enable the default restrictions for the Drip Content at `ARMember` -> `General Settings` -> `Default Restrictions`

### Allow content prior subscription

When the member purchases a membership plan, and if there is any drip rule set from `ARMember` -> `Drip Content`, then all the drip rules will get assigned to the members as per the drip rules set to be accessed to a membership plan.

But when the option `Allow content prior subscription` is enabled, then the members will only be able to access the Drip Rules that are created after the members purchases the particular membership plans and the old drip rules before purchasing the membership plans will not be assigned to the members.

### Allow content post subscription

When the member's plan is expired or cancelled, then members will not be able to access the Drip Rules that are already assigned to the members as per their membership plans.

But when the option `Allow content post subscription` is enabled, and the member's membership plan is expired or somehow cancelled, then also, members will be able to access all the drip rules that are created at a time and assigned to the particular membership plans.

#### Sync Dripped Content

Enabling the syncing for the Drip Content, all the members whose plans are expired will be able to access all the drip content that was assigned to them before their membership plan was expired.

WARNING: Drip rule will only be accessed by the members that were created before their membership plan expired. The new drip rules created after the expiration of membership plan will not be assigned to the old members and only to the new members.

# Security Options

Go to the Security Options Tab at General Settings to add Security options.

### Enable Login Security For Failed Login Attempts

If you enable this option ARMember will keep record of `IP address` and `timestamp` of each failed login attempt. If more than certain number of attempts are detected within a short period of time from the same IP range, then the login function is disabled for all requests from that range of IP Address.

- Maximum Number of login attempts: Number of allowed login attempts

- Lock user temporarily for : Temporary lockdown Duration in minutes

- Permanent lock user after login attempts : Number of allowed login attempts

- Permanent lockdown Duration : Lockdown Duration in Hours

- Reset Login Attempts : You can clear all failed login attempts for every users.

- Display Remained Login Attempts Warning : If this option is enable then it will show front end user, how many login attempts are remained as warning.

When user exceeds the maximum number of login attempts, he/she will be blocked for temporary lock down time duration.

### Block Username

You can restrict specific keywords from being used as `username` in registration form with this option.

When user try to register with blocked username, Error message will be displayed. Also you can display specific error message with Blocked Username Message option.

- Note: You should place each `Username` on a new line.

### Block Email Addresses

You can restrict specific keywords from being used in `email address` at time of registration.

When someone try to register with blocked email address, for that you can set custom error message from Blocked Email Addresses Message option.

- Note: You should place each `Email Address` on a new line.

### Block IP Addresses

You can block site access for specific IP address with this option.

If anyone try to access site with mentioned blocked IP address, Error message will be displayed. Also you can display specific error message with Blocked IP Address Message option.

- Note: You should place each `IP Address` on a new line.

### Block URLs

You can block site access to specific URL or URL Patterns requested from users.

You can use `wildcard(*)` for specific pattern.

##### For Example

    http://www.example.com/*some_text*/page

- Note: You should place each `URL` or `URL Pattern` on a new line.

You will be able to block URLs plan wise too. You can add as many conditions as you want.

You will find two Blocked URLs Options whether you want to Display Message or Redirect to page when requested URL is blocked.

- If you select Display Message, You will have input to add message to be displayed when requested URL or URL pattern is blocked.
- If you select Redirect to page, You will have input to add specific URL where you want to redirect users when requested URL or URL pattern is blocked.

### Display Login History

You can keep track of login history in database for all users, if display login history switch is on.

- Reset Login History : you can clear login history log from database for all users by one click.

# Import / Export

Go to the Import / Export tab at General Settings page. Where you can see two different sections of import and export process.

## User Export

Here you can export all/particular users of your site with member data. You have given options to select particular users like users of particular plan, users of particular status or based on joining date.

- ### Plans

  Here you have list of all plans you have created. You can select one or more plans. Users of particular selected plans will be exported.

- ### Member Status

  From here you are able to export members having particular status. Member status can be Active, Inactive or Pending.

- ### Joining Date

  Select Start Date and End Date here. All Members whose joining date is between Selected Start Date and End Date, will be exported.

You will see Select Meta button. On clicking on it, you will see a popup with all user custom fields. From this popup, you will be able to select which fields you want to export, so exported file will contain only those fields.

Default exported fields are UserID, Email, Username, User Status, User Role, Membership Plan, Joined Date, Subscription Start Date.

At last, there are two export buttons for two different format. If click on Export as CSV then you will get exported file in `CSV` format and if you click on Export as XML then you will get exported file in `XML` format.

You can export only non-admin users.

## User Import

As you export members, you are also able to import members.

To import members, follow below steps:

- Upload your `CSV` or `XML` file exported previously from this plugin only.
- Select one of plan to import members into selected plan.
- Click on Import button, than popup will be open with list of users with their details as shown in below screenshot.
- You can select users which you want to import. You can not select existing users from the list.
- After selecting users, Click on Add button to import users into system.
- You are allowed to import subscription start date for each user by adding one specific column `"arm_subscription_start_date"` to the CSV which your going to import. The column name must be "arm_subscription_start_date" otherwise it will not work. Also `date format must be like '2017-03-28'`.

At time of importing users, you can set their password from one of the two available ways.

- #### Set Fix Password:

  You can set a common password for all imported user.

- #### Generate Dynamically:

  Here dynamic password will get generated for all imported users. Here you will get checkbox for 'send reset password link by email'. If you keep this checkbox enabled while importing user then all imported users will get email containing reset password link.

  You can change content of this email from ARMember->Email Notifications->Standard Email Responses -> `Forgot Password`

- #### Set Password available in Import File:

  You can set same user password from the import file. But your file must have column name as: “user_pass”. Otherwise this option will not work.

## Export Settings

If you require to export your plugin settings for members then here is the option..! Export Settings where you have selective options. Select options you want to export and click on Export button.

Available Settings to export,

- General Options - All general options will be exported.
- Block Options - Export all block functionality related settings.
- Common Messages - Export all common messages.

## Import Settings

Here you will be able to import your previously exported settings from ARMember.

To import settings, follow below steps:

- Open `Text` file exported previously from this plugin only.
- Copy file content and paste into Import Setting textarea.
- Click on Import button. That's it.

# Social Connect / Login

Social Connect / Login section will only available if you activate Social Connect / Login from Add-ons.

Go to the Social Connect / Login tab at General Settings page. Where you can configure social networks.

### Social Login Shortcode

Here Shortcode is provided. That can be used to display all active social network login icons at front-end.

##### Social Login Shortcode:

    [arm_social_login]

## Social Signup Configuration

### Enable One Click Sign Up

If this setting is enabled, then guest user can be registered in system with just one click on social connect button. After login user will be redirected to a page/URL which is set in Social Connect Redirection setting under `General Settings` -> `Redirection Rules` tab.

### Opt-ins

This option will come only if one click sign up is enabled. This option will list all configured opt-ins in `General Settings` -> `Opt-Ins Configuration` tab. After selecting opt-in, List selection box will be displayed. You can select list and opt-in in which you want to add user who will register in the system using one click sign up.

### Assign Default Plan

This option will come only if one click sign up is enabled. This option will list only free membership plans. You can select any of free plans which you want to assign to users who will register in the system using one click sign up.

### Registration Form Page

This option will come only if one click sign up is disabled. This option will list all pages, Select registration page where you have placed shortcode of your registration form. So when user will click on social connect button, he will be asked for social account credentials. After login to social account all basic user information like email, birth date etc. will be fetched from his social account and if email is already registered in your website, then he will be logged in directly, other wise he will be redirected to page selected in this option. Registration form on this page will be auto filled with all details fetched from social account. In this way social sign up works.

### Get Social Avatar while authenticate with social connect buttons

If this option is enabled then social profile image will be set as user's Avatar.

Make sure that `allow_url_fopen` setting is ON in your server configuration.

## Social Networks

ARMember supports following social networks.

You have to fill required information related to particular social network. For example if you wish to active Facebook then App ID and App Secret are required.

### Facebook

In order to get keys needed for Facebook API integration follow bellow instructions.

#### Create Facebook App

Following steps will help you to get your Facebook Application Id and App Secret.

1. Login to your account to create new application on this link.
2. To add your application, please choose Apps from the header navigation and then select Add a New App.
3. Select the platform you want to add for your application.
4. Set Related App name and then select Create New Facebook App ID.
5. Set No for Is this a test version of another app? and choose category for your Application and click on Create App ID.
6. Now you will have your new application details at your App's Dashboard

#### App ID

Your Application ID is unique id available at your App's Dashboard.

#### App Secret

Facebook will auto-generate an App Secret for your application. Your App Secret will be treated as password therefore you have to click on Show button to make your App Secret visible.

Get your unique `App ID` and `App Secret` and use them for ARMember plugin where needed.

Also you need to set your website URL in "App Domains" of created App. Do not forget to set this,otherwise social connect will not work with ARMember.

### Twitter

In order to get keys needed for Twitter API follow certain instructions given below.

#### Create Twitter Application

Following steps will help you to get Consumer key & Consumer secret for Twitter.

1. Login to your account at dev.twitter.com/apps and click on Create New App button.
2. Now fill required information like name, description, website for your application.
3. Tick Yes, I agree to accept the Terms of services and click on Create your Twitter Application button.
4. Now you have all your created applications on apps.twitter.com
5. Go to "Settings" tab and add URL of your website in website textbox under application Details.
6. Set callback URL "http://your-site-url/?page=arm_twitter_return" in Callback URL. You may get callback URL from `ARMember` -> `General Settings` -> `Social Connect` -> `Twitter`.

#### Request Twitter To Elevated Permissions

You must need to get permissions from twitter otherwise One Click Sign Up with twitter not working proper.

1. Go to https://support.twitter.com/forms/platform
2. Select "I need access to special permissions" and then select "Permission to request email address for Fabric apps"
3. Enter Application Name and ID. These can be obtained via https://apps.twitter.com/ -- the application ID is the numeric part in the browser's address bar after you click your app.
4. Permissions Request: "Email address"
5. Submit & wait for response
6. After your request is granted, an additional permission setting is added in your twitter app's "Permission" section. Go to "Additional Permissions" and just tick the checkbox for "Request email addresses from users".

#### Consumer Key ( API key ) and Consumer Secret ( API Secret )

To get these keys click OAuth Tool tab in your Twitter Application where you are able to have your consumer key and consumer secret.

Copy these keys from here and use them in our ARMember plugin where needed.

### LinkedIn

In order to get Client ID and Client Secret for LinkedIn, you have to follow steps given below.

#### Create an application

1. First of all Login in LinkedIn and go to www.linkedin.com/developers/apps/new .
2. Click on Create app from the top right hand side.

Please see below screenshot.

3. Provide all information asked to fill here. You can use dummy data except for Website URL, provide an absolute URL and click on Create app.

Please see below screenshot

4. After follow above all step please configure new "Sign In with LinkedIn using OpenID" connect to your `LinkedIn App` -> `Select or add App` -> `Products`-> "Sign In with LinkedIn using OpenID" click on "Request Access"

5. After create app successfully now Go to Auth Tab beside Settings Tab and you need to set Redirect URL in OAuth 2.0 settings. You can get Redirect URL from `ARMember` -> `General Settings` -> `Social Connect` page at LinkedIn Configuration section.

6. Now you can get Client ID and Client Secret from Auth tab. Copy that keys and use them in our ARMember plugin where needed.

Please see below screenshot

For more information please refer LinkedIn documenration

### Google

In order to get Client ID for Google, you have to follow steps given below.

#### Create Project

1. First you have to login to your google account in order to create project.
2. Go to the Google Developers Console
3. Select an existing project from the projects list, or click NEW PROJECT to create a new project
4. After then dialog box will appear where you have to provide your Project name and a Project ID for your new app and click CREATE.
5. In the left side navigation panel, select Credentials under the APIs & Services section
6. Select the OAuth consent screen tab, specify the consent screen settings.
7. In Application name field, enter the name of your Application.
8. In Support email filed, choose an email address for user support.
9. In the Authorized domains, specify the domains which will be allowed to authenticate using OAuth.
10. Click the Save button.
11. Select the Credentials tab, click the Create credentials drop-down and select OAuth client ID.
12. In the Application type section, select Web application.
13. In the Authorized redirect URIs field, enter the redirect URL.
14. Click the Create button.

After that a dialog box will appear with OAuth client details, copy that Client ID and Client secret.

For more information please refer Google documenration

### VKontakte

In order to get API ID for VKontakte, you have to follow steps given below.

1. Login first in VKontakte and Create a new app.
2. It will be required to confirm the request with an SMS message for the security reason.
3. Register your new application by adding information asked there, complete the form and Save your application.
4. Once the application is registered, you will have your `APPLICATION ID` and `SECURE KEY`as described below..

### Application Id and Secure Key

Go to the Settings page.

On setting page set Authorized redirect URI field. That is display in ARMember General Setting in Social Connect tab to VK section.

Now you can get Application Id and Secure Key.

Copy these keys and use them in our ARMember plugin where needed.

### Instagram

In order to get keys required for Instagram API integration please go through following instructions.

#### Create Instagram Client

Following steps will help you to get your Instagram Application Client ID and Client Secret.

1. Login to your account to create new client from here.
2. To add or manage your client, please choose Apps from the below header navigation click on Register a Client
3. Set Related Application name, Description, Company Name, Website URL, Valid redirect URIs, Privacy Policy URL, Contact email and then click on Register.
4. Now you will have your new client details at your Manage Clients
5. To get `Client ID` and `Client Secret` click on Manage link.

#### Client ID

Your Client ID is unique id available at your Manage Client page.

#### Client Secret

Instagram will auto-generate an Client Secret for your client. To get Client Secrent you have to click on Manage button then after Client Secret will be visible.

Get your unique `Client ID` and `Client Secret` and use them for ARMember plugin where needed.

### Tumblr

In order to get the keys required for Tumblr API integration please go through the following instructions.

#### Create Tumblr Client

The following steps will help you to get your Tumblr Application Consumer Key and Consumer Secret.

1. Login to your account to create a new client from here.
2. Click on User Account icon -> Click on Edit Appearance menu link.
3. After that, you will see the Apps menu link on the right side of the screen.
4. You will see the Register link at the bottom of the screen to register new App. link look like "Wanna make an app? Cool. Register to use the Tumblr API, then have at it."
5. Then Fill the detail to register the Tumblr app. there you will see the "Default callback URL:" option, there you need to add the "Callback URL" display at `ARMember` -> `General Settings` -> `Social Connect` tab at the left side -> `Tumblr` section.
6. Click on Register button.

7. After creating an App, you will see the `Consumer Key` and `Consumer Secret` in Apps listing on the "Apps" menu page that screen looks like as you can see in the below screenshot.

8. After creating Tumblr Application, enable tumblr application and add application credentials at `ARMember` -> `General Settings` -> `Social Connect` page at Tumblr section.

### Social Connect Icons and formatting

ARMember provides formatting options of a social icon in login form with its preview. You can set it from `Manage Forms > Other Forms (set of forms)` You will find settings, shown in below screenshot

ARMember provides 7 different icons option for each social network as well as you can upload custom icon. Also you can set order of social icons for selected networks. For these settings check settings of "Button Skin" in social connect options.

### Social Login Shortcode in any post/page

You can add Shortcode of any social login network, through the "Membership Shortcode" option by editing page/post.

# BuddyPress/BuddyBoss

BuddyPress/BuddyBoss section will only available if you activate BuddyPress/BuddyBoss Integration from Add-ons.

Go to the BuddyPress or BuddyBoss tab at General Settings page. Where you can configure BuddyPress/BuddyBoss settings.

### BuddyPress/BuddyBoss Profile Fields Mapping

Also We have facility to map BuddyPress/BuddyBoss profile fields with ARMember Sign Up/Edit Profile form fields.

After activating BuddyPress/BuddyBoss addon, you will find "BuddyPress/BuddyBoss" tab in `ARMember`->`General Settings`.

Here under "Map with BuddyPress/BuddyBoss Profile Fields", you will find all fields from all ARMember sign up forms. With each ARMember field, you can map any BuddyPress/BuddyBoss Xprofile field.

NOTE: If you have installed and activated "BuddyPress/BuddyBoss Xprofile Custom Fields Type" plugin to add more fields type in BuddyPress/BuddyBoss, then you can also map all these fields type with ARMember form fields.

if you have mapped fields properly and saved the settings, then mapped ARMember and BuddyPress/BuddyBoss Profile will always remain in synchronization. If you don't want to sync any of the field then just remove its mapping and save the settings.

You can map ARMember user avatar and profile cover with BuddyPress/BuddyBoss Profile photo and cover photo by keeping respective switch on as shown in screenshot. After saving the settings, BuddyPress/BuddyBoss and ARMember avatar and profile cover will always remain in synchronization.

### BuddyPress/BuddyBoss Profile Page Mapping

If you want to display ARMember page instead of BuddyPress/BuddyBoss profile page to the users when they try to access BuddyPress/BuddyBoss profile page, then you can do it by selecting ARMember page in "Select ARMember Profile Page instead BuddyPress/BuddyBoss profile Page" select box and then save settings. Keep "Select Page" selected here, if you don't want to map ARMember page with BuddyPress/BuddyBoss Profile page.

### Sync BuddyPress/BuddyBoss & ARMember

Sync will happen only if you have mapped ARMember fields with BuddyPress/BuddyBoss fields and saved settings successfully. please note that this is one time process. It is helpful only when you want to push ARMember user data to BuddyPress/BuddyBoss OR Pull user data to ARMember from BuddyPress/BuddyBoss to sync ARMember and BuddyPress/BuddyBoss.

There are two sync actions provided as below:

- Pull Data from BuddyPress/BuddyBoss : If this action is selected, then all mapped ARMember fields will be filled with respective mapped BuddyPress/BuddyBoss field values.
- Pull Data from ARMember : If this action is selected, then all mapped BuddyPress/BuddyBoss fields will be filled with respective mapped ARMember field values.

Select an action and click on 'Sync' button, selected sync action will occur. You will need this action once because after this all mapped fields will always remain in synchronization.

# Redirection Rules

Go to the Redirection Rules tab at General Settings page. Where you can set default redirection rules for login, registration, plan + signup, social connect.

### Login Form Redirection Rules

From here, you can set rules for redirecting the user after successful login from ARMember login form. ARMember provides two options for login redirection. These rules apply same for all users irrespective of from which login form set user have logged in.

- Fixed Redirection
- Conditional Redirection

1. Fixed Redirection

   You can redirect user to a page/ specific URL / back to referrer after login.

   In case of URL two shortcodes are supported :

   - {ARMCURRENTUSERNAME} : add current user's username in url
   - {ARMCURRENTUSERID} : add current user's id in url

   So, this option will be helpful if you directly want to redirect users to their related profile page.(For example: profile page of BuddyPress/BuddyBoss having username or userid in its URL.)

2. Conditional Redirection

   You can conditionally redirect user to different pages according to his plan. Different conditions are as below:

   - First Time Logged In
   - In Trial
   - In Grace Period
   - Failed Payment
   - Pending
   - Before Expiration Of x Days

If none of the conditions matches, then user will be redirected to URL set in 'Default Redirection'.

NOTE: This rules will be applied only if user is logged in from front through ARMember login form.

### Basic SignUp Form Redirection Rules

From here, you can set rules for redirecting user after successful registration through ARMember sign up form . ARMember provides two options for sign up redirection.

- Fixed Redirection
- Form Wise Redirection

1. Fixed Redirection

   You can redirect user to a page/ specific URL / back to referrer after signup.

2. Form Wise Redirection

   You can conditionally redirect user to different pages based on sign up form from which he signed up.

If none of the conditions matches, then user will be redirected to URL set in 'Default Redirection'.

NOTE: This rules will be applied only if user is signed up from front through ARMember signup form.

### Plan+Sign Up Redirection Rules

From here, you can set rules for redirecting user from plan+sinup page.

ARMember provides different options for redirecting user from this page. For ex. when user first time sign up with any plan redirect to page A, when user changes to / purchase a new plan redirect to page B, when user renew his plan redirect user to page C.

These rules will apply irrespective of which plan+signup shortcode is used.

1. Redirection for Membership SignUp

   You can redirect users to fixed page / Fixed URL/ specific page plan wise when user first time sign up with any membership plan through plan+signup shortcode.

2. Redirection for Add/Change Membership

   You can redirect users to fixed page / Fixed URL when user purchase/changes to a new membership after login through plan+signup shortcode.

3. Redirection For Renew Membership

   You can redirect users to fixed page / Fixed URL when user renew his membership after login through plan+signup shortcode.

If none of the above case matches, then user will be redirected to URL set in 'Default Redirection'.

### Social Connect Redirection ( For One Click Signup )

From here, you can set rule for redirect user when they use social connect button to connect to system. You can redirect user to specific page/URL after they login to system using social connect button.

NOTE: This rules will be applied only if `One Click Sign up` is enabled in `Social Connect` from `ARMember` -> `General Settings`.

### Default Redirection Rules

From here, you can set default redirection rules for logged in/non logged in when they try to access restricted content from `ARMember` -> `Content Access Rules`.

1. For non logged in users

   All restricted content will be accessed only by user have specific plan/no plan as per set in access rules. So when any non logged in user try to access any restricted content(pages/posts), then he will be redirected to home/specific page as per set in 'For non logged in users ' option.

2. For logged in users

   When any logged in user try to access any restricted content(pages/posts), then he will be redirected to home/specific page as per set in 'For logged in users' option.

3. Restricted drip item access redirection

   When any user logged in/non logged in try to access any restricted content(pages/posts) which is added in `ARMember`->`General Settings` but not dripped yet, then he will be redirected to home/specific page as per set in 'Restricted drip item access redirection' option.

### Paid Post Redirection Rules

From here, you can set rules for redirecting the user after successful purchase paid post from Configure Plan + Signup Page. ARMember provides two options for paid post redirection.

1. Same page (Paid Post URL)

   You can redirect user after successful purchase paid post to purchased Paid Post URL.

2. Specific Page

   You can redirect user to specific page after successful purchase paid post.

# Common Messages

Here You can set default Error messages and Success messages on submit.

Go to the Common Messages Tab at General Settings to configure Error messages and Success messages.

### Login Related Messages

Here you can manage login form related messages.

### Forgot Password Messages

Here you can manage forgot password form related messages.

### Change Password Messages

Here you can manage change password form related messages.

### Close Account Messages

Here you can manage close account form related messages.

### Registration / Edit Profile Messages

Here you can manage registration/edit profile form related messages.

### Account Related Messages

Here you can manage account status related error messages.

### Payment Related Messages

Here you can manage payment related messages.

### Coupon Related Messages

Here you can manage Coupon Related Messages.

### Profile/Directory Related Messages

Here you can manage Profile/Directory Related Messages.

### Miscellaneous Messages

Here you can manage other section related messages.

#### Following picture shows which kind of messages are available to customize.

# Invoice &Tax

Invoice & Tax will only available if you activate Invoice & Tax from Add-ons.

After activating this module, you will able to add sales tax in plan+signup page and generate Invoice of each order.

### Invoice

Go to the Invoice Template tab at General Settings page. Where you can change in default template for invoice which can be directly print out by admin from `ARMemebr`->`Payment History`.

If you want to reset to "default template" again, then click on `Reset To Default Template` button. Do not forget to keep backup of template code as after resetting all changes in invoice template will be gone.

Invoice will open in popup when you click on View Invoice action button in Payment History. Here in popup Print button is available from where you can directly print out.

NOTE: `View Invoice` action button will come only for transaction with Success status.

### Sales Tax

If this switch is enabled, then you can set percentage sales tax that will be applied on final payable amount on plan + sign up page. If coupon is applied on plan amount, then tax will be applied on (final payable amount = plan amount-coupon amount). If membership plan is of recurring type, then tax will be applied on every recurrence.

By default `Common Tax` option is selected which means common sales tax will be applied for all countries.

You can also select country wise tax.

By selecting Country wise Tax Option, you can set different percentage of tax for different countries.

Here `Select Country Field` have list of Dropdown or Radio type fields only from signup form.

Field `Default Tax` indicates the percentage of tax of other countries apart from country which is listed above.

Any change in sales tax rate will not affect already started subscriptions.

If you want to add tax percentage and total amount applied on final payable amount in payment summary, then you can add [TAX_AMOUNT] and [TAX_PERCENTAGE] shortcode in payment summary from 'Configure plan+Sign up page' settings.

You can add tax in email notifications and in invoice too. Template shortcodes are available for both.

### Invoice Prefix/Suffix Settings

You can find this option at `General Settings` > `General Options`.

By enabling this option you can set prefix, suffix and number of digit for invoice.

After save changes, you will see invoice number like following format in the screenshot.

# Debug Log Settings

ARMember does provide a facility to view/download/clear the Log file that is generated by the ARMember. so from the log file you can check that what request is occurs OR what response coming from the Payment Gateway OR Opt-ins that you are using in ARMember plugin OR what process done by the ARMember.

You can see the Debug Log option from the `ARMember`->`General Settings`->`Debug Log Settings`

You can enable the log for the Payment Gateway process, Opt-in process, and Cron process as like the below screenshot.

### View Log

By click on the `View Log` link, you will see the popup screen as like below screenshot, which shows the log for the selected Payment Gateway, Opt-ins, Cron and Email Notification in Debug Log Settings.

### Download Log

By click on the `Download Log` link, you will get the all logs in a zip folder(if zip extension is enabled in your PHP) OR text file in JSON format.

### Clear Log

By click on the `Clear Log` link, your all log will be cleared from the database.

# API Services

API Services will only available if you activate API Services from Add-ons.

After activating this module, you will able to use API to get membership plans, membership plan details, member details, member's purchase plan/post, member's plan/post payment transactions, check coupon code, add transaction, cancel member's plan, and check members plan.

### API Service

You can check API services and details from ARMember -> General Settings -> API Services page

- ### Security Key

  For API security need to generate security key. Security key is required for API call.

- ### List of Membership Plans

  This API get all membership plans. Return JSON array with if success then status 1 and response with all plans id, name, and description.

- ### Membership Plan Details

  Get membership plan details with a given plan id, plan id is required. Return JSON array with if success then status 1 and response plan details plan id, plan name, subscription type, plan amount, trial, etc.

  Field Name Parameters
  Plan ID `arm_plan_id` (Required)

- ### Member Details

  Get member details with a given user id and for get custom field value pass fields metakeys parameter `arm_metakeys`, user id is required parameter and fields metakeys is optional parameter and multiple Metakeys with comma separated. Return JSON array with if success then status 1 and response member details username, email, display name, first name, last name, status, and registretion date.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Field Metakeys `arm_metakeys` (Optional)

- ### Member's Membership Plans

  Get member's purchased membership plans and details with a given user id. User id is required parameter, Per Page record is default 5 and optional, and page number is default 1 and optional. Return JSON array with response member's plans detail plan id, plan name, start date, renew date, end date, and etc.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Per Page `arm_perpage` (Optional) (Default: 5)
  Page Number `arm_page` (Optional) (Default: 1)

- ### Member's Paid Posts

  Get member's purachased pay per posts and details with a given user id. User id is required parameter, Per Page record is default 5 and optional, and page number is default 1 and optional. Return JSON array with response member's paid posts details post name, start date, renew date, end date, and etc.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Per Page `arm_perpage` (Optional) (Default: 5)
  Page Number `arm_page` (Optional) (Default: 1)

- ### Member's Plan Payment Transactions

  Get member's purchased plan payment transaction details with a given user id. User id is required parameter, Per Page record is default 5 and optional, and page number is default 1 and optional. Return JSON array with response member's transactions detail log id, transaction id, plan name, payment gateway name, payment type, status, plan amount, paid amount, tax, discount, and etc.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Per Page `arm_perpage` (Optional) (Default: 5)
  Page Number `arm_page` (Optional) (Default: 1)

- ### Member's Paid Post Payment Transactions

  Get member's purchased pay per post payment transaction details with a given user id. User id is required parameter, Per Page record is default 5 and optional, and page number is default 1 and optional. Return JSON array with response member's transactions detail log id, transaction id, plan name, payment gateway name, payment type, status, plan amount, paid amount, tax, discount, and etc.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Per Page `arm_perpage` (Optional) (Default: 5)
  Page Number `arm_page` (Optional) (Default: 1)

- ### Check Coupon Code

  Check the coupon code is available for plan and discount amount of plan. Return JSON array with response discount amount, total plan amount after discount, type of discount, discount, and coupon apply for each subscriptions.

  Field Name Parameters
  Coupon Code `coupon_code` (Required)
  Plan ID `plan_id` (Required)
  Payment Gateway `gateway` (Optional)

- ### Add Plan to Member

  Add plan to member with given user id and plan id. User id is require parameter, and plan id is require parameter. Return 1 if successfully add plan to member.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Plan ID `arm_plan_id` (Required)

- ### Add Transaction

  Add membership plan and pay par post purchase transaction with given user id. User id is require parameter, plan id is require parameter, and other parameter as per below. Status parameter default is pending or allows status success, canceled, and failed. Amount paramter pass value without tax amount. Total parameter pass value with tax amount.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Plan ID `plan_id` (Required)
  Transaction ID `arm_trans_id` (Optional)
  Payment Gateway `gateway` (Optional) (Default: manual)
  Status `arm_status` (Optional) (Default: pending)
  Amount `arm_amount` (Optional) (Default: 0)
  Total `arm_total` (Optional) (Default: 0)
  Tax Amount `arm_tax_amount` (Optional) (Default: 0)
  Coupon Code `coupon_code` (Optional)
  Paid Post Payment `is_post_payment` (Optional) (Default: 0)
  Paid Post ID `is_post_id` (Optional) (Default: 0)

- ### Cancel Member's plan

  Cancel membership plan for member with given user id and plan id. User id is require parameter, and plan id is require parameter. Return 1 if successfully cancel plan to member.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Plan ID `arm_plan_id` (Required)

- ### Check Member's Membership

  Check member's membership plan is Active/Suspend with given user id and plan id. User id is require parameter, and plan id is require parameter. Return status 1 if there was plan found with member id and response is_plan is 1 and if suspended then is_suspended is 1.

  Field Name Parameters
  Member ID `arm_user_id` (Required)
  Plan ID `arm_plan_id` (Required)

# Single vs. Multiple Membership

ARMembers provides facility to have multiple membership simultaneously for members.

Multiple Membership will be available only if you activate Multiple Membership from Add-ons.

1. Single Membership

   If Multiple Membership add-on is not activated, then user cannot have more than one plan. When user have already one plan and again purchase a new plan, then it is considered as 'Change Plan' action and old plan is removed from user and new plan is assigned.

2. Multiple Membership

   If Multiple Membership add-on is activated, then user can have more than one plan simultaneously. When user have already one plan and again purchase a new plan, then it is considered as 'Add Plan' action and new plan is added in user's plan list. Users can have as many plans as they want simultaneously.

   User can purchase only one plan at a time.

   In Manage Members grid, user's all plans will be displayed as below:

   All plan details will be displayed in child grid.

# Membership Plan Purchase Limit

Purchase Limit will only available if you activate Membership Limit from Add-ons.

Membership Limit is functionality that provide facility to limit a membership/paid-post purchases made by a members

## Configure Membership Limit on membership plan

To configure the Membership plan Limit, you need to set `Membership plan purchase limit` for the `Membership plans`

From `ARMember`->`Manage Plans` -> Add/Edit membership plan.

## Configure Membership Limit on Paid Post

To configure the Membership plan Limit, you need to set `Membership Paid Post purchase limit` for the `Paid Post`

From the above screen you can configure Membership Limit for Plans/Paid Post for the users.

You can change a Membership Limit message from `ARMember`->`General Settings` -> `Common Messages` at `Miscellaneous Messages` section

## Front end Message

If member purchase limit is exceeds and some member tries to pruchase a membership plan then it will display a message set from common message

# Manage Members

When ARMember plugin will be installed, Existing members will be treated as WordPress Default members, And those members are activated by default.

To view list of all members with their details go to the Manage Members menu from the admin interface.

Here you are able to see all members listed with their details like Username, Email Address, Membership, Role, Status, Joined date etc.. Each column is sortable here.

## Show / Hide columns

You are able to display only your required columns from this option. For example if you want to show Avatar and hide User ID column then click on Show / Hide columns button, Check Avatar and Uncheck User ID from list of columns.

## Bulk Actions

This option will be helpful when same action need to be performed on multiple user rows at same time.

- ### Delete

  Select number of rows that you want to delete and select Delete Bulk Action then click on Go button.

- ### Change Status To

  If you want to change member status more then one member then select user and select status that you want to change to all selected members then click on Go button.

- ### Change Plan To/Add Plan To

  To change subscription plan of members very easily, select members and select plan that you want to assign to all selected members and click on Go button.

  If you have activate 'Multiple Membership/Plans' module from `ARMember` -> `Add-ons` page. So its display 'Add Plan To' and you select member and select plan that you want to add to all selected members click on Go button.

  When member's plan changed by Admin, Membership History will be added as New Subscription with `Manual` payment.

## Actions

For each row of grid there are some action options provided which are as following,

- ### View Detail

  At each row you have Icon for `VIEW DETAIL` at right side, by clicking on VIEW DETAIL you will be redirected to member's detail page.

  There, you will find following details of member:

  #### Personal Details

  This section displays member's basic details, registration form (member registered through this form) & form fields & etc..

  #### Profile Picture & Login Detail

  This section display member's profile picture, edit profile link, member's badges & last login information.

  #### Membership History

  If user has subscribed to any membership plan, this section will display all membership history with list of membership events.

  #### Payment History

  If user had purchased any membership plan,this section will display all payment history.

- ### Edit Member

  At each row you have Icon for `EDIT MEMBER` at right side, by clicking on Edit Member you will be redirected to page where you will be allowed to Update Member Details.

  You will not be able to change Username.

  You can update member's basic field like `Email Address`, `Password`, `First Name`, `Last Name` & `User Role`

  You also can update / change `Membership Plan` & `Member Status`, `Extend Days` , `Renew Cycle` and other related fields ... from here.

  NOTE:

  - #### Extend Days

    Through this option you can extend plan renewal date for particular user. This option will not come if plan status is suspended.

  - #### Renew Cycle

    Through this option you can skip one subscription cycle for a particular user. If plan status is suspended and next renewal date is greater than current date, then next renewal date will not be changed and it is considered as payment of skipped cycle has come.

  - Extend Days & Renew Cycle will only work in case of plan with subscription. As well as only work with "Semi automatic" payment method.

  When member's plan changed by Admin, Membership History will be added as New Subscription with `Manual` payment.

  When any member will register using our registration form, that form & fields will be assigned to that user. So whenever admin or user update its profile, that form and fields will also be available in Edit Profile page.

- ### ReSend Email

  This Option will only be available if a member in a list is yet not active to site. So you can resend email of member verification to particular user.

- ### Change Status

  At each row you have Icon for `CHANGE STATUS` at right side, by clicking on Change Status, confirm popup will be open. Admin can either Activate, Inactivate Or Terminate users from here.

  There are many different types of member status available in different cases.

  #### Active

  Active status indicates that user is verified & activated in system.

  #### Pending

  Pending status indicates that user is not verified yet, that user need to verify/activate his/her account by going through verification email instruction.

  You can manually activate user status from here. And also notify user about his/her active status via email if keep Notify user via email checkbox selected while changing status. This checkbox is only available when user status is "PENDING".

  You can change this email notification content from `ARMember > Email Notification > Standard Email Responses > Manual User Activation`

  #### Inactive (Admin)

  When Admin inactivate any member, then Inactive (Admin) status will be assigned to that user. User's plan will not be affected with this action. These users cannot login to system.

  #### Inactive (User Canceled)

  Whenever member will cancel its recurring membership, then Inactive (User Canceled) status will be assigned to that user. When user close his account, all his plan will be removed.

  #### Terminated

  When Admin terminate any member, then all his plan will be removed and user will be assigned Terminated status. Terminated users cannot login to system.

- ### Manage Plans

  When click on these button a popup will open from where user can easily manage his plan like delete plan, change plan expiry date, make suspended plan active, add/change plan.

- ### Delete

  Each member can be deleted by just one click on `DELETE` Icon at right side.

## Filters

You have Search Box at top of the grid to get members by particular string. Another filters are also available at there as following,

- Membership Plans
- Subscription Mode (Automatic, Semi Automatic)
- Status (User status like Active, Inactive, pending,Terminated, Suspended Plan/Post User , Active Plan/Post User)
- Membership Type - If Multiple Membership/Plans is enabled from Add-ons then this will help you to filter members (Single Membership, Multiple Membership)
- Search By Field - (First Name, Last Name, Username, email, gender, etc.)

## Add New Member

You have a button at top, by clicking on Add Member button you will be redirected to page from where you can add members manually.

If you have multiple signup form available then here you will see the dropdown for list of signup form. from there you can select any signup form based on that form you will see the fields below.

Now you may no need to send Signup Completed Email Notification to User while adding new user manually then you just need to disable option here Send Signup Email Notification to User.

Note: At the time of update user's information it will not display the list of signup form as you can see in `Add New User` screen. Because ARMember automatically display the fields based on user signup using particular signup form. so at the time of Update User's Information, you doesn't need to select signup form.

# Manage Subsctiptions

To view list of all subscriptions and activities go to the Manage Subscriptions menu from the admin interface.

You can show a table for list of subscrtiption on `Subscription` tab for all Transactions list you can get it from `All Activity` Tab

Here you are able to see all members listed with their details like Membership plans, Username, Full Name,Subscription start date, Next cycle or expiration date, Transaction counts, Status etc..

Full Name will be displayed as First name and Last name

## Actions

For each row of grid there are some action options provided which are as following,

- ### Refunds

  At each row you have Icon for `Refunds` at right side, by clicking on Refund you will get refund popup to give a member refund.

  Please note that Refund icon will be available if member has paid with a payment gateway which has a refund facility

- ### Cancel Subscriptions

  At each row you have Icon for `Cancel` at right side, by clicking on Cancel Member's Membership plan will be canceled and removed from their account

## Filters

You have Search Box at top of the grid to get members by particular string. Another filters are also available at there as following,

- Membership Plans
- Subscription Status
- Payment Gateway
- Plan Type

## Add Subscriptions

You have a button at top, by clicking on Add Subscription button you will get form in model Popup.

You can assign a membership plan to particular member by filling and submiting a form.

# All Activities

To view list of all activities and click on >All Activities tab

Here you are able to see all members payment histories with their details like Invoice ID, Plans purchased, username, Payment Date, Paid amount, Payment Type and Status

## Actions

For each row of grid there are some action options provided which are as following,

- ### Invoices

  invoice button will be displayed if you have enabled Tax and Invoice Module from `ARMember` -> `Addons` page

- ### Approve & Reject

  At each row you have Icon for `Approve` and `Reject`will only display in Bank Transfer payments.

- ### View details

  At each row you have Icon for `View` at right side, by clicking on View Transactions detail will be displayed in popup

- ### Delete

  you can delete transactions data by clicking on delete button

## Filters

You have Search Box at top of the grid to get members by particular string. Another filters are also available at there as following,

- Membership Plans
- Payment Status
- Payment Gateway
- Payment Type

# Manage Subscription Plans

You are allowed to create unlimited plans ( For example, Free Plan, Silver Plan, Gold Plan etc.. ).

At Manage Plan you have a grid to manage all plans with following columns. Each column is sortable here.

- Plan Name - Shows Title of Plan you have set.
- Plan Type - Shows subscription is Free or Paid, if it is Paid then it will show `AMOUNT` with `PLAN DURATION`.
- Members - Shows number of users who has purchased particular subscription.
- WP Role - Shows Role to be assigned to the users of particular Plan.

You have a button Add New Plan at top where you can add different types of plans according to your requirements.

Here you can add various different types of Free/Paid Subscription plans with various general options and Subscription Types & Amount related options.

### General Options

Some Common Options for subscription plans are,

#### Plan Name

Add title of subscription to be displayed at front.

#### Plan Description

Add content to describe your plan to the site users.

#### Member Role

Here you will have list of all wordpress default user roles as well as ARMember add another role which is `ARMEMBER`. Select user role which is to be assigned to users of this plan.

#### Inherit Access Rules Of Subscription Plan

If you wish to have same access rules as you have set in other plans then you can select that plan, when this plan will be created access rules of your selected plan will be inherited.

### Plan Type & Price

Here you will get all different options to create different types of plans like free plan, paid plan(infinite), paid plan(finite), Subscription/Recurring Payment. Each options are described here.

#### Plan Types

Here you have different options available to select as per your requirements.

- Free Plans

  If you wish to create a free membership plan with no payment then select this option. Free membership plan is valid for lifetime, there will be no expiration of user's membership with this plan.

- Paid Plans

  Other 3 Options are for paid plans with different Payment Type case.

  Here you are able to create Paid membership plan with many options like Plan Duration, Amount, etc.. When you select any of Paid plan option, you will be able to access other related options of payment and payment cycle etc for a plan.

## Paid Plan

There are some possible types of plans you can create with different options. Each possible types of plans are described here.

1. Paid Plan (infinite) - Life Time Plan

   If you select this plan type, you just need to add Amount for your plan. There will be no expiration of user's membership with this plan.

2. Paid Plan (finite) (Specific Plan Duration)

   ###

   Select this option to give a specific time limitation for your paid plan. When you select this option, another options will be available - to set plan duration, action to be performed when plan duration will be finished, Upgrade or Downgrade Action option.

   For this plan, you have to add Amount.

   Plan Duration
   - Based on Joined Date:

     Here, you will be able to set Plan Duration in Days, Weeks, Months or Years. The expiration date totally depends on the joining date of a user.

   - Fix Duration:

     You can add a fix date on which plan will get expired irrespective of user's joining date.

     This option will be helpful if you wanted to create a small term campaign on your site. Suppose, you have set 28/02/2017 as expired date for your campaign, then all users' membership belong to this plan get expired on that day even though user has just registered before a day ago. And after that date (in this case : 28/02/2017) no user can do registration for that plan.

   End Of Term Action

   You can set actions to be performed when plan expire, you can block users or give access to Free Plan.

   Grace Period End of Term

   Grace Period is extension in `number of days of expiration` to any member having particular plan.

   If grace period is set to `greater than zero`, then these many days will be added to End Of Term(EOT).

   For example, if any member has expiration date of `10th Dec 2016` & grace period is set to `5 days` then EOT action of that user will be performed on `15th Dec 2016` as he will get 5 days extension for his expiration date. And in these 5 days he will get a chance to renew/change his membership & he will be able to access complete site as it is.

3. Subscription / Recurring Payment

   Select this as Payment Type to create Recurring Billing Paid Plan. On selecting this option you will have other options.

   You can set multiple payment cycle for same plan. On front end, while purchasing plan user will get an option to select with which payment cycle he wants to pay. Please note that user cannot change his payment cycle until all cycles complete.

   Billing Cycle

   Select Time duration for billing cycle, you can set time in Days, Months or Years.

   You should add Billing Cycle according to payment gateway support. i.e. Authorize.NET will not support daily billing cycle, it supports minimum 7 days billing cycle.

   Recurring Time

   From here you can select number of recurring occurrence, if you want to set no limit for recurring plan then you can select Infinite.

   Trial Period

   If you wish to provide trial period for plan to users then check this option and add your trial amount as well as trial period in Days, Months or Years.

   Billing Cycle Starts From

   From here, you can select from when the user's billing cycle should get started. (for ex: From transaction day/ 1st day of month .... to .... 31st day of month)

   This is Possible only in the case of semi-automatic / manual subscription

   Cancel Subscription Action (By User)

   Set actions that will be performed if member cancel his/her subscription from front-end, you can remove this plan from that user or give access to any of the Plan created in your system.

   You will get two more options : whether cancel subscription immediately or do not cancel it until plan get expired.

   If you select 'do not cancel it until plan get expired' in case of plan having Infinite recurring time, and if user cancel subscription from front end, then 'Cancel Subscription Action (By User)' action will occur after end of current payment cycle.

   End Of Term Action

   Also you can set actions to be performed when plan expire, you can remove plan from user or give access to any of the Plan created in your system.

   Grace Period End of Term

   Grace Period is extension in `number of days of expiration` to any member having particular plan.

   If grace period is set to `greater than zero`, then these many days will be added to End Of Term(EOT).

   For example, if any member has expiration date of `10th Dec 2016` & grace period is set to `5 days` then EOT action of that user will be performed on `15th Dec 2016` as he will get 5 days extension for his expiration date. And in these 5 days he will get a chance to renew/change his membership & he will be able to access complete site as it is.

   Payment Failed Action
   - Failed Payment in Auto Debit Subscription

     Failed Payment action will be called manually if payment is not received till next renewal date + 24 hours.

     Also Failed payment action will occur if 'Failed Payment' response is received from payment gateway side.

   - Failed Payment in Semi Automatic Subscription

     Failed Payment action will be called manually if user is failed to pay manually from your site till next renewal date.

   On fail payment, you can either remove plan from user or give access to any of the Plan created in your system.

   Grace Period Failed Payment

   Grace Period is extension in `number of days in case of Failed Payment` to any member having particular plan.

   How it will work in 2 different case of payment:

   For any reason if payment get failed from payment gateway side , these many days will be added to next renewal date for user to make successful payment.

   Enable Upgrade / Downgrade Action

   This action will not work for Multiple Membership add on is enabled. As in case of Multiple Membership, plan is not changed but plan is added to user plan list.

   Upgrade / Downgrade Action is for admin reference when user changes its plan from one to another plan.

   You will get individual options for Upgrade plan and Downgrade plan :

   - Upgrade Plan:

     Here, you have to Select plan(s) which you are considering as higher level is higher than current plan.

     And here you will get 2 action options:

     1. Upgrade to other plan after current plan expiration ( After End Of Term) : User's new plan will be apply only after current plan's end of term.

     2. Immediately upgrade to other plan: As soon as user will change the plan, on the spot new plan will be applied to that user.

   - Downgrade Plan:

     Here, you have to Select plan(s) which you are considering as lower level is lower than current plan.

     And here you will get 2 action options:

     1. Downgrade to other plan after current plan expiration ( After End Of Term) : User's new plan will be apply only after current plan's end of term.

     2. Immediately downgrade to other plan: As soon as user will change the plan, on the spot new plan will be applied to that user.

# Configure Plan + Signup Page

Most important thing in ARMember is to integrate your `PLANS`, your `REGISTRATION FORM`, your `PAYMENT GATEWAYS`, `COUPONS` to membership page along with desired styling for front side.. All these possible only using single shortcode.

Go to the Configure Plan + Signup Page menu from the admin interface where you can find a grid containing all previously created membership setup if any.

Here you have columns for Setup Name, Plans, Gateways, Member Form and Shortcode.

##### Setup Shortcode

    [arm_setup id="1"]

You are able to edit and delete each setup from each row of membership setup, click on EDIT to edit existing setup and click on DELETE to delete existing setup.

Now if you want to add another new membership setup then you have button of Add New Setup from where you can generate new membership setup.

By clicking on "Add New Setup" you will have all options to integrate your payment gateways, plans, etc..

Let's see each steps in detail:

#### Setup Name

Before you start with integration, you will be asked for a name which will be assigned to your membership setup.

## Basic Configuration

### Step 1 : Select Your Plans

In the first step you can integrate your membership plans that you want to include in your membership setup.

Here you will have list of all plans which you have created at Manage Plans. Select your required plans from here.

You are able to `Select Plan Layout`.

### Step 2 : Select Your Registration Form

Now integrate your registration/signup form. You have a dropdown which contains all your registration forms, select one of them.

Form will not be displayed in case,

- If user is already logged in, then form will not be displayed.

### Step 3 : Select Payment Gateways

You will have a list of all payment gateways which are activated from payment gateways general settings. Select payment gateways through which users can do payment for relevant plans.

You are able to `Select Payment Gateway Layout`.

#### Mode of Subscription

- #### Allow Semi Automatic(manual) method only:

  If this method is used, then user has to pay manually from your system whenever it is end of the Billing Cycle. Here, in this method all payment gateways are supported.( For ex: Suppose user has paid from paypal for the first time , then he/she can pay using same option or other payment options like - authorize.net, 2checkout, bank transfer etc..)

- #### Allow Auto debit method only:

  In this method, recurring take place automatically at end of the Billing Cycle - based on the payment gateway selected by user.

- #### Both (allow user to select payment method)

  If this option is selected, then user will get 2 options after selecting payment gateway in front-end side while filling form and according to that transactions will take place. Check in below image:

### Enable coupon with payment?

If this option is enabled then user will get an option to add Coupon Code at time of payment in front side. and this will be optional.

### Use coupon as invitation code

If this option is enabled then user will get an option to add Coupon Code at time of payment and this will be compulsory field. So, if you want to make a system to allow registration with some specific invitation code then this option will be helpful.

## Other Options

### Step 4 : Set Labels

You can also set different labels to be displayed in front side for - Submit Button Label, Payment Section Title, Payment mode Selection title, Summary Texts related to Plan name, Plan amount, Discount amount - relevant to plan, Payable amount etc...

## Styling & Formatting

### Step 5 : Select Your Plan Skin

Armember provides various skin options for membership setup. Select theme and check its `Preview` to get more idea how your setup will look like in front side.

Different kind of skin layouts are available with `different heading`, `different background`, `dropdown format` etc.

When plan skin is changed, font and color settings will be reset to default settings for each skin automatically. So if you have done any custom font and color settings for plan+sign up page, then you need to do it again before saving form.

Enable two step registration: If this switch is Enabled then whole plan+sign up page content displayed in two steps. First step will display plan and payment cycle selection with next button to go to second step and second step will display registration form and payment gateway selection with previous button to go to first step again for plan selection.

Next Button Label: This option will come only if two step registration is enabled. From here you can change label of 'Next' button.

Previous Button Label: This option will come only if two step registration is enabled. From here you can change label of 'Previous' button.

Hide Current Plans: This setting is used to hide user's current plans from plan selection area in plan+signup page when user is logged in.

Hide Plan Selection Area: If this switch is Enabled then plan selection portion will not be displayed and default plan which is set in admin side setup, will be assigned.

Plan Selection Area Position: From here, you can set position of "plan section" from available 2 options: "Before Registration Form" OR "After Registration Form"

Select Payment Gateway Skin : Whether you want to show it in radio button or drop down.

You can set content width and form position as well.

Select Plan and Payment gateway column wise Layout.

In Plan Layout: From here, you can select one plan which is shown as selected plan by default in front end.

You can also set position of Plans and Payment Gateways as those are `sortable`.

Select Fonts

You are able to change fonts settings which apply to content of plans and payment gateways. You have following font options.

Options | Description
--- | ---
Font Family | Change Font from given list of fonts where google fonts are also supported. (You can also set "Inherit Fonts" which will fonts will be inherited.)
Font Size | Change font size from here which is in px.
Font Style | You are able to apply font styles from here. You have following font styles. Bold Italic Underline Line-through

Color Options

Set Color Scheme related to your theme according to requirement.

Options | Description
--- | ---
Font Color Options | Change color for Plan Title Font, Plan Description Font, Price Font, Summary Font.
Active State Color Options | Change color for Selected Plan Background, Selected Plan Title Font, Selected Plan Description Font, Selected Price Font.

Custom CSS

Here you are able to set custom styles ( CSS ) for your integrated membership front-end page.

### Pre Populate Fields Support

Often a form will contain several generic fields that many respondents will answer in the same way. Rather than making users fill in these fields, which can be repetitive and time consuming, you can pre-populate them with the correct information so that, when users open the form, these fields will already be filled in. To do so, you will need the form’s URL and the variable names associated with the fields they want to fill in.

Field values can be passed into a form by appending them to the form’s URL using the following structure:

`baseURL?variable1=value`

Replace baseURL with the form’s URL, variable1 with the `name attribute` associated with the field to be filled in and value with the appropriate `plan's ID` value. To fill in multiple fields, insert the ampersand symbol (&) before any additional variables:

`baseURL?variable1=value&variable2=value`

##### For Example:

    http://your_site_url/membership-setup-page/?subscription_plan=2

The result of above example will be like - the plan with plan id value 2 get selected.

# Invite Only Member

This option will be available from "Configure Plan + Signup Page" and Addon "Coupon" is required to be activated.

Here, Coupon code will work as "special code / Invite code".

If this option is enabled then user will get an option to add Coupon Code at time of registration and this will be a compulsory field. So, if you want to make a system to allow registration with some specific invitation code then this option will be helpful.

Once user get logged into system, this code will work normally as coupon code.

If you are setting an "Invite code" with some percent of discount (for example : 10%), then that code will work as both "invitation code" as well as it will give discount (10%) to that user on payment.

# Manage Forms

Easy & simple Form editor is available to add custom form styling & settings.

## Features:

- Create Unlimited Registration Forms, Login Forms, Forgot Password Forms and Change Password Forms
- 5 Ready Templates for Registration forms, Login Forms, Forgot Password forms and Change Password Forms
- Embed forms using shortcode in your site
- `Drag & Drop` preset fields & user fields support

- Different Form Layouts are available,

  - Standard Style
  - Material Style ( Default )
  - Rounded Style
- Ready to use Preset Fields & Form fields. ( No Need of any kind of configuration. )
- Allow Multiple File Upload Support For file upload fields (Not applicable for avatar and profile and cover file upload field)
- `Font-Awesome` icons Support ( For form input fields )
- LTR RTL Supported forms
- Color Scheme options are available to customize layout / design.
- Shortcodes for each forms are available.
- Additional Shortcodes `[arm_logout]` for Logout, `[arm_edit_profile]` for Edit / Update Profile, `[arm_close_account]` for Close Account and `[arm_social_login]` to display Social Network Buttons.
- You can set different `Redirection Rules` for sign up and login forms from `ARMember`->`General Settings`->`Redirection Rules`

### Form Templates

We are providing number of ready to use form templates for Registration/Signup form as well as set of login, forgot password, change password forms.

Those templates are ready with some specific layouts. You can select any of them and also edit it for your form as per requirement.

This option, to chose template for your form will only be available at time of creating a form.

### Form Editor

- Registration/Signup forms are individually editable.

- Login, Forgot Password & Change Password - these 3 forms are interdependent in terms of form settings. So, all the settings will apply to those three forms commonly.

### Form Elements With Drag & Drop Feature

Form fields and preset fields are only available for Registration forms.

You can add Preset Fields or Form Fields in registration form by Drag & Drop or clicking on specific field.

Preset fields contains - a list of preset basic fields as well as your last added custom fields. You can also add social profile fields like facebook, twitter, linked,etc from `Social Profile Fields` button.

Form fields contains - a list of all form elements. After adding form fields, you might need to update field options for unique field meta key.

### Form Settings and Styles Options

There are two sections - Basic Options & Advanced Options for form settings & styling.

In Basic options, you can manage form display direction (`Horizontally` & `Vertically`), form width, form style, form Alignment, color schemes & form submit actions as you can see in below picture.

If Opt-ins feature is enable & properly configured, you will find Opt-ins section here where you can map registration form with Email Marketing Tools. You just have to select tool & specific list name. We have internally mapped required form fields with Email Marketing Tools.

User avatar filed is available with `image cropper` with web and mobile support.

When you are editing Set of forms(login,forgot password,change password), You will find basic options for each login, forgot password & change password forms. Different options are available for redirection after form submit, display message after form submit, forgot password link, registration link, social login option.

### Register Form Options

You can display the login link in signup form by enabling the option "Display Login Link". also you have option to display the login form as popup or redirect to the login page.

`Display Social Login` option will only available if Social Connect / Login feature is enabled.

- #### Form Options

  Here you have all main options related to form styling such as form width, form border options, padding, form alignment and form background options. You have choice whether form title should be displayed or not. You can also change form title styling & position.

- #### Color Options

  ARmember provide total 12 different preset color schemes. You can also set your custom color options by clicking on paint brush icon available under list of color schemes.

- #### Input Field Options

  Here you have all inputs related options to manage styling of all the input fields like textbox, textarea, radio buttons, checkboxes, dropdowns etc. You can set field width & height, field spacing and border size and its radius etc... You can also set spacing between two fields.

  You also have other options such as text direction LTR - RTL, font options, Calendar styling option for datetime picker controls.

  In case of Registration form, I will have an option to add a hidden field with its appropriate value.

- #### Label Options

  Here you will have labels related all options such as label width, position, alignment & font options. Even there is an option to hide label if you don't want to display labels of input fields.

- #### Submit Button Options

  Here you have button related all options to manage styling of submit button. You can set submit button width and height, button border radius, font settings, margin, button position etc.

  Different Button Styles are available like('Border', 'Flat', 'Classic', 'Reverse Border' )

- #### Custom CSS

  Add Custom CSS according to your site designing, if required.

### Form Field Actions

There are three icons (`Edit Field Options`, `Sort Field Order` & `Delete Field`) at right side of each field which are displayed by hovering on specific field.

- #### Edit Field Options

  By clicking on this icon, Popup with field options will be open. Then you will find different types of field options like label, CSS Class for adding class to field wrapper, placeholder, options for check box, radio buttons & select box, whether to set required field or not, meta key, blank & invalid field message, prefix/suffix icons, related to field type.

  By editing particular "Text Field" - you will get option to set validation for that field from the drop down options like: `Only Numbers` `Only Alphabets` `Only Numbers and Only Alphabets` `Regular Expression.`

  This validation option is not available for username, email and password fields.

  Additional Option for Username Field: You will find one option named as : " Hide username field and assign username with email". If you will check this, username field will be hide and Email value will be taken as user name.

  Additional Option for First Name Field: You will find one option named as : " Hide First Name Field". If you will check this, First Name field will be hide in front end sign up form.

  Additional Option for Last Name Field: You will find one option named as : " Hide Last Name Field". If you will check this, Last Name field will be hide in front end sign up form.

  If you hide `First Name` and `Last Name` fields at Sign up Form then these fields will also be hide at Edit Profile Form at front.

  Additional Option for File Upload Field: You will find one option named as : " Allow Multiple File Upload". If you will check this, You will be able to upload multiple files in File Upload fields at front side.

- #### Sort Field Order

  Using this icon, you can arrange(sort) field position. You need to Drag & Drop field for set field position.

- #### Delete Field

  By clicking on this icon, you will be asked for conformation about deletion of that specific item. If you want to delete field then click Delete button otherwise Cancel.

  You can only delete your custom fields. You can not delete default fields.

### Pre Populate Fields Support

Often a form will contain several generic fields that many respondents will answer in the same way. Rather than making users fill in these fields, which can be repetitive and time consuming, you can pre-populate them with the correct information so that, when users open the form, these fields will already be filled in. To do so, you will need the form’s URL and the variable names associated with the fields they want to fill in.

Field values can be passed into a form by appending them to the form’s URL using the following structure:

`baseURL?variable1=value`

Replace baseURL with the form’s URL, variable1 with the `name attribute` associated with the field to be filled in and value with the appropriate field value. To fill in multiple fields, insert the ampersand symbol (&) before any additional variables:

`baseURL?variable1=value&variable2=value`

##### For Example:

    http://your_site_url/arm_register/?user_login=abcd

### Font-Awesome Support

You can add font awesome icon as suffix/prefix for your input field.

# Profile Forms

Profile Forms provide facility to edit user's profile detail. By placing the shortcode `[arm_profile_detail id="SET_ID"]` you can display profile form to user where he/she can change the detail of their profile.

From the above screen you can select form theme and field for save user detail.

Form Name : for setting the name of profile form.
Form Fields : for setting the fields for getting the user's detail. there you will see tow option for setting "Form Fields".
1. Inherit from existing signup forms : By selecting this option you will get a form as designed signup form.
2. Select Template :By selecting this option you will get option to set the theme and fields for profile form.

- You can also add/remove Preset Fields and Form Fields in profile fields.
- Also it gives facility to make field as read-only field.
- You can change the successful submission message for profile form.
- You can set link to view the user's profile.

# Set Access Rules

This Section provides Quick & easy to manage access rules. Easily toggle option available whether you want content protection turned on or off.

Note: By default, when ARMember plugin is just installed, at that time all existing posts, pages & other content will be open for all.

- Set access rules for full or a section of an article content. Create different membership plans and select which kind of content ( `Pages`, `Posts`, `Custom Posts`, `Categories`, `Taxonomy`, `Tags`, `Navigation Menus`, `Special Pages`, `BuddyPress/BuddyBoss`, `bbpress- forums`, `bbpress- replies`, `bbpress- topics` ) can be viewed by each membership plan. How access rules work for different types of content is described in brief further.

  BuddyPress/BuddyBoss option will only available if you activate BuddyPress/BuddyBoss from Add-ons.

- Access Rule `On` or `Off` protection possible with one
- To protect content for a specific membership plan, simply find the membership plan column in grid and check the checkbox next to the individual posts, pages, categories for which you want to give access.

- While editing/creating new posts/page, you can directly set rule for that individual post with help of Meta Box.

  Please make sure while adding protection, If you enable protection for specific item & didn't select any plan, than item will be hide from everywhere.

WARNING: Access Rules will not work as expected when testing against an Administrator who is logged in. While Administrators do gain full access to all content.

### Access Rules Listing Page

There are different filters available in grid to search & find your content easily. Those filters are as follow:

#### Type

This filter will help you to filter grid items by `Pages`, `Posts`, `Custom Posts`, `Categories`, `Tags`, `Taxonomy`, `Navigation Menus`, `Special Pages`, `BuddyPress/BuddyBoss`, `bbpress- forums`, `bbpress- replies`, `bbpress- topics`.

bbpress - Forums, topics & replies related option will only available if you have bbpress activated in your system.

#### Protection

You can filter listing by protection.

#### Plan

You can filter listing by plan. grid items will be filtered according protection applied for selected plan(s).

ARMember plugin gives you facility to toggle access rule in bulk for specific plan with three state of checkbox in grid. Those checkboxes are available under the plan name as you can see in below picture.

Three state of checkboxes are as follow:

- #### Checked State

  When checkbox is in checked state, All Access rules for that specific plan will be applied to listed items.

- #### Unchecked State

  When checkbox is in unchecked state, All Access rules for that specific plan will be removed from listed items.

- #### Indeterminate State

  When checkbox is in indeterminate state, All Access rules for that specific plan will be revert to default state in listed items.

### Access Rules Metabox

When you add new `page`, `post`, `custom post`, `category`, `custom taxonomy` or `navigation menu`, than Default Access Rules will be applied that are set in general options for that specific type.

So, those default rules will become editable from that particular page/post having meta box. So, that can be changed easily

### How Access Rules Work for different types of content?

Through access rules you can restrict users of specific plan(s) from accessing following types of content.
`Pages`,`Posts`,`Custom Posts`,`Categories`,`Tags`,`Taxonomy`,`Navigation Menus`,`Special Pages`,`BuddyPress/BuddyBoss`,`bbpress- forums`,`bbpress- replies`,`bbpress- topics`.

- ##### Page

  When page(s) is set in access rule, that page(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that page(s). Restricted page(s) will not be shown in search listing and RSS feed. Please note that, sub-pages will not be restricted if you restrict parent page.

- ##### Post

  When post(s) is set in access rule, that post(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that post(s). Also restricted post(s) will not be shown in any of search or archive listings or RSS feed.

- ##### Custom posts

  When custom-post(s) is set in access rule, that custom-post(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that custom-post(s). Also restricted custom-posts(s) will not be shown in any of search or archive listings or RSS feed. for ex. any of Woocommerce Products is restricted then it will not be shown in shop page product listing or anywhere in front-end.

- ##### Categories

  When category(s) is set in access rule, that category(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that category(s). Please note that, if you restrict parent category, all sub-categories and posts belongs to that category will also be restricted.

- ##### Taxonomy

  When taxonomy(s) is set in access rule, that taxonomy(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that taxonomy(s). Please note that, if you restrict any taxonomy, all posts belongs to that taxonomy will be restricted.

- ##### Tags

  When tag(s) is set in access rule, that tag(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that tag(s). Please note that, if you restrict any tag, all posts belongs to that tag will be restricted.

- ##### Special Pages

  When any of following pages is set in access rule, that page(s) will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that page(s).
  `Any Archive page`, `Author Archives Page`, `Any Date or Time Archive`, `Archive: Year`, `Archive: Month`, `Archive: Day`, `Archive: Time`, `Blog Index`, `404 Not Found`, `Search Results`, `Any single page or post`, `Any attachment page`, `Feeds`

- ##### BuddyPress/BuddyBoss

  You can restrict users from accessing following BuddyPress/BuddyBoss content.
  `All BuddyPress/BuddyBoss Pages` - when access rule is set for this, all BuddyPress/BuddyBoss default pages will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that BuddyPress/BuddyBoss page(s).
  `Group creation` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can create BuddyPress/BuddyBoss group.
  `Friendship request` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can send friend request to other BuddyPress/BuddyBoss members.
  `Private messaging` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can send private message to other BuddyPress/BuddyBoss members.
  `All BuddyPress/BuddyBoss Pages` - when access rule is set for this, only users of plan(s) for which "Allow Access" is set can see BuddyPress/BuddyBoss member directory and member profiles.

- ##### bbpress-Forums

  When any of bbPress forums is set in access rule, that forum(s) page will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that forum(s). Please note that, if you restrict parent forum, all sub-forums and topics belongs to that forum won't be restricted.

- ##### bbpress-topics

  When any of bbPress topics is set in access rule, that topic(s) page will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that topic(s).

- ##### bbpress-replies

  When any of bbPress replies is set in access rule, that reply(s) page will be restricted for all visitors and registered users, but users of plan(s) for which "Allow Access" is set can access that reply(s).

# Partial Content Locker

ARMember plugin provide facility to add partial content restriction using shortcode editor when you are add/edit `post`, `page`.

There are following options for adding content restriction.

- #### Restriction Type

  You can set restriction type like, whether you want to hide/show content to targeted users.

- #### Target Users

  You can apply restriction to Loggedin user, non-loggedin user, all created plan in your system.

  If no option is selected then restriction type will be apply for “Everyone”.

WARNING: Partial Content Locker will not work when current logged in user is Administrator. As Administrators do have full access to all content.

# Drip Content

Drip Content section will only available if you activate Drip Content from Add-ons.

"Dripping" content is the process of delaying the release of content in your membership site for your members. ARMember includes full drip content / delay content functionality which allows you to set delay for releasing your content to your members.

Set your drip schedule based on - immediately, after certain time of subscription or specific date onwards(date range).

Drip Rules will work only for posts/pages for which access rules are set from Access Rules section. Only restricted posts/pages can be dripped from Drip Rules.
Ex., If post A is not restricted from Access Rules and even though if you have set drip rule for it like ‘post A should be accessible only after specific date (15/01/2015) for plan A users’, then post A will remain open before 15/01/2015 for all users, as no access rules are not set for post A.
This is how Drip Rules & Access Rules will work together.

WARNING: Drip Rule will not work as expected when testing against an Administrator who is logged in. While Administrators do gain full access to all content.

Please make sure that drip rule on page/post for certain time will work only if Default Restriction for that page/post is ON as well as user's plan(s) are not allowed access for that page/post at Access Rules.

At Drip Content you have a grid to manage all drip content with following columns. Each column is sortable here.

- Status - Provides switch to `ENABLE` or `DISABLE` rule.
- Type - Post Type of Post / Page / Custom Post / Custom Content.
- Name - Title of Post / Page / Custom Post. (Shortcode in case of `Custom Content`)
- Drip Type - Drip rule type.
- Plans - Plan names(Rule will be applied to members of these plans).
- Members - Number of matching members who will get affected by rule.

You can search & find your content easily with grid filters like `Search box`, `Filter By Content Type` & `Filter By Plans`.

You can create drip rules by clicking on Add New Rule button. Also you can update existing rule by clicking on Edit Rule icon.

You can add three types of drip rules:

#### Immediately

This type of drip rule will be applied directly to selected plan members.

#### After certain time of subscription

This type of drip rule will be applied to selected plan members after number of days of their subscription start date.

#### Specific date onwards (range)

This type of drip rule will be applied to selected plan members in between selected date range. If you select `From Date` & didn't select `To Date`, then this rule will be applied starting from "from date" to "infinite time".

#### After certain time of post is published

This type of drip rule will be applied to selected plan members after x days of selected post/page is published.

#### After certain time of post is last modified

This type of drip rule will be applied to selected plan members after x days of selected post/page is modified.

### Show After

After the drip content is set you will be able to set the content to be displayed after the specific days, months or years along after a specific time to the members after they purchase a membership plan or when a new post is published or modified.

### Enable Expiration

Enabling the option for Expiration, you will be able to set the exact expiration date and time after which the specific drip content will get hidden.

#### Hide After

Suppose, if you have set the Drip content to be displayed after 10 Days at 01:00, and set the Expiration after 2 Days at 01:00, then after purchasing a membership plan or after a new post is published or modified, the member will be able to view the Drip Content exactly after 10 Days at 01:00.

After that, as the expiration is set to 2 Days at 01:00, so, after accessing the Drip content which is displayed after 10 Days at 01:00, the drip content will get hide exactly after the 2 days at 01:00 after it is displayed.

So members will be able to view the content after 10 Days of subscription and then the Content will get hidden exactly 2 Days at 01:00 after the access.

Some common options are available here also like Bulk Actions, Search Box, Entries and Pagination

### Drip Content Shortcode

This setting becomes very useful when you don't wont to Drip whole post or page content. So, if you want to drip some specific block of content then this option will work for you.

While adding drip rules, you will find `Custom Content` option in `Content Type` drop down list. By selecting this option you will be able to add custom content and along with that one related shortcode be available there.

By using that shortcode in any page/post/custom post you can drip your specific content - the content only added within the shortcode. Other than that all things will work same as drip content for page/post/custom post.

You can also add drip shortcode using Shortcode Editor Popup when you are adding or editing any post / page / custom post. You will find Drip Content tab in shortcode editor popup as you can see in below picture.

### "Before Dripped Content Available" Email Notification for the dripped content.

You can send email message for "Before Dripped Content Available" from Email Notifications. In order to send Drip content URL to user or admin you can add "User Drip Content URL" Template Tag inside Email.

### Set Drip Content From Add/Edit posts and pages

You will also be able to set the Drip Rules at the time while adding/editing a post/page. While adding/editing a new page, you will be able to view the Drip Content Metabox.

To set the drip rule, enable the switch for Enable Drip Rule select the membership plan and choose the drip type, and after that the particular page according to the Drip Type set.

For the drip type After certain time of subscription, After certain time of post is published and After certain time of post is last modified, you will be able to set the start date and the expiration date to schedule the Drip Rules.

## Default Restrictions For Drip Content

When the Drip Content module is activated, at the time you will be able to enable the default restrictions for the Drip Content at `ARMember` -> `General Settings` -> `Default Restrictions`

### Allow content prior subscription

When the member purchases a membership plan, and if there is any drip rule set from `ARMember` -> `Drip Content`, then all the drip rules will get assigned to the members as per the drip rules set to be accessed to a membership plan.

But when the option `Allow content prior subscription` is enabled, then the members will only be able to access the Drip Rules that are created after the members purchases the particular membership plans and the old drip rules before purchasing the membership plans will not be assigned to the members.

### Allow content post subscription

When the member's plan is expired or cancelled, then members will not be able to access the Drip Rules that are already assigned to the members as per their membership plans.

But when the option `Allow content post subscription` is enabled, and the member's membership plan is expired or somehow cancelled, then also, members will be able to access all the drip rules that are created at a time and assigned to the particular membership plans.

#### Sync Dripped Content

Enabling the syncing for the Drip Content, all the members whose plans are expired will be able to access all the drip content that was assigned to them before their membership plan was expired.

WARNING: Drip rule will only be accessed by the members that were created before their membership plan expired. The new drip rules created after the expiration of membership plan will not be assigned to the old members and only to the new members.

# Payment History

You can track all member's payment history and view / manage transaction details, Also you can add Manual Payment into history.

### Payment History Page

As you can see in below picture, there are four action buttons available. `Approve`, `Reject`, `View Detail` & `Delete`.

`Approve` & `Reject` will only display in Bank Transfer payments.

### Add Manual Payment

You can add your manual payment by clicking on Add Manual Payment button. If you accept payment through external source and want to keep track of user's payment history, than this will be helpful.

Use this form to add missed payments of users for keeping track of their all payments. Also adding payment manually for membership plan of "Subscription" type will not affect its cycle. i.e., Adding payment manually for missed cycle of any plan will not renew plan cycle.

# myCRED

myCRED will only available if you activate myCRED from Add-ons.

### myCRED Point Hook Setting

Go to `Points` -> `Hooks`

Here Select ARMember Membership and add active Hooks

You Can Setup ARMember Membership myCRED Form

ARMember Membership myCRED provides give or take points from users for registering on the website.

This built-in hook allows you to occurrence your users with points for registering on your website.

myCRED is an adaptive points management system with ARMember. Store mycred point, occurrence, log template.

1. Mycred Points

   Mycred Points each user register and plan purchase on your websites gets their own point.

2. Occurrence

   Occurrence if select every time in your plan user get point plan purchase and recurring time. if select just once in your plan user get point one time with plan purchase

3. Log template

   Log template you can set log for every plan for plan purchase user. you can see mycred log from `Points` -> `Log`

### Purchasing Membership using myCred Point

Users can also purchase a memberhip plan using available myCRED balance(points) in ARMember. Let's see the step that how we can setup myCred as payment gateway:

1. To enable myCred as payment gateway, go to `ARMember`->`General Settings`->`Payment Gateways`. there you can see the option like `1 Point =`, that indicates that how many amounts you want to set for 1 point of myCred.

2. After enabling the myCred, you need to display myCred as payment gateway at front-end side. for that you have to select myCred option from `ARMember`->`Configure Plan + Signup Page`. add/edit the Signup Form.
3. There you will see `Select Payment Gateways` section. from there you have to select `myCred`. That's it.

After following above step, if you see the ARMember's Configure Plan + Signup Form at front-end then you will see the `myCred` at payment gateway selection section.

If users purchase a membership plan using myCred option as payment gateway then user does not need to pay money. instead of money, user's myCred points will be deducted.

Let's see the calculation of deduction myCred points.

For Example: If plan amount is 10$. and you have set the value 0.500 for the option `1 Point =` from the `ARMember`->`General Settings`->`Payment Gateways`. so the number of myCred points will be deducted like: (plan price x 1 ) / set the amount for 1 point =. so in our example (10 x 1) / 0.500 = 20. so 20 myCred points will be deducted.

### Display myCred Point in Membership Card

If you want to display myCred balance(points) in Membership Card to your members then you can display by just selecting the `myCred Points` field from `ARMember`->`Profiles & Directories`->`Membership Card Templates` section. add/edit the Membership Card Template and there you will see the `Display Member Fields` option. from there you can checked or unchecked the field according to your requirement to display field to the users.

Note: myCred Field will display only if you have activated the myCred module form Add-ons

# User Private Content

User Private Content will only available if you activate User Private Content from Add-ons.

User Private Content is functionality that provide facility to display different content for different user.

By using `[arm_user_private_content]` shortcode you can display different content to different user.

By clicking on `Add private content` button you can add private content for the user.

You can search user who contains private content from search box as seen in above screen-shot.

As You can see in above screenshot you can edit/delete private content of any user.

If you want to display common content for the user who have not assigned private content then you can add default private content for those user.

From the above screen you can add different content for different user. you can add same content to multiple user simultaneously by selecting multiple user from "Select Member" option.

# Reports

To view the report of all members and their payment go to the Reports menu from the admin interface.

Here you can view that how many total and recent members are there in your site and how many total and recent payment happens in your site.

You can view the graph of the users that has been registered in your site. and also can view the graph of payments which is done in your site.

## Members Report

From here you can view the registered user with different filter option. There are 2 type of graph available for viewing the Reports:

- Line Chart
- Bar Chart

You can also filter the reports by applying the filter option given to you. Mainly 3 tab given to you.

- Hourly: In this tab you can view the number of members registered on the particular day. with that you can also view that number of members registered on the selected date with particular plan. chart will be dispalyed on hourly basis.
- Daily: In this tab you can view the number of members registered in the particular month. with that you can also view that number of members registered in the particular month and year with particular plan. chart will be displayed on daily bases.
- Monthly: In this tab you can view the number of members registered in the year. with that you can also view the number of members registered with particular plan in the selected year. chart will be displayed on monthly basis.

You can also view the Member's basic detail from below table that which users is registered when with which plan as you can see in the above screenshot. and also export that data to CSV file.

## Payments Report

From here you can view the number of payments done by user with different filter option. There are 2 type of graph available for viewing the Reports:

- Line Chart
- Bar Chart

You can also filter the reports by applying the filter option given to you. Mainly 3 tab given to you.

- Hourly: In this tab you can view the number of payments done on the particular day. with that you can also view that number of payments done on the selected date with particular plan and gateway. chart will be displayed on hourly basis.
- Daily: In this tab you can view the number of payments done in the particular month. with that you can also view that number of payments done in the particular month and year with particular plan and gateway. chart will be displayed on daily basis.
- Monthly: In this tab you can view the number of payments done in the year. with that you can also view the number of payments done with particular plan and gateway in the selected year. chart will be displayed on monthly basis.

You can also view the Payment's basic detail from below table that which users has paid how many amounts as you can see in the above screenshot. and also export that data to CSV file.

## Login History Report

From here you can view the login information of your Members like from which browser they logged-in with IP detail and date and time of Login and Logout. you can also export the detail in CSV format file.

## Paid Post Report

From here you can view the number of payments done for Paid Post with different filter option. You can also filter the reports by applying the filter option given to you. Mainly 3 tab given to you. Hourly, Daily and Monthly. you can also export the Paid Post payment data in CSV file.

## Coupon Report

From here you can view the coupon used while purchasing membership plan in ARMember plugin. You can also filter the reports by applying the filter option given to you. Mainly 3 tab given to you. Hourly, Daily and Monthly. you can also export the Coupon data in CSV file.

# Manage Paid Post

Pay Per Post will only available if you activate Pay Per Post from Add-ons.

Pay Per Post is functionality that provide facility to make particular Pages/Posts as a paid. For example, If you want some Pages/Posts like if users paid for that Pages/Posts including custom post type then only it should display. In this case you can use Pay Per Post functionality.

## Configure Paid Post Setup form

To configure the Paid Post Setup form, you need to select `Paid Post Setup` for the `Setup Type` option as you can see in the above screenshot.

Rest of all configuration is same as Membership Plan Setup.

## Manage Paid Post

From `ARMember`->`Manage Paid Posts` you can Add/Edit/Delete the Paid Post for the users.

By clicking on `Add Paid Post` button you can add the new Paid Post.

From the above screen you can configure the Paid Post for the users. ARMember does provide a facility to apply Paid Post on Pages/Posts/Custom Template/Products.

Lets add the new Paid Post by following the below step:

- Select the type of content from the `Content Type` dropdown.
- After selecting the Content Type, you need to select the content which you want to make as a paid. For example, If you select Posts as a Content Type then in below textbox you can find List of Post. If you select Product as Content Type then in below textbox you can find the list of product.
- After selecting the content, you need to select the payment type from the `Post Type`.
- Also you can add the alternative content for the users who have not paid for the selected content.
- To add the alternative content, you need to enable the `Alternative Content` switch. after enabling the switch you will see the text editor where you can add your alternative content.

ARMember also provide a facility to add the Paid Post from the WordPress Pages/Posts menu directly.

## Paid Post Setting

`ARMember`->`General Settings`->`Paid Post Settings` tab at left side of the screen. from here you can do setting for Paid Post.

You can change the parameter name which is display in URL from `Paid Post URL Parameter name` option.

Using `Default Alternative Content` option you can set the content to be display if the Paid Content is not visible for the user. this alternative content only display if the `Alternative Content` option is not enable in `ARMember`->`Manage Paid Posts`->`Add/Edit Paid Posts`.

## Page setup for Paid Post

To display Setup form at front-end side it needs to select the Paid Post page in Page Setup configuration. you can see the Page Setup Configuration for Paid Post as below screenshot.

As you can see in above sceenshot you have to select a page in which shortcode of Paid Post Setup form is available.

## Purchasing Paid Post at Front-end side

If you have done the configuration as describe above then your setup is almost ready. Now you need to set the `Buy Now` button for the particular Post/Page from where user can buy your premium content. So lets see that how `Buy Now` button can be set.

- Go to Wordpress Admin Panel -> Add/Edit Post/Page page above Editor Click on `Membership Shortcodes` OR from Gutenberg Editor `Add Blocks`->`ARMember Blocks`->`Membership Shortcodes` button.
- After that Select "Action Buttons" From the left tab and select "Paid Post Buy Now Button" from "Select Action Type" dropdown.
- Next option is to set the redirect URL for the `Buy Now` button. so when users click on button it will redirect users to Setup Page of Paid Post. this option is optional, so if you don't enter the redirect URL then by default ARMember redirect users to the page which is set in `ARMember`->`General Settings`->`Page Setup` tab.
- After that you can select the `Link Type`. There you can see 2 type of link available. Button and Link. you can select one of the link type from the `Link Type` dropdown.
- You can also set the text for `Buy Now` button/link as you want.
- If you want to customize the button style then you can add the custom CSS for `Buy Now` button using `Link CSS` option. That's it.

Now everything is ready. When users visit to your paid post then it will show the `Buy Now` button instead of content of your post.

## Paid Post Payment History

From the above screen you can see the Payment history of Paid Post.

You can filter the transaction history by Payment Gateway, Payment Type, Subscription, Status, and Date range.

You can view the Payment detail by clicking on `View Detail` icon. and from the same location you can delete the payment history.

You can also export the Paid Post payment history in CSV file.

## Paid Post history in View Member Detail

Paid Post History shows the history of purchased paid post. and Paid Post Payment History shows the Payment History of purchased paid post.

## Assign Paid Post by Admin

From the `ARMember`->`Manage Members`->``Add/Edit Members`.` admin can assign the post to the user manually.

## Email Notification For Paid Post

You can manage following events notifications. All the events are automatically handled by ARMember plugin.

#### On New Paid Post Purchase

This event will trigger when member subscribe to new paid post.

#### On Renew Paid Post Purchase

You can send notification to user for renew subscription regarding their Paid Post.

#### On Recurring Paid Post Purchase

This event will trigger when member subscription cycle payment successfully done.

#### On Cancel Paid Post

You can send a notification to the user when their Paid Post subscription gets canceled.

#### Before Paid Post Expire

You can send notification before member's Paid Post expire according your requirement. You have options to set when this notification will be sent. Like send notification before number of `days`, `weeks`, `months` or `years`.

#### On Expire paid post

This event will trigger when member's Paid Post going to expired.

# Standard Email Responses

- You can easily customize already available email templates with HTML.
- Manage quickly and easily basic email templates like registration, update profile, change password, forgot password etc.
- Edit email template with HTML using editor. Also we provide `email variables` to set dynamic values.

- Option to enable/disable template

  If you will disable any of template, then default wordpress email process will take place.

### Manage Standard Email Template

ARMember Plugin supports following email templates:

#### Signup Completed Notification To Admin

This notification will be sent to all emails set in "Admin email" field in "General Settings", when someone complete his/her signup.

#### Signup Completed (With Payment) Notification To User

This notification will be sent to User when that user signup with paid membership plan.

#### Signup Completed (Without Payment) Notification To User

This notification will be sent to User when that user normally signup or signup with free membership plan.

#### Email Verification

This notification will be used to send email verification.

This template will only available when New user approval option is set to Email - Activation in general options.

#### Email Verified

This notification will be sent to user after user verify its account by going through instruction in email verification mail.

This template will only available when New user approval option is set to Email - Activation in general options.

#### Change Password

When user will change its password, this notification will be sent to that user.

#### Forgot Password

When user will request for password change, this notification will be sent to that user.

#### Profile Updated

When user will update its profile, this notification will be sent to that user.

#### Profile Updated Notification To Admin

When user will update its profile, this notification will be sent to all emails set in "Admin email" field in "General Settings".

#### Grace Period For Failed Payment

This notification will be sent to that user, when any user's recurring payment will get failed and grace period for failed payment is set for user's plan.

#### Grace Period For End Of Term

This notification will be sent to that user, when any user's recurring payment will get expired and grace period for End Of Term is set for user's plan.

#### Failed Payment Notification To Admin

This notification will be sent to all emails set in "Admin Email" field in "General Settings", when any user's recurring payment will get failed and grace period for Failed Payment is set for user's plan.

#### Manual User Activation

This notification will be sent to user if admin selects Notify user via email checkbox while changing user status from Pending to Active manually.

### Edit Standard Email Template

# Automated Email Messages

- You can set custom email notifications for `subscription events` like subscription created, subscription change, failed payment, trial period finished, subscription expired, before subscription expire etc..
- You can set email notification for specific plan(s).
- `HTML Email templates` with editor interface.
- You can add `email variables` to set dynamic values before an email will be sent.
- if you want to send notification before number of days, weeks, months, years `Before Membership Expired`then this option will help you to set such notification.

### Manage Automated Email Messages

### Add / Edit Automated Email Message

You can manage following events notifications. All the events are automatically handled by ARMember plugin.

#### On New Subscription

This event will trigger when member subscribe to new plan. You can set individually event for each plan or multiple plan.

#### On Change Subscription

This event will trigger when member change their plan. You can set individually event for each plan or multiple plan.

#### On Change Subscription by admin

Whenever admin will change user's subscription plan MANUALLY from admin side, this email will be sent.

#### On Failed Payment

This event will trigger when payment failed for membership. You can set individually event for each plan or multiple plan.

#### On Semi Automatic Subscription Failed Payment

This event will trigger when payment failed for Semi automatic Subscription Method. You can set individually event for each plan.

#### Before Semi Automatic Subscription Payment due

You can send notification to user regarding to his/her subscription plan reminder which is manual payment, before specified days(while adding this email notification template).

#### Before Automatic Subscription Payment due

You can send notification to user regarding to his/her subscription plan reminder which is automatic payment, before specified days(while adding this email notification template).

#### Trial Finished

This event will trigger when member's trial period get finished. You can set individually event for each plan or multiple plan.

#### Before Membership Expired

You can send notification before member's plan expire according your requirement. You have options to set when this notification will be sent. Like send notification before number of `days`, `weeks`, `months` or `years`.

#### On Membership Expired

This event is trigger after member's plan has been expired. You can set individually event for each plan or multiple plan.

#### On Renew Subscription

You can send notification to user for renew subscription regarding their plans.

#### On Recurring Subscription

This event will trigger when member subscription cycle payment successfully done. You can set individually event for each plan or multiple plan.

#### On Cancel Membership

You can send a notification to the user when their membership plan gets canceled.

#### On New Content Available

You can send reminder to users when new content available to them with drip content.

#### On Close User Account

You can send notification to user when their account is closed.

#### On User Login

You can send notification to user when user logged in to an account.

#### On Purchase membership plan using Bank Transfer

You can send notification to user when user purchase a membership plan using Bank Transfer(Offline mode) Payment.

# Gmail SMTP configuration

Follow a steps to configure Gmail SMTP:

To configure send Email Notification via Google/Gmail, go to ARMember -> General Settings page at "Email Settings" section and select the Google/Gmail option.

To configure send Email Notification via Google/Gmail, go to ARMember -> General Settings page at "Email Settings" section and select the Google/Gmail option.

1. Go to the Google API Console
2. From the project drop-down, select an existing project, or create a new one by selecting Create a new project.

3. After adding/selecting the project, click on the `Library` option from the left sidebar and search for the Gmail API.

4. Click on Gmail API
5. If the Gmail API is not enabled, then click on the `Enable` Button and then click on `Manage`.
6. In the sidebar under `API & Services`, select Credentials, then select the OAuth consent screen tab. Choose an Email Address, specify a Product Name, and press Save.
7. In the Credentials tab, select the Create credentials drop-down list, and choose OAuth Client ID

   Under Application type, select Web application. Register the origins from which your app is allowed to access the Google APIs, as follows, and set redirect URIs. An origin is a unique combination of protocol, hostname, and port. You will be able to get the Gmail redirect URL from ARMember -> General Settings at Email settings section at Authorized redirect URI.

8. Set the Authorised Redirect URI, and you will get the Client ID and Secret from the right panel. Copy the Client ID and Secret and use it in the ARMember -> General Settings at Email Setting section under the Google/Gmail tab.
9. Save the Settings on Google Console after setting up the Client ID and Secret. and then you need to click on the `Connect with Google Account` button in the ARMember Settings.
10. It will ask you to log in to your account and permission and after completing the process, the `access token` will be filled up automatically. After that you can use the Connected eGoogle/Gmail account for sending email notifications within ARMember.

# Manage Coupons

Manage Coupons section will only available if you activate Coupon from Add-ons.

- Coupon management gives you full functionality to manage discount coupons
- You are able to generate Random Coupon code while adding coupon OR you can add coupon code manually.
- Create plan specific coupons. Those coupons can only be used for specific plan payments process.
- Add Discount Rate in `Fixed Amount` or `Percentage(%)`
- Coupon validity time duration can be set with start date, expire date and unlimited.
- You can allow coupon code to be used for limited number of time from No. of time uses allowed. Please leave blank or 0(Zero) to for unlimited uses.
- ARMember tracks the total number of times that each Coupon Code is used.
- You have option whether to allow the coupon for the plan with Trial Period or not.
- Another option is For Recurring Plan Apply to Entire Duration, check here if you need coupon discount to be applied on each recurring payment of subscription plan.
- You can `ENABLE` or `DISABLE` coupon using single switch.

### Manage Coupons Page

### List of Members who used that Coupon

When you click on count number of "Used" column then it open a popup that show the list of users who used that particular coupon.

### Add / Edit Coupon

### Bulk Create Coupon

After setting up coupons in Coupon Management, you need to enable coupon in Configure Plan + Signup Page page. Go to ARMember -> Configure Plan + Signup Page, edit setup in which you want to enable coupon. In Edit Plan + Signup Page, you will find `Enable coupon with payment` option as shown below:

Select `Yes` to enable coupon code for users to use in front end Configure Plan + Sign up page.

If `Use coupon as invitation code` is enabled, then coupon field will be compulsory field in Configure Plan + Sign up page. So, if you want to make a system to allow registration only with some specific invitation code then this option will be helpful. Once user get logged into system, this code will work normally as coupon code.

### Coupon with Paid Post

If paid post addon enabled then ARMember does provides facility to add coupon for paid post also.

While adding new coupon code, there is an option of 'Coupon Type' will added if paid post enabled.

If 'Coupon Type' selected to 'Membership Plan' then created coupon will apply only for membership plans.

If 'Coupon Type' selected to 'Paid Posts' then created coupon will appply only for paid posts.

If 'Coupon Type' selected to 'Both' then created coupon can apply to membership plan and paid post both.

# Profiles & Directories

Profiles & Directories section will only available if you activate Social Feature from Add-ons.

ARMember gives you facility to create & manage `Profile Templates` & `Member Directory Templates` for front-end with customizable options.

More about profile templates

More about directory templates

More about membership card templates

# Profiles & Directories

## Member Directory Templates

##### Directory Shortcode:

    [arm_template type='directory' id='2']

### Members Directory Templates

You can add directory templates as many as you want, by clicking on Add Template box.

You can `Preview`, `Edit Template Options` & `Delete Template` from here. You will find those options by hovering on specific template.

- #### Add Template

  You can add directory template by clicking on Add Template box in Members Directory Templates section.

  All options to set template are dynamic. You can set by your own that whether you want to display Administrator Users, display Member badges, Redirect To Author Archive Page, Hide empty fields, sorting option, search box etc.

  If you enabled `hide empty fields` option then empty fields will not display in directory listing

  Here you can select template layout from different template layouts. Also you can set color scheme, font setting & other options like whether to display member badges or not, display specific plan(s) members, which filters to display, pagination style & custom CSS.

  Also, ARMember does provide a two types of searching facility. `Single Search Field` and `Multi Search Field`.

  If you select `Single Search Field` then it will display only single textbox to searching result. and it will search the members based on single value matched as entered in textbox.

  If you select `Multi Search Field` then it will displays the list of selected fields to search the members with multiple value matched.

  You will get following search parameter options:

  `First Name (Selected by default)`, `Last Name (Selected by default)`, `Profile Display Name`, `Username`, `Email Address`, `Gender`, `Website (URL)`, `Country/Region`, `Biography` `Textarea`, `Radio Button`, `Date`, `Roles`.

- #### Edit Template

  You can edit template options anytime from profile template listing. Hover on specific template & click on edit icon to edit template options to change settings.

- #### Preview Template

  You can have preview of template to see how template will look in front-end. Also you can check responsive view of template. As you can see in below screenshot, responsive options are available in top belt.

# Profiles & Directories

## Membership card Templates

##### Membership card Shortcode:

    [arm_membership_card id="3"]

### Membership card Templates

ARMember allows to display different membership card template to different plan users. if you want to display membership detail like a card view, then it is possible with ARMember.

ARMember provides three different designs for creating membership card templates. You can create membership card templates as many as you want and can customize each template as per your requirement.

You can `Preview`, `Edit Template Options` & `Delete Template` anytime from here. You will find those options by hovering on specific template.

Step 1: Add Membership card Template

Step 2: Select Membership card Template

Click on any template to select or edit that template.

Step 3: Edit Membership card Template

You will get many options to edit : like: Company logo, Membership plan label, Display join date, display expiry date, Display user ID, Select Membership Plans, color scheme, font settings, custom CSS etc.

Step 4: Preview Membership card Template

You can have preview of template to see how template will look in front-end.

# Profiles & Directories

## Member Profile Templates

When add-on is activated, default one profile template is created. Also you can add more profile templates.

ARMember allows to display different profile template to different plan users. For ex. if you want to display Template 1 to plan A users and Template 2 to plan B users, then it is possible with ARMember.

ARMember provides four different designs for creating profile templates. You can create as many profile templates as you need and can customize each template as per your requirement.

Step 1: Add Template

Step 2: Select Profile Template

When click on 'Add Template', popup will open from where you can select profile template design.

Click OK button to add template. If you don't want to add template click 'Cancel' button.

Step 3: Profile Template Options

When click on OKbutton, Profile Editor with all customization option will open.

When any option is changed, its effect can be seen direct in profile editor.

1. Add New Block : From here you can add any HTML before and after user profile fields section.

2. Profile Fields : From here you can select which user fields you want to display in user profile fields section. You can add translate field labels from here by clicking on edit icon. Also from here you can change order in which fields are displayed in this section.

3. Social Profile Fields : From here you can select which Social Profile field icons like facebook, twitter, linkdin, etc you want to display in Profile header.

4. Membership Plans : From here you can select one/more membership plans. So this template will be to display profile of users having one/more from selected membership plans here.

5. Other Settings :

   - Display Administrator Users : If this switch is enabled,then only profile of administrator users will be displayed.

   - Hide Empty Profile Fields : If this switch is enabled,then empty profile fields will remain hide in profile fields section.

   - Display Member Badges : If this switch is enabled,then badge icons will be displayed in profile header if user has any badge.

   - Display Joining Date : If this switch is enabled,then only member joining date will be displayed in profile header.

   - Default Cover Image : If this switch is enabled,then only default cover image will be displayed if user do not have set any cover image, otherwise no image will be displayed.

6. Color Scheme : Multiple Color Scheme support, also you can customize color options by clicking on paint brush icon as you can see in below screenshot.

7. Font Settings : From here you can set font styling like font-family, font size, font weight, font style, font decoration & etc. We also support Google Fonts. (You can also set "Inherit Fonts" which will fonts will be inherited.)

8. Profile Template : From here you can change profile template anytime.

9. Add Custom CSS : When you click on Add Custom CSS icon, popup will open where you can add custom CSS to add your own style in profile template.

10. Profile Views : From here you can see how profile template will look in desktop/tablet/mobile view.

When you enable Social Feature first time, Default Profile page will be inserted with profile template shortcode automatically. This page will be used as user's profile page. You can change profile page at anytime from Page Setup.
Also only one shortcode is used for all profile template. Different profile templates will be displayed according to user's membership plan.

##### Profile Shortcode:

    [arm_template type='profile' id='1']

# Social Profile Fields

This option will be enabled if “Social Feature inbuilt module of ARMember is activated.”

This Feature is not related to Social Signin/Connect. This will provide fields for signup forms and Edit Profile forms.

When you enable Social Feature add-on, you will find one option in Registration/Signup from Editor shown in following image.

You will find following social profile fields options which can be directly added to your registration/signup form.

The fields you have added to signup form will be available in Edit Profile Fields. Even more these social profile fields are provided with editor shortcode support. You can select and add those fields from Edit Profile Shortcode as well.

Note: If your Signup Form is not having Social Profile fields but you have added it from Edit Profile Shortcode then it will display those social profile fields in Edit Profile form.

# Add-ons

Membership sites can get pretty complicated, and not everyone needs the same things. ARMember offers features as add-ons so you can add only those functionalities according to requirement of site, making it easier to manage.

You can `Activate` or `Deactivate` add-ons from here. When you Activate any add-on, that add-on will be activated in plugin & its features will be displayed. Also you can directly navigate to configuration page by clicking on Configure button.

ARMember offers following features as free add-ons:

- #### Social Feature

  This add-on will include following features:

  - Public Profile & Profile & Directory Templates
  - Member Badges & Achievements
  - Social Profile Fields

- #### Opt-ins

  This add-on will enable Email Marketing Tools support like `AWeber`, `MailChimp` & `Constant Contact`.

  You can easily add subscribers to your Email Marketer account using our registration form.

- #### Drip Content

  This feature will enable "Dripping" content in your site. Using this feature, you can add drip rule on posts, pages, or custom posts according your wish.

- #### Social Connect / Login

  This feature allows your website readers and customers to get logged in using their existing social account IDs. So, this eliminates the need to fill forms and to remember new username and password.

  ARMember supports following social networks:

  - Facebook
  - Twitter
  - Google Signin
  - LinkedIn
  - VKontakte
  - Instagram
  - Tumblr

- #### Coupon

  The Coupons Add-On allows you to implement coupon functionality with ease on payment for membership.

- #### BuddyPress/BuddyBoss Integration

  BuddyPress/BuddyBoss Add-on allows you to map BuddyPress/BuddyBoss profile fields with our registration form. Also you can set access rules for BuddyPress/BuddyBoss pages.

  BuddyPress/BuddyBoss plugin must be installed & activated to use this feature.

- #### Woocommerce Integration

  If addon is active, then a new tab "ARMember plan" will be added in product data metabox in add/edit product page from where you can map armember plans with respective product.

  This addon should be activated only when woocommerce is installed and activated.

- #### Multiple Membership

  If addon is active, ARMember users can have more than one membership simultaneously. If user have already one plan and purchase a new plan, them Add Plan action will occur instead Change Plan action. So new plan will be added in user's plan list.

  At a time user can purchase only one membership. Also if one or more members have multiple membership plan, then add on can't be deactivated. If you want to deactivate this addon, then all users must have at max only one membership plan.

# Badges & Achievements

Badges & Achievements section will only available if you activate Social Feature from Add-ons.

Create badges and award(achievements) to your users manually, or based on what they accomplish. These badges will display besides user's name on user profiles, member list etc.

You can also create custom badges and assign it to users.

There are three tabs in Badges And Achievement sections:

### Manage Badges

Here you can manage default badges or add your custom badges.

### Manage Achievements

You can assign badges to user based on what they accomplish.

There are several options available to add achievement as you can see in below picture. You can create achievement on following events:

- #### Default Badge for All

  By Default all user will get the assigned badge.

- #### Give this badge to role

  Assign badge to users having specific user role.(If you have bbpress plugin installed in your site then those roles are also supported.)

- #### Give this badge to plans

  Assign badge to users having specific plan.

- #### Require Achievement

  Assign badge based on required achievement.

- #### No of posts

  This badge will automatically assign to user, when user create specific number of posts. Custom Posts are also supported.

- #### No of comments

  This badge will automatically assign to user, when user has commented specific number of times.

- #### No of years

  This badge will automatically assign to user, when user completes number of years in your site.

### Manage User Achievements

Here you can assign or remove user's badges & achievements.

# Dashboard Widgets

Dashboard widgets to easily track your site `statistics`.

There are three widgets available in dashboard:

### ARMember Statistics

Here you can track site statistics like `Total Members`, `Active Members`, `Inactive Members` & `Membership Plans`.

Also you can see graphs for `Recent Members` & `Members By Plans`.

### Recent Members

Here you have list of 5 recently added members with their membership plan. You can view all members by clicking on View All Members link.

### Recent Payments

This widget will keep track of recently made payments along with information of membership plan, amount & payment status. You can view all payment history by clicking on View All Transactions link.

# Editor Shortcode Support

ARMember leads to - No more shortcode copy/paste.

Add plugin shortcodes in Post, Pages directly with visual editor. In `Popup`, you will find list of all plugin shortcodes with parameters, values and descriptions for specific shortcode.

### Editor Shortcode Button

As you can see in below screenshot, There are two buttons `Membership Shortcodes` & `Restrict Content`.

After clicking on Membership Shortcodes, a popup will open as shown below.

### Membership Shortcodes

Here you can find available number of tabs.

- #### Forms

  By using this option, you can add form shortcodes like `Registration`, `Login`, `Forgot Password`, `Change Password`, `Edit Profile`.

  Also you can set shortcode arguments according to form. For Example(Include form with Modal or direct in page, form position (With Respect to its container), Logged In Message)

  `Logged In Message:` This message will be shown to user he/she is already logged in and try to access registration, login, forgot password form.

- #### Membership Setup Wizard

  You can add membership setup wizard shortcode from here. Also you have option to set whether you want to display setup title or not.

- #### Action Buttons

  You can add action buttons like `Social Login Buttons`, `Logout` from here.

  There are also other options available according to action button type. i.e. you can set link type, link text, link styling etc for Logout shortcode.

- #### Others

  You can add `My Profile`, `Payment Transactions` `Current Membership` & `Conditional Redirection` `Conditional Redirection(User Role)` `Close Account` `Current User Information` `Check If User In Trial Period` `User Badge` `User Plan Information` shortcodes with different arguments from here.

  Conditional Redirection: This will provide conditional redirection based on plan along with plan comparison.

  Conditional Redirection(User Role): This will provide conditional redirection based on user's role.

  Current User Information: By using this option you can display username as 'username', 'display name', 'first name and last name'. For more information check in shortcode section.

  Current Membership: This will show user's current membership, and a link to change subscription. Also you can display Renew Subscription Button along with its formatting and label.

  Check If User In Trial Period: This will Show / Hide specific content to users who are currently in trial period.

  User Badge: This will Show current user's badge information.

  User Plan Information: This will display current user's specific plan information like start date, end date, next renewal date, trial start, trial end, grace end, total complete recurrence, payment gateway, payment mode, payment cycle.

- #### If Conditions

  You can add advanced level conditional shortcode from here. To get detail about this conditional shortcode, please click here.

- #### Drip Content

  You can drip your custom (partial) content using drip shortcode from here. you will find a list of custom content drip rules in this section. To get detail about this drip shortcode, please click here.

  Drip Content section will only available if you activate Drip Content from Add-ons.

### Restrict Content

You can add Partial Content Locker using this shortcode. To get detail about this section, please click here

# Navigation Menu Support

ARMember provides facility to add your forms in many ways like,

- #### In Page (Internal)

  Directly Add Shortcode to page.

- #### External popup window

  Directly Add Shortcode in page as Link/Button to open form in a popup window.

- #### Navigation Menu Link

  Directly add Link to your navigation menu from Them Appearance > Menus

  Here you will find 2 navigation meta boxes, one for Member Forms and second is for the Configured plans and setup forms.

  This link will open form in Modal Window Directly.

  - #### Armember Forms

    It will give you the list of all signup forms and login, forgot password, change password forms created in your system

  - #### Armember Configure Plan & Setup

    It will give you the list of all setup forms created in your system

  - #### Armember Logout

    It will give you the Logout Link - That can be directly added to menu from here.

- #### Navigation Menu Link show/hide options

  Through this option you can set to whom you want to show the particular link (For example: Display to All, Only Logged in User, Only non logged in User). You can check it in following image:

  This setting will work with single links in menu plus parent child menu links. If the menu is having all links without sub-menus then each link display option will work individually. And if the menu has sub-menu links then it will follow the case like (sub menu will be hide when parent is hide according to display settings, and if parent is shown in menu then child menu link will be shown or hide as per its individual option. )

# Payment Refund Process

ARMember provides a facility to set a refund policy to give a refund to customers.

You can allow refund to a member if member has paid a membership plan as `Automatic Payment` or `Manual Payment` method

- #### Full Refund

  Member will get fully refunded.

- #### Partial Refund:

  You can give a member refund as partialy which is you can give any amount for refund to a member.

- #### Supported Payment gateways

  Please note that if the payment method does not support the refund process, then the refund will not be executed.

  Please refer to the below-given table to know about the refund-supporting payment methods.

  Payment Method | Full Refund | Partial Refund | Refund Allowed Before(Days)
  --- | --- | --- | ---
  PayPal | Yes | Yes | 180
  Stripe | Yes | Yes | -
  Authorize.net | Yes | Yes | -
  2Checkout | No | No | -
  Bank Transfer | No | No | -

# [arm_form]

This shortcode displays ARMember form.

Possible Arguments: |
--- | ---
`id` | Form ID.
`assign_default_plan` | Plan ID ( Only Free Plans ). Must be used with sign up form shortcode only. This plan will be assigned by default when user will sign up using this sign up form.
`form_position` | set possible value from left, center or right Default: center
`popup` | Display form in popup box. Default: false
`link_type` | Link type. Possible options: link, button Default: link ( Work when popup option is true ).
`link_title` | Link / Button text ( Work when popup option is true ).
`overlay` | Popup box overlay ( Work when popup option is true ).
`modal_bgcolor` | Popup box background color( Work when popup option is true ).
`popup_height` | Popup box height ( Work when popup option is true ).
`popup_width` | Popup box width ( Work when popup option is true ).
`link_css` | Popup box Link / Button style ( Work when popup option is true ).
`link_hover_css` | Popup box Link / Button hover style ( Work when popup option is true ).
`logged_in_message` | Custom Message that will be shown to user when he/she is already logged in and try to access registration, login, forgot password form.(Note: If you will keep it blank, then nothing will be displayed to logged in user when they come to the page having registration/login/forgot password form)

# [arm_edit_profile]

This shortcode displays edit profile form.

Possible Arguments: |
--- | ---
`form_id` | Set ID of the Registration form/ SignUp form
`form_position` | Set possible value from left, center or right Default: center
`title` | Add form title here to be displayed at front for edit profile form.
`message` | Display message when member has been updated successfully.
`social_fields` | Social networks name - which are added to your selected SignUp form.
`view_profile` | Set value as true or false whether you want to display user profile link directly at edit profile.
`view_profile_link` | Here is the label to be displayed as user profile link in edit profile form.
`avatar_field` | Set value as yes or no whether you want to display Avatar field in your edit profile form. Default: yes
`profile_cover_field` | Set value as yes or no whether you want to display Profile Cover field in edit profile form. Default: yes
`profile_cover_title` | Here you can add your custom title for Profile Cover field label in edit profile form.
`profile_cover_placeholder` | Add your custom text here as placeholder for Profile Cover field in edit profile form.

# [arm_social_login]

This shortcode displays all active social network connect buttons id network argument is blank Or not passed.

Possible Arguments: |
--- | ---
`network` | Social network name(ex: facebook/twitter/linkedin/google/instagram/vk/tumblr)
`icon` | Image URL for the social network Icon

# [arm_setup]

Membership Setup Form Shortcode

Possible Arguments: |
--- | ---
`id` | Membership Setup Wizard ID.
`hide_title` | Whether to hide setup title or not. Default: false
`popup` | Display form in popup box. Default: false
`link_type` | Link type. Possible options: link, button Default: link ( Work when popup option is true ).
`link_title` | Link / Button text ( Work when popup option is true ).
`overlay` | Popup box overlay ( Work when popup option is true ).
`modal_bgcolor` | Popup box background color( Work when popup option is true ).
`popup_height` | Popup box height ( Work when popup option is true ).
`popup_width` | Popup box width ( Work when popup option is true ).
`link_css` | Popup box Link / Button style ( Work when popup option is true ).
`link_hover_css` | Popup box Link / Button hover style ( Work when popup option is true ).
`subscription_plan` | (paln_id) In any case if you want to display selected plan different than setup configuration, then you can add subscription_plan parameter in this shortcode.
`hide_plans` | 0 or 1 (In any case if you want to hide plan selection area from configuration page, then you can add hide_plans parameter in this shortcode.)
`payment_duration` | payment cycle's order ID. for ex. if 3 is passed, then 3rd payment cycle of plan will remain selected by default. This argument will work only subscription_plan argument is passed.

# [arm_logout]

Logout Shortcode.

Possible Arguments: |
--- | ---
`type` | Logout display type. Possible values: link, button. Default: link
`label` | Link / Button Text. Default: Logout
`user_info` | Show current user name. Possible values: true, false. Default: true
`redirect_to` | Redirect URL after successful logout. Default: Home URL
`link_css` | Link / Button style.
`link_hover_css` | Link / Button hover style.

# [arm_close_account]

Close Account Shortcode.

Possible Arguments: |
--- | ---
`set_name` | Name of Created Login Form Set Name (Close Form Layout will be same as the passed Login form set name)

# [arm_member_transaction]

Display Member's Transactions

Possible Arguments: |
--- | ---
`title` | Section Heading.
`per_page` | Number of Records per Page
`message_no_record` | Display Message if no records found.
`label` | Payment History - Grid Column Label
`Value` | Payment History - Grid Column Label Value

# [arm_account_detail]

Display Member's Account Detail

Possible Arguments: |
--- | ---
`label` | Profile field's meta keys separated by comma
`value` | Profile field's labels separated by comma. You can add translated labels here.
`social_fields` | Social Fields

# [arm_restrict_content]

Display Content to Specific Plan Members.

Possible Arguments: |
--- | ---
`type` | Show or hide content. Default: hide
`plan` | Plan Id or comma separated plan ids and targeted users ( Registered / Unregistered ). Default: all

# [arm_membership]

Display Current user Membership Details

Possible Arguments: |
--- | ---
`title` | Title of grid Default: Current Membership
`setup_id` | Membership Setup Wizard ID of which you want to inherit settings( except plans and payment gateways selected) in setup that will load when user clicks on Renew/Make Payment button.
`membership_label` | Current Membership - Grid Column Label
`membership_value` | Current Membership - Grid Column Label Value
`display_renew_button` | true/false Default: false
`renew_text` | Renew Button Text Default: Renew
`make_payment_text` | Make Payment Button Text Default: Make Payment
`renew_css` | CSS for Renew Button
`renew_hover_css` | CSS for Renew Button Hover
`display_cancel_button` | true/false Default: false
`cancel_text` | Cancel Button Text Default: Cancel
`cancel_css` | CSS for Cancel Button Hover
`cancel_hover_css` | CSS for Cancel Button Hover
`cancel_message` | Message that will be displayed when user's membership is canceled successfully.
`trial_active` | Display Trail Active Label
`message_no_record` | Display Message if no records found.

# [arm_purchased_paid_post_list]

Display Current user purchased paid post Details

Possible Arguments: |
--- | ---
`title` | Title of grid Default: Purchased Paid Post List
`setup_id` | Paid Post Setup Wizard ID of which you want to inherit settings( except payment gateways selected) in setup that will load when user clicks on Renew/Make Payment button.
`membership_label` | Purchased Paid Post - Grid Column Label
`membership_value` | Purchased Paid Post - Grid Column Label Value
`display_renew_button` | true/false Default: false
`renew_text` | Renew Button Text Default: Renew
`make_payment_text` | Make Payment Button Text Default: Make Payment
`renew_css` | CSS for Renew Button
`renew_hover_css` | CSS for Renew Button Hover
`display_cancel_button` | true/false Default: false
`cancel_text` | Cancel Button Text Default: Cancel
`cancel_css` | CSS for Cancel Button Hover
`cancel_hover_css` | CSS for Cancel Button Hover
`cancel_message` | Message that will be displayed when user's paid post is canceled successfully.
`message_no_record` | Display Message if no records found.

# [arm_paid_post_member_transaction]

Display Member's Paid Post Transaction Details

Possible Arguments: |
--- | ---
`title` | Section Heading.
`per_page` | Number of Records per Page
`message_no_record` | Display Message if no records found.
`label` | Paid Post Payment History - Grid Column Label
`Value` | Paid Post Payment History - Grid Column Label Value

# [arm_paid_post_buy_now]

Display Paid Post Buy Now Button for the Post

Possible Arguments: |
--- | ---
`label` | Buy Now Button/Link Label. Default: Buy Now
`type` | Buy now display link type. "link" or "button" Default:link
`redirect_url` | Redirect URL( Optional ) If you don't add URL at above textbox then buynow page will be set from ARMember -> General Settings -> Page Setup page.
`link_css` | Link / Button custom CSS style.
`link_hover_css` | Link / Button hover custom CSS style.

# [arm_conditional_redirection]

Redirection user based on plans.

Possible Arguments: |
--- | ---
`condition` | having/not having
`plans` | Id of plan
`redirect_to` | Redirection URL

# [arm_conditional_redirection_role]

Redirection user based on its role.

Possible Arguments: |
--- | ---
`condition` | having/not having
`arm_conditional_redirection_by_user_role_roles` | Role of user
`redirect_to` | Redirection URL

# Advanced Shortcode

### [armif] .. [/armif] and [armNotif] .. [/armNotif]

Show / Hide specific content to specific member by using WordPress built-in `conditional tags`. Sometimes it’s necessary to allow everyone to access to your content ( e.g. 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.

NESTED Conditions require a preceding underscore ( i.e., `_armif`, `__armif` ). You can go up to three levels deep ( e.g., `___armif` ).

##### example

    [armif is_blog_index()] Content Goes Here [/armif]

    [armNotif is_blog_index()] Content Goes Here [/armNotif]

    [armif is_page(24)]
        //NESTED Conditional Expressions
        [_armif current_user_can(armember_access_plan_2)]
            Content appears here.
        [/_armif]
    [/armif]

    [armif is_user_logged_in()]
        //Implementing AND/OR Conditional Expressions
        [_armif is_page(5) OR is_page(6)]
            Content appears here.
        [/_armif]
    [/armif]

### Supported Conditional Tags:

#### is_blog_index

This will check whether the current page is blog posts index page or not and according to that content will be shown.

#### is_home_page

This will be used to show content only if the current page/post is Home page.

#### is_single_post

This conditional tag can be used to display content only for the single posts (if the current post is post view/detail page). You can pass post parameter to indicate specific post type.

#### is_sticky_post

Checks if the current post is a Sticky Post meaning the "Stick this post to the front page" check box has been checked for the post, content between shortcode will be executed.

#### is_post_type_archive

This conditional tag will check if the query is for an archive page of a given post type(s).

#### is_page

This conditional tag can be used to show the content for any single page. This tag must be used BEFORE The Loop and as it does not work inside The Loop.

#### is_category

This tag will check if a Category archive page is being displayed. According to that you can add content to be displayed in page.

#### is_tag

This will check if a Tag archive page is being displayed.According to that you can add content to be displayed in page.

#### has_tag

This conditional tag will check if the current post has any of the given tags passed in parameter. The given tags are checked against the post's tags term_ids, names and slugs. Tags given as integers will only be checked against the post's tags term_ids.

#### is_taxonomy

Checks if a custom taxonomy archive page is being displayed, then content between shortcode will be executed. If the $taxonomy parameter is specified, this function will additionally check if the query is for that specific taxonomy. Note that is_tax() returns false on category archives and tag archives.

#### author_archive

Checks if an Author archive page is being displayed, then content between shortcode will be executed.

#### is_archive

This tag will check if any type of Archive page is being displayed. An Archive is a Category, Tag, Author or a Date based pages.

#### is_search

This conditional tag can be used to check if search result page archive is being displayed. If you want to show/hide content in accordance with search page than this tag will be useful.

#### is_rtl

Checks if current locale is RTL (Right To Left script), then content between shortcode will be executed.

#### is_multisite

This tag will be used to determine whether Multisite support is enabled or not. So you can show/hide content in accordance with multisite.

#### is_main_site

Check if site is main site of the network from the given site id passed in parameter. Yo can show/hide content for that specific site.

#### has_post_thumbnail

This tag will check if a post has a Featured Image (formerly known as Post Thumbnail) attached or not. So, you can show content conditionally when there is a featured image set for the post.

#### if_user_can

Checks if a user has capability or role, then content between shortcode will be executed. Similar to current_user_can(), but this function takes a user ID or object as its first parameter.

#### current_user_can

This conditional tag will check whether current user has particular capability/role or not. Based on that you can show/hide content to user.

#### current_user_can_for_blog

This will check whether current user has a capability or role for a given blog or not. You can pass blog ID as parameter to check if the current user has a capability for another blog on the network.

#### check_user_meta

This will check whether current user has correct meta_value based on operator passed as parameter. This will be useful when you want to display data only for those users, who are having some specific value in their user meta.
Default operator is EQUALSTO_N.
S = String Comparison
N = Numeric Comparison

check_user_meta($meta_key,$value,"EQUALSTO_S",$user_id)

#### is_user_id

This will check whether current user's ID matches given "user_id" parameter, then content between shortcode will be displayed. "user_id" parameter is required.

#### is_username

This will check whether current user's name matches given "user_name" parameter, then content between shortcode will be displayed. "user_name" parameter is required.

# ARMember with Elementor

### Embedding ARMember Widgets with Elementor

ARMember exclusively add Element in Elementor Page Builder, which facilitates to add forms\shortcodes in a page just like an element. When you edit your page with Elementor you will have ARMember widgets with general elements of Elementor

### ARMember Forms Elementor Widget:

Let us see illustration and understand each step for ARMember Shortcodes Widget :

- You need to drag and drop any ARMember element such as Register Forms, Login Form, Forgot password, Change poassword, setup form, Edit Profile, etc. in any row/column of Elementor section in a page.

- You will have ARMember Shortcode block in Elementor sidebar from where you can select/change form from your saved forms in ARMember.

- You can also change the element's styling and settings options on elements. If you changes other styings and settings of element then preview of element will be updated automatically.
- After complete selection of shortcode and changes of styling and settings you just need to save by click on PUBLISH/UPDATE button, That's it.

### Available ARMember Elementor Widgets List:

- ARmember Register Form
- ARMember Login Form
- ARMember Forgot Password
- ARMember Change Password
- ARMember Edit Form
- ARMember Membership Setup Wizard
- ARMember Logout
- ARMember Close Account
- ARMember My Profile
- ARMember Current Membership
- ARMember Payment Transactions
- ARMember user Info
- ARMember Latest User List
- ARMember User Badges
- ARMember User Private Content
- ARMember Conditional Redirection Rules By User Roles
- ARMember Conditional Redirection Rules By User Plans
- ARMember User trial Content
- ARMember Content Restriction

# Membership Diagram

### ARMember Sign Up Process

ARMember provides two types of signup:

- Signup with membership plan
- Signup without membership plan

### ARMember Renew-Cancel Membership

ARMember provides shortcode for displaying user's current membership list. Here it provides facility to renew and cancel specific membership.

Free Plan & Paid(Infinite) type of plans will never expire, so Renew button will not be displayed for that plans. For Subscription type of plans, Renew button will display after all recurring payments will be completed. Till then Make Payment button will come to pay for recurrence.

### ARMember Change Membership

# [arm_template]

Display Members Directory or Member Profile Detail.

Possible Arguments: |
--- | ---
`id` | Template ID.
`type` | Template Type. options: directory, profile

# [arm_userid]

Display Currently logged in user's userid. This is accessible in any post,page, in widget area.

# [arm_username]

Display Currently logged in user's username. This is accessible in any post,page, in widget area.

# [arm_displayname]

Display Currently logged in user's displayname. This is accessible in any post,page, in widget area.

# [arm_firstname_lastname]

Display Currently logged in user's first name and last name combination. This is accessible in any post,page, in widget area.

# [arm_avatar]

Display Currently logged in user's avatar. This is accessible in any post,page, in widget area.

# [arm_usermeta]

Display value of specific custom field of specific user/currently logged in user. If id is not specified, then currently logged in user's field info will be displayed. This is accessible in any post,page, in widget area.

Possible Arguments: |
--- | ---
`meta` | meta_key.
`id` | user ID

# [arm_user_plan]

Display currently logged in user's membership plans. If user will have multiple membership plans, then all plan names will be displayed as comma separated.

# [arm_user_badge]

Display badge information of user specified by user_id. This is accessible in any post,page, in widget area.

Possible Arguments: |
--- | ---
`user_id` | User ID

# [arm_user_planinfo]

Display currently logged in user's specific plan information like start date OR end date etc of specified plan.

Possible Arguments: |
--- | ---
`plan_id` | ID of plan
`plan_info` | possible values are arm_trial_start, arm_trial_end, arm_start_plan, arm_expire_plan, arm_grace_period_end, arm_user_gateway, arm_completed_recurring, arm_next_due_payment, arm_payment_mode, arm_payment_cycle

# [arm_if_user_in_trial] & [arm_not_if_user_in_trial]

Show / Hide specific content to users who are currently in trial period.

##### example

    [arm_if_user_in_trial]
        Only members who are in trial period can view this content.
    [/arm_if_user_in_trial]

    [arm_not_if_user_in_trial]
        All members can view this content except members who are not in trial period.
        Non Logged In User cannot see this content.
    [/arm_not_if_user_in_trial]

# Cornerstone Add-on

IMPORTANT NOTE: YOU NEED TO INSTALL AND ACTIVATE CORNERSTONE ADDON FROM `ARMember > Add-ons` TAB. THEN ONLY MEMBERSHIP SHORTCODES WILL WORK WITH CORNERSTONE. SUPPORTED FOR ARMEMBER VERSION 1.6 AND GRATER.

ARMember provides fully support with Cornerstone. When you edit your page or post with cornerstone go to "Elements". You will find `AR-MEMBER` is added which you can see in below image.

Now drag the ARMember element to the right side available screen. Then you will find different options for adding the shortcode.

#### Supported Shortcodes:

- #### Form

  Add Forms (Registration, Login, Forgot Password, Edit PRofile, Change Password) in page created with ARMember plugin

- #### ARMember Membership Setup Wizard

  Add membership setup for front-end user with created setup from ARMember plugin.

- #### Action Buttons

  Logout : You can add Logout link by ARMember plugin.

  Cancel Subscription : Add this element to provide facility of cancel Subscription link in front-end.

- #### Others

  - #### My Profile

    Add this element to show user details when it is logged in to system.

  - #### Payment Transaction

    Show transaction history to particular user.

  - #### Current Membership

    Add this element to display current membership details of particular user.

  - #### Conditional Redirect

    This will provide conditional redirection based on plan along with plan comparison.

  - #### Conditional Redirect(User Role)

    Conditional Redirection(User Role): This will provide conditional redirection based on user's role.

  - #### Close Account

    Add element to display membership close account page.

  - #### Current User Information

    Add element to display currently loggedin user's information.

  - #### Check If User In Trial Period

    This will Show / Hide specific content to users who are currently in trial period.

#### Following is image showing a screen: ARMember as Cornerstone element and related options.

# AffiliateWp Integration

Important Note:This plugin will only work if ARMember plugin version is higher than 1.6 and AffiliateWP Version: 1.9.5.1 or higher. Go to ARMember -> Add-ons -> `install` AffiliateWP Integration and `Activate` Add-on.

If your system has activated "AffiliateWp" plugin, then this add-on will allow you to integrate it with ARMember.

By using this combo of "ARMember + AffiliateWp" user can get "commission" on sharing Referral of the plan - the plan for which 'Enable AffiliateWP Referral' option is enabled.

For this : you have to set Default Referral from `affiliate > setting > misc > Default Referral URL`

In `ARMember > Manage Plans > Add / Edit Membership plan` you will get an option : "Enable AffiliateWP Referral".

## Steps to Setup ARMember-AffiliateWP For Your Website

1. After ARMember plugin get activated and AffiliateWP is installed and activated then AffiliateWP section will be display in `ARMember` -> `Manage Plans` -> `Add / Edit Membership plan`.

   Please see below screen.

2. You will be able to enable and disable referrals plan wise.

3. If you will enable referrals then new referrals will be created.

4. Please set a configure signup plan page URL in `affiliate > setting > misc > Default Referral URL`. So when user check their affiliate area after getting logged in to site - user will be able to share the signup page URL with their affiliate id URL.

   (If non registered user become member to site through the URL shared by other member, then that particular user will get commission of related plan in which this option of 'Enable AffiliateWP Referral' has been enabled.)

# Direct Login With ARMember

Important Note:This Addon will only work if ARMember plugin is installed with version 1.7 or higher . Go to ARMember -> Add-ons -> `install` Direct Login and `Activate` Add-on.

This addon will allow you to create temporary login link so when anybody runs link url, he will be logged-in without need of username and password.

It is very easy and simple interface to create links. You can create login link for existing users as well as for new users too. Also you can set duration until link will be valid.

## Steps to Setup ARMember-Direct Login For Your Website

1. When plugin activated then Direct Login menu will be displayed under `ARMember`. Please see below screen.

2. When you click on `Direct Login`, direct login users list will be displayed. Please see below screen.

## Actions

For each row of grid there are some action options provided which are as following

1. #### Copy link to clipboard

   Each direct login have unique link and you can copy link by just one click on `Copy link to clipboard` icon at right side.

2. #### Modify Duration

   When you click on Modify Duration icon, popup opens from where you can edit link expiration time.

   Please see below screen.

3. #### Delete

   By clicking on Delete icon, link can be deleted.

4. #### Active & Inactive

   You can ACTIVE or INACTIVE direct login using single switch.

# Active Campaign Integration

Important Note:This Add-on will only work if ARMember plugin is installed with version 1.7 or higher . Go to ARMember -> Add-ons -> `install` Active Campaign and `Activate` Add-on.

Active Campaign is an open-source marketing automation software and ARMember – Active Campaign Add-on is a bridge between Active Campaign’s back-end interface and ARMember plugin.

This Add-on will allow you to add all users of your membership website into Active Campaign Contacts, who will register using ARMember Registration Form.

This Add-on does not just add users to Active Campaign Contacts but also facilitates you to add users in specific Active Campaign List. Also You will be allowed to add users, who will register from different Sign Up Forms used for different purposes, into in different Active Campaign Lists.

## Steps to Setup ARMember-Active Campaign For Your Website

1. When Add-on is activated, Active Campaign section will be displayed in `ARMember` -> `General Settings` -> `Opt-ins`. Please note that opt-ins tab will be displayed only if Opt-ins module is activated under Add-ons.

   Please see below screen.

2. If you do not have Active Campaign account then create it.

   For Active Campaign account click here.

3. To get API URL and API Key please refer Active Campaign User Guide

4. After getting API URL and API Key from Active Campaign, fill it under Active Campaign section in Opt-ins.

   Click on Verify link, If verification successes, you can see list of all Active Campaign Lists in List Name select box. Select any of lists that you want to set as default. After that do not forget to click on Save button.

5. After setup completes, go to Manage Forms page, then click on edit link of your Registration Form. You can see Active Campaign checkbox under Opt-ins in Right panel.

   Please see below screen.

6. Select from the list in which you want to add your website users who will register using this registration form.

   Click Save Button.

7. If your website have more than one Registration Forms for different purposes, you can set different lists for different forms and can manage your users in Active Campaign easily.

   Click Save Button. Now All is Set.

   After this setup, you will find all users in your Active Campaign account under Contacts, who will register to your website using this registration form.

# ARMember with Gutenberg

ARMember Blocks use for the new Gutenberg block editor. For this you need to create a page and use `ARMember Blocks` click on block and use two blocks different blocks `ARMember Block Restriction`, `Membership Shortcodes` and `Restrict Content Shortcodes`

### ARMember Gutenberg Block Restriction

- ARMember exclusively add feature add-on Gutenberg Block Restriction in Gutenberg Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with Gutenberg you will have a facility to restrict Gutenberg block content from block settings

When Add-on is activated, Gutenberg block Restriction will be displayed in block inserter. Please note that will be displayed only if Gutenberg Block Restriction is activated under Add-ons.

Please see below screenshot.

- Click on `ARMember Block Restriction`. you can add any block inside it and restrict to that block you can see below screenshot

- You can add any block inside ARMember Block Restriction. and set restriction type and select membership plans for content restriction

- After complete all above stap settings you just need to save by click on PUBLISH/UPDATE button, That's it.

### How to use Membership Shortcodes?

- Click on `Membership Shortcodes` you can see popup then select any shortcode you can add shortcode in editor you can see below screenshot

## How to use Restrict Content Shortcodes?

- Click on `Restrict Content Shortcodes` you can see popup then set restrict content rules and add shortcode you can see below screenshot

# ARMember with Beaver Builder

### ARMember Beaver Builder Restriction

- ARMember exclusively add feature add-on Beaver Builder Restriction in Beaver Builder Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with Beaver Builder you will have a facility to restrict Beaver Builder module content from module settings

- When Add-on is activated, Beaver Builder Restriction will be displayed in module settings. Please note that will be displayed only if Beaver Builder Restriction is activated under Add-ons.
- Please see below screenshot.

- After that add any module to your page and check module setting sidebar. you can see tab ARMember click on that And you will see ARmember module access, set Yes on that selectbox.

Please see below screenshot.

- After Follow above steps you will see setting of module access type and mudule access Membership Plans
- Please see below screenshot.

# ARMember with Divi Builder

### ARMember Divi Builder Restriction

- ARMember exclusively add feature add-on Divi Builder Restriction in Divi Builder Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with Divi Builder you will have a facility to restrict Divi Builder Section and Row content from Section and Row settings

- When Add-on is activated, Divi Builder Restriction will be displayed in Section and Row settings. Please note that will be displayed only if Divi Builder Restriction is activated under Add-ons.
- Please see below screenshot.

- Click on Setting icon of Section and Row. As Above Screenshot, and after that desplayed Section and Row settings Popup Which settings icon you clicked.
- After That click on Advance Tab in setting popup, You can see ARMember setting tab
- Please see below screenshot.

- After that check setting popup. you can see tab ARMember click on that And you will see Enable Restriction access switch, set Yes on that switch.

Please see below screenshot.

- After Follow above steps you will see setting of Restriction Type and Memebrship plan(s)
- Set your restriction settings and click on save button that it.
- Please see below screenshot.

# ARMember with WPBakery Page Builder

### ARMember WPBakery Page Builder Restriction

- ARMember exclusively add feature add-on WPBakery Builder Restriction in WPBakery Builder Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with WPBakery Page Builder you will have a facility to restrict WPBakery Builder Row, Column And Element content from Section and Row settings

- When Add-on is activated, WPBakery Page Builder Restriction will be displayed in Row, Column and Element settings. Please note that will be displayed only if WPBakery Page Builder Restriction is activated under Add-ons.
- Please see below screenshot.

- Click on Edit icon of Row, Column And Elelment. As Above Screenshot, and after that desplayed Row, Column And Elelment settings Popup Which Edit icon you clicked.
- After That click on ARMember Restriction Tab in setting popup
- Please see below screenshot.

- After that check setting popup. you can see tab ARMember click on that And you will see Enable Restriction access switch, set Yes on that Selectbox.

Please see below screenshot.

- After Follow above steps you will see setting of Content Restriction Type and Memebrship plan(s)
- Set your restriction settings and click on save/update button that it.
- Please see below screenshot.

# ARMember with Avada Builder (formerly Fusion Builder) Page Builder

### ARMember Avada Builder (formerly Fusion Builder) Restriction

- ARMember exclusively add feature add-on Fusion Builder Restriction in Avada Builder (formerly Fusion Builder) Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with Avada Builder (formerly Fusion Builder) you will have a facility to restrict Avada Builder (formerly Fusion Builder) Container, Column content from Container and Column settings

- When Add-on is activated, Fusion Builder Restriction will be displayed in Container and Column settings. Please note that will be displayed only if Fusion Builder Restriction is activated under Add-ons.
- Please see below screenshot.

- Click on Edit icon of Container and Column. As Above Screenshot, and after that desplayed Container and Column settings Popup Which Edit icon you clicked.
- After That click on ARMember Restriction Tab in setting popup
- Please see below screenshot.

- After that check setting popup. you can see tab ARMember Restriction click on that And you will see Enable Restriction access switch, set Yes on that switch.

Please see below screenshot.

- After Follow above steps you will see setting of Content Restriction Type and Memebrship plan(s)
- Set your restriction settings and click on save and page button then publish/update button that it.
- Please see below screenshot.

# ARMember with Oxygen Builder

### ARMember Oxygen Restriction

- ARMember exclusively add feature add-on Oxygen Builder Restriction in Oxygen Builder Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with Oxygen Builder you will have a facility to restrict Oxygen Builder Container, Section, Column and Components content from it's settings

- When Add-on is activated, Oxygen Builder Restriction will be displayed in Container, Section, Column and Components settings -> `condition settings` -> `Set conditions` . Please note that will be displayed only if Oxygen Builder Restriction is activated under Add-ons.
- Please see below screenshot.

- Click on Container, Section, Column and Components. As Above Screenshot, and after that displayed settings sidebar -> `condition settings` -> `Set conditions`.
- After that click on set condition and you can see set condition popup window
- Please see below screenshot.

- After that check set condition setting popup. add a new condition and you can see option ARMember Restriction in condition selectbox.

Please see below screenshot.

- after select ARMember Restriction next selectbox Restriction Type and Memebrship plan(s), select restriction type and select Memebrship plan
- Please see below screenshot.

- Set your condition settings and close popup then click on save button that's it.

# ARMember with SiteOrigin Builder

### ARMember SiteOrigin Builder Restriction

- ARMember exclusively add feature add-on SiteOrigin Builder Restriction in SiteOrigin Builder Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with SiteOrigin Builder you will have a facility to restrict SiteOrigin Builder Row and Column content from Row and Column settings

- When Add-on is activated, SiteOrigin Builder Restriction will be displayed in Row and Column settings. Please note that will be displayed only if SiteOrigin Builder Restriction is activated under Add-ons.
- Please see below screenshot.

- Click on Edit icon of Row. As Above Screenshot, and after that desplayed Row and Column settings Popup Which Edit icon you clicked.
- After That click on ARMember Restriction Tab in setting popup
- Please see below screenshot.

- when you click on column in row setting popup you can see column setting ARMember Restriction Tab
- like below screenshot.

- After that check setting popup. you can see tab ARMember Restriction tab click on that And you will see Enable Restriction access switch, set Yes on that switch.

Please see below screenshot.

- After Follow above steps you will see setting of Content Restriction Type and Memebrship plan(s)
- Please see below screenshot.

- Set your restriction settings and click on Insert/Done on setting popup and page publish/update that's it.

# ARMember with Bricks Builder

### ARMember Bricks Builder Restriction

- ARMember exclusively add feature add-on Bricks Builder Restriction in Bricks Builder Page Editor, which facilitate to restrict content show/hide for Membership Plans/Non loggedin User/Loggedin user. When you edit your page with Bricks Builder you will have a facility to restrict Bricks Builder section, container, block, div and all elelments content from element settings panel

- When Add-on is activated, Bricks Builder Restriction will be displayed in elelment settings panel. Please note that will be displayed only if Bricks Builder Restriction is activated under Add-ons.
- First of all Add new elelment in page from elelment panel
- Please see below screenshot.

- After add element click on element or elelment on Structure panel . after that desplayed element settings panel Which element you clicked to edit.
- now you can see ARMember Restriction Tab on element setting panel
- Please see below screenshot.

- when you open ARMember Restriction Tab you can see Enable Content Restriction switch. Enable that switch.
- like below screenshot.

- After Follow above steps you will see setting of Content Restriction Type and Memebrship plan(s)
- Please see below screenshot.

- After set ARMember restriction settings and click on page publish/save that's it.

# GDPR

Please note that following information should not be considered as legal advice. So, please confirm with legal specialist.

Let's see how to make a GDPR compliant privacy policy page in your WordPress site.

## What is GDPR?

GDPR ( General Data Protection Regulation ) is a European Union law applicable from May 25, 2018. According to this new regulation visitors in your site should be known that how their personal data is collected, used and shared in your site.

## Make Forms in ARMember and GDPR compliant privacy policy page

To make your forms like register form in ARMember GDPR compliant simply add a required checkbox field like 'Privacy Policy'.

WordPress 4.9.6 released with a privacy policy generator which helps you to create a privacy policy page easily in your site. If are using older version of WordPress you may create a privacy policy page using other WordPress plugins.

Create a privacy policy page from `Settings -> Privacy`. You will see a link of Check out our guide where you can get suggestions by your plugins and themes for what content to include along with your policies.

ARMember also adds policy guide line with information of what personal data ARMember collect, which can be helpful to add guide lines in your policy content.

## Allow users to delete their account from your site

ARMember provides shortcode like `{arm_close_account set_id="SET_ID"}` which you can use in your page to let your users allow to delete / close their account and all of their account data.

Once user will close his account, all the subscription plans associated with user will be removed first and then user will be logged out. If user has any automatic subscription, then it will also be canceled before his account is closed.

Users who have closed their account will be removed completely and all of their account data will be erased from your site.

# Visual Composer Support

ARMember is very flexible which supports Visual Composer to add plugin shortcodes Page / Post.

If you have Visual Composer installed on your website, you can easily add armember plugin shortcodes by just clicking on specific module.

Just go to visual composer "Backend Editor > Add Element".

As you can see in below picture, you have ARMember tab, that tab will list all shortcodes. By clicking on specific shortcode, popup will be open with shortcode argument options.

#### Supported Shortcodes:

- #### ARMember Form

  Add Forms in page created with ARMember plugin

- #### ARMember Edit Profile

  You can create edit profile page by selecting this element.

- #### ARMember Logout

  Add Logout link by ARMember plugin.

- #### ARMember Membership Setup Wizard

  Add membership setup for front-end user with created setup from ARMember plugin.

- #### ARMember Payment Transaction

  Show transaction history to particular user.

- #### ARMember My Profile

  Add this element to show user details when it is logged in to system.

- #### ARMember Close Account

  Add element to display membership close account page.

- #### ARMember Cancel Subscription

  Add this element to provide facility of cancel Subscription link in front-end.

- #### ARMember Current Membership

  Add this element to display current membership details of particular user.

- #### ARMember Conditional Redirect

  This will provide conditional redirection based on plan along with plan comparison.

- #### ARMember Conditional Redirect(User Role)

  Conditional Redirection(User Role): This will provide conditional redirection based on user's role.

- #### ARMember UserName

  Add to display logged in user's username.

- #### ARMember User DisplayName

  Add to display loggedin user's displayname.

- #### ARMember User FirstName LastName

  Add to display loggedin user's Firstname and Lastname.

Following Image showing a screen : If ARMember Form element is selected, then related options like select form, popup window options of link or button, its text etc..

# WooCommerce Support

## AccessRule Support

ARMember provides facility to manage access permission for WooCommerce Product & Product Categories. Also you can set default rules for new product or product categories created.

## WooCommerce Integration - Add-on

If this add-on is active, then a new tab "ARMember plan" will be added in product data metabox in add/edit product page from where you can map armember plans with respective product.

Some Important Notes to be considered while using this add-on:

- Mark every product as virtual product.
- If you map any plan which is having "subscription/recurring payment" type, then it will be considered as "semi automatic subscription" always.
- If you add any mapped product to cart, then all other products will be removed from cart. Also only one mapped product can be added in cart. Select Quantity box won't shown for mapped product in product detail page.
- If payment done properly and product will be marked as virtual then order will be auto-complete.
- when order is placed and its status is changed to complete then only plan will be assigned to respective buyer.
- If order gets completed then and then Plan will be assigned to user.
- The plan will be assigned to registered user only. And if the user is already loggedin and purchasing new plan, then after successful order completion, new plan will be assigned to user.

Also, ARMember does provide a facility to integrate Paid Post in Woocomerce.

- Mark every product as virtual product.
- If you map any Paid Post which is having "subscription/recurring payment" type, then it will be considered as "semi automatic subscription" always.
- If you add any mapped Paid Post to cart, then all other Paid Post will be removed from cart. Also only one mapped Paid Post can be added in cart. Select Quantity box won't shown for mapped product in product detail page.
- If payment done properly and Paid Post will be marked as virtual then order will be auto-complete.
- when order is placed and its status is changed to complete then only Paid Post will be assigned to respective buyer.
- If order gets completed then and then Paid Plan will be assigned to user.
- The Paid Post will be assigned to registered user only. And if the user is already loggedin and purchasing new Paid Post, then after successful order completion, new plan will be assigned to user.

Also, ARMember does provides facility to purchase ARMember membership plan using woocommerce checkout payment methods when this addon enables.

- After enabling 'Woocommerce' and 'Woocommerce Integration' addon, 'Woocommerce' payment gateway option will display at 'ARMember General Settings' -> 'Payment Gateways' page.

- When this payment gateway enables, it automatically displays as payment gateway option in 'Configure Plan + Signup Page'.

ARMember does provide a facility to Auto refill a checkout billing form as a member's "First Name", "Last Name", and "Email address" if the register form has available these fields then Billing First Name, Billing Last Name and Billing Email Address will be auto filled to the WooCommerce checkout form.

# BuddyPress/BuddyBoss Support

BuddyPress/ Buddyboss section will only available if you activate BuddyPress / Buddyboss Integration from Add-ons.

ARMember provides support to installed BuddyPress Plugin in your site. You can add access rules related to BuddyPress/BuddyBoss pages and also ARMember provides support to BuddyPress/BuddyBoss extra profile fields mapping with ARMember Signup and Edit Profile form.

You can add access rules for following BuddyPress/BuddyBoss sections:

- Group creation: `Only Site members can create new groups.`
- Friendship request: `Only site members are allowed to send friendship requests.`
- Private messaging: `Only site members are allowed to send private messages.`
- View Member listing: `Only site members are allowed to check the Member Directory and Member Profiles.`

Also We have facility to mapped BuddyPress/BuddyBoss profile fields with our `Registration / Edit Profile` form fields.

Please refer BuddyPress/BuddyBoss for more details.

# ARPrice Support

ARMember provides support to installed ARPrice Plugin in your site. You can open ARMember "Plan+Signup form" or only "Signup form" on button click event of Pricing table by inserting ARMember shortcodes.

There are two ways to allow member registration with pricing table :

- Page redirection
- Popup Form

On button click event of pricing table, either redirect user to a page having ARMember registration form or configure plan+signup page shortcode for being register OR open a popup by placing ARMember external form shortcode.

Steps for integrating ARMember with ARPrice are as below:

1. Generate ARMember "Configure plan+signup" shortcode.

2. Now edit your ARPrice Template and double click on button, If you want to redirect user to your "Configure Plan+SignUp" page, then add URL of that page in "Button Link" textarea.

   You can hide plan selection area in "Configure Plan+SignUp" page by passing post variable hide_plans=1. Also to keep specific plan selected on that page use subscription_plan=plan_id, do not forget to replace {plan_id} with ID of plan that you want to keep selected as default plan.

   To add post variables go to column setting by clicking on pricing table column, here you will find 'Post Variables' text area.

   Post Variables will work only if you have used "Button Link" in button settings.

3. If you want to open "Configure Plan+SignUp" form in popup when user click on pricing table button, then add external type shortcode of it in 'Embed Script (e.g. PayPal Code)' textarea.

You can show your membership plans with all necessary information as pricing table columns with attractive pricing table template and add ARMember form shortcode in each column button, add both post variables shown above, so when user will click on button, he will just see payment gateways and registration form if user is not logged in.

In this way you can user ARMember with ARPrice for beautifully presenting your membership plans.

# Changelog

## Version 6.5.1 (02 March, 2024)

- Minor bug fixes.

## Version 6.5 (15 February, 2024)

- Added New inbuilt addon 'Bricks Builder Integration'
- Added: Current password field for change password form.
- Added Elementor widget for the Pay Per Post Addon.
- Improved Stripe SCA Popup design.
- Other minor bug fixes.

## Version 6.4.3 (02 February, 2024)

- Fixed: Dropdown close issue for device.
- Other minor bug fixes.

## Version 6.4.2 (06 Jan, 2024)

- Fixed: Countrywise Tax Setting issue.
- Minor bug fixes.

## Version 6.4.1 (28 Dec, 2023)

- Added Elementor Restriction options for Any Plan, Logged-in and Non-Logged In user.
- Fixed: Sending test email error with Gmail SMTP.
- Fixed: Payment Transaction shortcode pagination issue.
- Other minor bug fixes.

## Version 6.4 (21 Dec, 2023)

- Added ARMember Lite Compatibility with ARMember premium version. From now on ARMember Lite Plugin is require to use the ARMember Premium Plugin.
- Added New 12 in-built Languages Translation.
- Added New inbuilt addon "Avada (Fusion) Builder Restriction".
- Added New inbuilt addon "Oxygen Builder Restriction".
- Added New inbuilt addon "SiteOrigin Builder Restriction".
- Added New page "Growth Plugins" for administrator.
- Added facility to display "Membership Plan" on Member Profile
- Added facility to display "Membership Expiry Date" on Member Profile.
- Added facility to display "Membership Renewal Date" on Member Profile.
- Added Compatibility for WooCommerce Version 8.4.0.
- Other minor bug fixes.

## Version 6.3.1 (27 Nov, 2023)

- Minor bug fixes.

## Version 6.3 (10 Nov, 2023)

- Added New inbuilt addon "Divi Builder Restriction".
- Added New inbuilt addon "WPBakery Page Builder Restriction".
- Improvements on Manage Subscriptions page.
- Improvements in code with respect to security concerns.
- Updated MailChimp API.
- Other minor bug fixes.

## Version 6.2 (14 Oct, 2023)

- Added New inbuilt addon "Gutenberg Block Restriction".
- Added New inbuilt addon "Beaver Builder Restriction".
- Updated Sendinblue API to Brevo API.
- Other minor bug fixes.

## Version 6.1 (22 Sep, 2023)

- Added New inbuilt addon "Membership Limit".
- Added Facility to show Member name on the "Manage Subscriptions" Page.
- Other minor bug fixes.

## Version 6.0.1 (17 Aug, 2023)

- Minor bug fixes.

## Version 6.0 (21 Jul, 2023)

- Added Setup wizard for new installation.
- Added new page "Manage Subscriptions" for administrator.
- Added new facility for administrator to initiate refund to payment transactions.
- Added new "GMail SMTP" method to send email notifications.
- Added new facility to set the restriction for the Elementor Elements.
- Added new facility to upload multiple files at frontend forms.
- Updated Aweber Integration opt-ins process with latest API.
- Other Minor bug fixes.

## Version 5.9.3 (08 May, 2023)

- Security Improvements.
- Minor bug fixes.

## Version 5.9.2 (15 Apr, 2023)

- Added new filter option "Active Plan User" at Manage Members page.
- Added New Email Notification for membership plan purchased with "Bank Transfer" Payment Gateway.
- Added facility to fill WooCommerce Checkout Fields - Billing First Name, Last Name and Email Address automatically.
- Other minor bug fixes.

## Version 5.9.1 (01 Mar, 2023)

- Added new facility to allow drip content prior subscription.
- Added new facility to allow drip content post subscription.
- Updated Twitter Social Login API.
- Other minor bug fixes.

## Version 5.9 (16 Feb, 2023)

- Added Facility to set Drip Content on months and years.
- Added Facility to set Drip Content Expiration.
- Added metaboxes to set Drip Content from WordPress post & page itself.
- Added Facility to set x number of decimal for amount.
- Other minor bug fixes.

## Version 5.8.1 (17 Jan, 2023)

- Added compatibility with latest version of Elementor Widgets.
- Added compatibility to PHP 8.0.
- Other minor bug fixes.

## Version 5.8 (03 Jan, 2023)

- Optimized ARMember CRON (Scheduler) for better performance.
- Optimized ARMember Dashboard widgets.
- Fixed: Setup form "Summery Text" showed amount with currency symbol.
- Fixed: Reports data showing not properly.
- Other minor bug fixes.

## Version 5.7 (21 Nov, 2022)

- Added Facility to add credit card image to ARMember Setup Form.
- Added Facility to add 'Plan Renew Date' to the Membership Card.
- Added Email address clickable in member profile.
- Optimized member directory listing.
- Other minor bug fixes.

## Version 5.6 (05 Oct, 2022)

- Added Elementor Widget Support.
- Added Facility to hide empty field for Member Directory Templates.
- Other minor bug fixes.

## Version 5.5.1 (10 Sep, 2022)

- Added facility to add Prefix/Suffix icons for the 'Material Outline' theme.
- Other minor bug fixes.

## Version 5.5 (30 Aug, 2022)

- A complete revamp of ARMember Login/Signup & Setup Forms UI
- Added New Form Theme: 'Material Outline'
- Updated Google Sign-in social login with New Method
- Added 'Verify Webhook' feature for Stripe Payment Gateway
- Other minor bug fixes.

## Version 5.1.1 (30 May, 2022)

- Security update.
- Other minor bug fixes.

## Version 5.1 (25 March, 2022)

- Added new Member Directory template
- Added new Member Profile template
- Revamp existing Member Directory and Profile templates
- Added New debug log Facility for all email notifications
- Other minor bug fixes.

## Version 5.0.2 (02 March, 2022)

- Added Compatibility for ARMember Gift Membership Addon.
- Added Facility to display User ID in Member directory.
- Other minor bug fixes.

## Version 5.0.1 (26 Jan, 2022)

- Minor bug fixes.

## Version 5.0 (28 Dec, 2021)

- A complete revamp of ARMember Admin panel UI
- CSS Optimization
- Other Minor bug fixes

## Version 4.6.1 (04 Dec, 2021)

- Minor bug fixes.

## Version 4.6 (08 Oct, 2021)

- Added New API Module for external calls.
- Added New Facility to redirect to the Referrer Page after signup.
- Added New Facility to apply coupon for Pay Per Post.
- Updated Stripe SCA payment method.
- Added New Currencies for Bank Transfer Payment Gateway.
- Improved Payment Reports and Paid Post Reports
- Other minor bug fixes.

## Version 4.5.1 (05 October, 2021)

- Security update
- Minor bug fixes

## Version 4.5 (19 June, 2021)

- Added New Facility to set debug log Settings for Payment Gateway and Opt-ins
- Added New Report: Coupon Reports
- Other minor bug fixes.

## Version 4.4.1 (14 June, 2021)

- Minor bug fixes.

## Version 4.4 (04 June, 2021)

- Added New Social Login: Tumblr.
- Added New Opt-ins: Send in Blue.
- Other minor bug fixes.

## Version 4.3.3 (20 May, 2021)

- Minor bug fixes.

## Version 4.3.2 (11 May, 2021)

- Minor bug fixes.

## Version 4.3.1 (03 May, 2021)

- Minor bug fixes.

## Version 4.3 (29 Apr, 2021)

- Added new method to integrate WooCommerce with ARMember.
- Added new facility to change user status in bulk.
- Added new facility to assign membership plan in bulk.
- Added new facility to allow duplicate Profile and Member Directory Template.
- Code improvement of all payment gateways integrations.
- Fixed: Stripe Payment Gateway issue.
- Other minor bug fixes.

## Version 4.2 (19 Apr, 2021)

- Added Facility to rotate cover and avatar photo.
- Fixed: Display actual badge title when Badge is assigned by administrator
- Other minor bug fixes.

## Version 4.1.4 (01 Mar, 2021)

- Updated Getresponse Opt-ins version to V3
- Fixed: Allowed 100% coupon discount with Stripe payment gateway
- Other minor bug fixes.

## Version 4.1.3 (10 Dec, 2020)

- Added new facility to view invoice from payment report.
- Added compatibility with PHP version 8.0.
- Added compatibility with WordPress version 5.6.
- Minor bug fixes

## Version 4.1.2 (21 Nov, 2020)

- Minor bug fixes

## Version 4.1.1 (06 Nov, 2020)

- Minor bug fixes

## Version 4.1 (03 Nov, 2020)

- Added Facility to purchase paid post with WooCommerce Checkout
- Added advanced filters in Member Directory Templates.
- Added New Report "Paid Post Report" for Paid Post purchases.
- Added support of new shortcodes in email notification templates : Coupon Code.
- Added Facility to add Login link in signup form.
- Added BuddyBoss Support.
- Added Facility to apply Content Restriction for Elementor Template Shortcodes too.
- Added Facility to Automatic clear failed login history older than 30 days.
- Updated Stripe Library.
- Updated Third-party Libraries : Codemirror, Chosen, Colpick, Highcharts, iCheck, CarouFredSel, and Jeditable.
- Other minor bug fixes.

## Version 4.0.2 (15 Aug, 2020)

- Minor bug fixes

## Version 4.0.1 (08 Aug, 2020)

- Updated DataTables Library.
- Added Facility to Redirect Spacific Page after Purchase Paid Post.
- Minor bug fixes

## Version 4.0 (24 Jun, 2020)

- Added new facility to sell post and custom posts individually. Your customers need to pay per post to access it.
- Added facility to set hidden fields while edit member from admin panel.
- Added facility to change order of fields while add/edit members from admin panel.
- Added facility to customise date format in admin side.
- Fixed cancel subscription issue with PayPal.
- Other bug fixes

## Version 3.5.1 (02 May, 2020)

- Minor bug fixes.

## Version 3.5 (14 Apr, 2020)

- Added New Social Login : Google Signin Facility.
- Added new facility to purchase a membership plan using myCred points.
- Added facility to display myCred points in a membership card.
- Added Facility to view entered Password in login form.
- Added New "Login History" Report.
- Improvements in Membership report and payment report.
- Improvements in Report Dashboard page.
- Added new facility for administrator to display list of users who have used particular coupon.
- Added support of the Google Recapcha V3.
- Added facility to view password in a user readable mode in login form.
- Added Double Opt-ins facility in a Mailster.
- Improvements in Payment History.
- Other minor bug fixes.

## Version 3.4 (26 Nov, 2019)

- Added Many new Frontend Widgets like Payment Transactions, User Badges, User Profile etc.
- Added new Reports section which has reports for members and payment transactions.
- Added new facility to purchase multiple products from WooCommerce when Multiple Membership module is active in ARMember.
- Added email (as a metadata information) in individual transactions at stripe.
- Added new filter in Manage Member's page to search field-wise members.
- Improved Coupon module.
- Improved overall ARMember functionalities for Ajax based themes.
- Improved Drip rule filters.
- Fixed bug related to frontend forms look and feel in RTL.
- Fixed bug related to apply tax while adding member from admin panel.
- Other minor bug fixes.

## Version 3.3.3 (21 Oct, 2019)

- Minor bug fixes.

## Version 3.3.2 (01 Oct, 2019)

- Added option to accept payment with stripe default checkout method OR stripe SCA popup method.
- Added new email notification upon 'User login'.
- Other minor bug fixes.

## Version 3.3.1 (16 Sep, 2019)

- Fixed bug related to file upload issue in profile cover.
- Improved stripe integration
- Other minor bug fixes.

## Version 3.3 (10 Sep, 2019)

- Added new facility for user-wise private content.
- Added new form section "Profile Forms" to create profile forms with more custom fields other than signup/login etc.
- Added 3D Secure such as SCA Compliant Stripe Payments
- Added new facility to generate bulk copuons.
- Added new facility to set Avatar and Background Image in Membership card.
- Added new facility to set custom fields in membership card.
- Added new feature to Enable/Disable in-built ARMember's spam protection facility.
- Added two new email notification events:
  1. On member close account event.
  2. Payment due reminder for auto debit payment type.
- Added more shortcodes to use in Email notification message.
- Added facility for administrator user to view/print Membership card.
- Added facility to cancel Finite plans.
- Added more security upon file upload.
- Removed Google Plus social media support.
- Much more optimized code and loading speed improvement.
- Other bug fixes.

## Version 3.2.1 (18 Mar, 2019)

- Updated Max Mind Database.
- Updated MailChimp API version 3.0
- Other Minor bug fixes.

## Version 3.2 (01 Mar, 2019)

- Introduced New Signup Form Field: Google Recaptcha.
- Added Facility to allow multiple drip rule on same Membership Plan for custom content.
- Added New Facility to add custom fields in Members Directory Listing.
- Added New Social Profile Field Skype and WhatsApp for profile and directories.
- Added Facility to set Finite Membership Plan upto 15 Years.
- Added Facility to allow to use underscore(_) in Username.
- Updated Social Login LinkedIn with oAuth 2.0 Method.
- Added Compatibility to Mailster Latest Version.
- Updated PHP Mailer Library.
- Other Minor bug fixes.

## Version 3.1.1 (18 Dec, 2018)

- Minor bug fixes.

## Version 3.1 (06 Dec, 2018)

- Added Compatibility with Gutenberg editor.
- Added New Google Fonts.
- Added Facility to Export Login History of user.
- Other bug fixes.

## Version 3.0 (29 October, 2018)

- Introducing new Email marketer(Opt-ins) : MadMimi and Mailer Lite.
- Added Support of Instagram Social Connect Facility for Login/Signup.
- Added New Feature to Apply Coupon Discount On each Recurring Payments of subscription plan.
- Added New Feature to create Membership Cards Based on ARMember Membership Plan.
- Added New Facility to Change or Update Credit/Debit Card details for Auto-Recurring Payments.
- Added Facility to Apply Sales Tax based on Country.
- Added new Feature to Credit MyCred Points while purchasing on ARMember Membership Plan.
- Added New Facility to set multi level badges based on specific condition.
- Added Facility to Cancel User's Auto Recurring Subscription while Uninstaling ARMember Plugin.
- Added Facility to Set Prefix / Suffix in Invoice ID and also Facility to set minimum length of Invoice ID.
- Added New Facility to set condition on opt-ins for user subscription.
- Added New Facility to Date wise Search Transactions and Export as CSV from ARMember Payment History Page.
- Added New Facility to display Actual Response at front side for Stripe and Authorised.net Payment Gateway.
- Added Facility to having User Status Inactive Profile will not be displayed in ARMember profile.
- Added New Facility at Manage Member Page search for member status and user having more than one plan.
- Added New Facility to display Order ID on Payment Transaction Shortcode for 2Checkout Payment Gateway which need to use for update their card details through 2Checkout.
- Added new shortcode [arm_userid] for displaying currently logged in user's userID.
- Other Bug Fixes

## Version 2.2.2 (26 May, 2018)

- Minor bug fixes.

## Version 2.2.1 (22 May, 2018)

- Made Compatible with GDPR.
- Made Compatible with WordPress Version 4.9.6
- In Invoice Template Facility to add Form's Custom Fields.
- Other Minor bug fixes.

## Version 2.2 (08 March, 2018)

- Added facility to add Card Holder Name in Stripe payment gateway.
- Fixed bug with Stripe payment gateway tokenization method.
- Made compatible with Vkontakte latest API changes.
- Added sorting facility on Manage Plans, Payment history section.
- Added sorting facility on Member Status.
- Other Minor bug fixes.

## Version 2.1 (14 January, 2018)

- Added Sales Tax facility on membership plan.
- Added facility to Enable/Disable crop or Skip Crop for avatar and profile cover photo.
- Added new shortcode [arm_user_plan] for displaying currently logged in user's membership plan name.
- Added facility to send Reset Password Link by email while importing users.
- Added facility to select Payment Cycle while mapping recurring type of plan with WooCommerce product.
- Added facility to add more than one email notifications of type Before Membership Expired,Semi Automatic Subscription Payment Reminder, Before Dripped Content Available for different time duration.
- Added new template shortcodes for displaying plan description and tax in email notifications.
- Other Minor bug fixes.

## Version 2.0.1 (30 October, 2017)

- Added support of new shortcodes in email notification templates : Plan Amount, Trial Amount, Coupon Discount, Payable Amount.
- Added new parameters in Edit Profile Form shortcode to change profile cover field title.
- Fixed user verification link rare issue.
- Other Minor bug fixes.

## Version 2.0 (14 October, 2017)

- Added Multiple Membership support. Users will be able to subscribe for more than one membership plan simultaneously.
- Added a very useful and unique feature : Multiple Payment Cycles in subscription type of plan. So, admin will be able to list multiple payment cycle(monthly, yearly, etc.) for the same membership plan.
  Let's say, there is one subscription plan named 'Business Plan' in site, so admin will be able to set 3 different cycles like a) $100 for entire year 2) $60 for each 6 months 3) $10 for each month.
- Added One click sign up feature in social connect. User can sign up into the system with default free membership plan only by one click on social connect button. Also you can add such users to your opt-in account.
- Improved entire core coding of ARMember for Performance boost. Now ARMember operations will perform upto 70% faster
- Profile & Directory Improvements.
  - Introducing unique profile editor to create beautiful user profiles as many as you need.
  - Added facility to set separate profile template for each different membership/plan.
  - Also facility to hide empty profile fields is added.
  - Added new directory template.
  - Added facility to redirect to author's post page from directory listing page.
- BuddyPress/BuddyBoss
  - Now, you can do complete sync between ARMember & BuddyPress/BuddyBoss user data like avatar, profile cover, etc.
  - ARMember provides facility to keep ARMember and BuddyPress/BuddyBoss user data like Avatar, profile cover, etc in synchronization.
  - Added Facility to redirect to BuddyPress/BuddyBoss profile from ARMember member listing ( Directory ).
  - Also added facility to redirect to ARMember profile page from BuddyPress/BuddyBoss members listing.
  - Added BuddyPress/BuddyBoss xprofile field plugin support.
- Access Rules Improvements
  - Added facility to restrict content for logged in users having no plan.
  - Added feature to show partial content of restricted page/posts/category/custom-posts in listing. i.e., If page A is restricted and this feature is enabled, then it will be displayed in 'Pages' widget with all other page names. When clicked on it, page A will not be accessed.
- New drip rule options are added. 1) after x days of post/page published, 2) after x days of post/page modified.
- Introduced Invoice Creation facility for each membership/subscription purchased by user. Invoice template also can be customized.
- Redirection upon form submission facility is moved to general settings area and added more options for conditional redirection like redirect to some page if user is in trial period and redirect to other page if user is in grace period, etc.
- Import & Export Improvements
  - Now onwards, ARMember provides such facility to import user with all custom information.
  - Added facility to export user's all custom fields with selection.
- Payment Gateway Improvements
  - Support for new Stripe currencies is added.
  - Added coupon support for auto-debit payment mode in Stripe payment gateway.
  - Added facility to choose language for 2checkout and PayPal checkout page.
- Plan + Sign Up Wizard Improvements
  - Added facility to enable two step registration in plan+sign up setup page.
  - Added facility to hide user's current plan from plan selection area
  - Added new plan skin for plan+sign up setup wizard.
- Added facility to choose plan start date while assigning plan to user. Also admin can change expiry date of user plan anytime.
- Added facility to duplicate login / change password / forgot password from set.
- Added facility to open plan+signup form modal on click of sign up link inside login form.
- Added facility to add field description for each form field..
- Added facility to Manage member's plans directly from manage members grid.
- Added new status Terminated for members. So, admin can terminate any user's account from admin side.
- Change in Cancel Subscription Action(By User), End Of Term Action, Payment Failed Action for membership plan.
- ARMember Shortcodes
  - Change in {arm_account_detail}, {arm_membership} shortcodes.
  - Added new shortcode support {arm_user_badge}, {arm_user_planinfo}, {arm_avatar}, {arm_usermeta}.
- General Settings
  - Disable wp-login page styling added.
  - Added exclude role facility in restrict admin panel setting.
  - Exclude pages for restriction added in Restrict site access without login.
  - Added facility to Block URLs plan wise in security options.
  - Added facility to manually remove failed login attempts user wise from database.
- Coupon label field is added only for back-end.
- Manual user activation email notification moved to default email notification section.
- Added shortcodes for displaying Next due date and Plan amount in email notifications.
- Added more action and filter hooks related to recurring payment for developers.
- Other Minor bug fixes.

## Version 1.8.1 (20 February, 2017)

- Added new basic email template to send email to Admin when any user will update his profile.
- Added new facility to change email notification schedule timings from admin side.
- Added new facility to send email notification to admin for custom events.
- Added new facility to set custom CSS for "Close Account" shortcode.
- Added new facility to set label on coupon codes.
- Fixed grace period issue while member expiration.
- Fixed remember me issue with member login.
- Other Minor bug fixes.

## Version 1.8 (03 February, 2017)

- Added new Opt-in method GetResponse.
- Added new facility to choose single/double opt-in method for mailchimp.
- Added new facility to allow administrator(s) to show in member directory list/profile page.
- Added new facility to hide firstname and lastname field from registration form.
- Added new shortcodes to conditionally check current user comparing username or userid.
- Added new shortcode to display content conditionally by checking whether currently loggedin user is in trial period or not.
- Added new facility to change payment gateways label in configure plan+signup page.
- Added firstname and lastname column in payment transaction grid.
- Other Minor bug fixes.

## Version 1.7.1 (17 January, 2017)

- Added new facility to send reminder when new drip content available to users
- Improved plugin loading performance
- Updated 2checkout callback URL
- Other minor bug fixes

## Version 1.7 (11 January, 2017)

- Added facility for invite only members can register with site
- Added facility to set fix expiration date for all members to finite plan
- Added facility to restrict posts bases on tags
- Fixed PHPMailer vulnerability
- Added new email notification event support when admin change any user's plan manually
- Given facility to assign paid plan for expiration and cancel membership action
- Made all fields optional for bank transfer payment method
- Added facility to manage change password success message from general settings
- Other minor bug fixes.

## Version 1.6 (20 December, 2016)

- Added options where user can choose whether to pay with auto debit or manual payment while signup with subscription plan. (Unique Features)
- Added option where plan selection step can be Before or After signup/Registration form at the time of signup.
- Added Coupon Code support in bank transfer payment method.
- Improved Coupon option where admin can issue 100% off coupons too.
- Introduced Grace period for failed payment and EOT plan wise.
- Fixed compatibility issue with the wordpress 4.7
- Removed inbuilt support for cornerstone and Added free Add-on for Cornerstone.
- Added support to add "subscription start date" of a user while importing users' details (arm_subscription_start_date should be column name of CSV file then it would work ).
- Improved Manage members grid to load faster with better options.
- Fixed issue of when fetching profile picture from twitter connect.
- Improved content protection mechanism.
- Improved overall performance while page load.
- Other minor bug fixes.

## Version 1.5 (25 November, 2016)

- Added WooCommerce Products and ARMember plans Integration ( Now, Plans can be mapped with WooCommerce products and when user will purchase products from woocommerce, mapped plan with that product will be assigned to that user. )
- Added Semi Automatic Subscription Method.
- Added Facility to set Paid Trial Period with Stripe Payment Gateway.
- Added MyMail Opt-in integration support.
- Added controls in menus setting page to apply plan wise permissions.
- Added New Redirection Rules setting for restricted items for Loggedin and NonLoggedIn users wise.
- Added New Redirection Rules setting to restrict site access for Blocked/Expired and Pending Verified users wise.
- Added Facility for Replacement of ARMember profile page on bbPress' user profile link.
- Added New Font awesome icons support- for form field suffix/prefix option.
- Added Facility to search members with their custom metas in Member Directory page.
- Added Facility to display social Avatar while get authenticated with social connect buttons.
- Added Facility to set admin email address from ARMember General Settings page.
- Other minor bug fixes.

## Version 1.2.3 (11 November, 2016)

- Added facility to hide username field on signupform and use email as username.
- Auto lock shared account facility.
- Added facility to display message for already loggedin users in Registration, Login and Forgot Password form.
- Added new FontAwesome icons.
- Other minor bug fixes.

## Version 1.2.2 (25 October, 2016)

- Added email functionality for user activation from admin side(Manual Activation).
- Added conditional redirect option in login form.
- Improved in-built Spam protection.
- Improvement in form style loading.
- Other minor bug fixes and CSS changes.

## Version 1.2.1 (12 October, 2016)

- Improved in-built Spam protection captcha mechanism
- Added new email for renew subscription.
- Added Norwegian currency support in Stripe payment gateway.
- Added new shortcodes to display current username, current user's display name and current user's firstname and lastname.
- Added new facility to add current user's username and id in URL to redirect users after login.
- Added profile picture cropping facility in mobile devices.
- Added facility to set ARMember forms in case of email verification and reset password.
- Improved plugin loading performance.
- Other minor bug fixes and CSS changes.

## Version 1.2 (30 September, 2016)

- Added new functionality to Import users with "Password" provided in imported file
- Added new widget of "ARMember Login Widget" – which will display Current user profile data after user loggedin.
- Added facility for track user loggedin/loggedout history. And full history will be displayed at admin side.
- Added advanced effects in Latest Member widget (with rotation effects).
- Added new facility for Conditional Redirection. Redirection within page based on user's plan
- Improvement in Profile Directory – Dynamic selection for show/hide Profile field.
- Added new plan skin (dropdown style) in plan + sigup configuration page.
- Improved Navigation menu Show/hide position based on its parent menu display condition
- Improved plugin loading performance.
- Other minor bug fixes and CSS changes.

## Version 1.1 (19 September, 2016)

- Added Facility to show Navigation menu item conditionally. Display navigation menu item to All USERS, only LOGGEDIN USERS, only NON LOGGEDIN USERS conditionally.
- Added new conditional shortcode to compare user meta value.
- Added new facility to set common password for all new users while importing.
- Added Facility to set default plan in plan + signup configuration page.
- Added bbPress Support.
- Added new facility for "reset login attempts".
- Improved plugin loading performance.
- Other minor bug fixes and CSS changes.

# Sources & Credit

1. Facebook API
2. Twitter API
3. Google Signin API
4. Linkedin API
5. VKontakte API
6. Maxmind GeoIP
7. Constant Contact API
8. Aweber API
9. MailChimp API
10. Angular JS
11. Angular Material JS

Please follow us on,

- Facebook
- Twitter

Thanks,
ReputeInfosystems