Membership subscription manager

If you want to charge your affiliates a fee for joining your affiliate program (to be able to promote your products/services and get commissions) and you need an option that automatically disallows affiliates from logging into their accounts if they did not pay a fee, you can use this feature. 

The membership subscription manager feature is a tool for processing membership payments of your affiliates. Statuses of affiliates with expired subscriptions can be automatically set as pending or declined, so they won't be able to log into their affiliate panels. The feature also contains a free trial option and an option to send email notifications to merchants and affiliates.

Requirements

you need to track sales with specific data based on which the feature works. So, you need to make sure that:

Activate the feature

To use the feature, you have to activate it first. In the merchant panel, navigate to Configuration > Features > search for "Membership subscription manager" > click on the "Activate" button next to the feature. 

Configure the feature

Once you activate the feature, a new configuration section is added to the Configuration > Membership subscription.

Transaction data field for customer email - choose a sale data 1-5 field in which you are tracking a customer's email from an order/sale.

Transaction data field for customer name - this field is optional. Choose a sale data 1-5 field in which you are tracking a customer's name from an order/sale.

Products - here you can add IDs of products for which subscriptions will be checked and created/extended. Write product ID (one at a time) into the field, choose a time period and click on the "add" button. You can add multiple product IDs with different time periods. Choosing the "Number of days" time period displays a new field where you need to specify the number of days for which the subscription will be valid.

Active subscription - choose if you would like to approve/extend only pending affiliates or also affiliates in the declined state after purchasing a subscription product. 

Expired subscription - decide whether affiliates should be set as pending or declined after their current subscription expires, and they won't pay the following fee on time. 

New affiliate - enable this option if you want to automatically create a new affiliate account for a customer that bought a subscription product if the customer is not yet your affiliate.

Trial validity - define how many days the affiliate has to purchase one of the products added in the Products section after creating an account in other ways than by purchasing the mentioned products (e.g., standard signup form). After the set amount of days passes, the affiliate will be either set as pending or declined (based on the Expired subscription field).
0 or Undefined means that affiliates do not need to pay a subscription fee and will not be affected by this feature after joining your program. Only after some affiliate purchases any of the subscription products his/her account would be updated and will be affected by this feature onward (e.g., set as pending after the subscription expire).

Notifications - you can choose what email notifications will be sent to the merchant and affiliates. You can customize these emails via email templates.

Affiliate data field for subscribed product ID - choose the affiliates profile field into which the product ID of the subscription will be saved.

Affiliate subscription info

In every affiliate's details, you can see the "Subscription expire" field. In this field, there is either:

  • "Don't require subscription" option set so that affiliate's status won't be changed based on any product,
  • or a specific date and time set on which the affiliate's status will be changed to pending or declined if the affiliate won't make the subscription payment on time.

 

Subscription refunds
Refunds are processed by feature as well, in this way:
For example, an affiliate buys a subscription product set as a monthly fee. The date in the "Subscription expire" affiliate field will be set as the day of the purchase + 1 month. If there will be a refund of the affiliate's purchase, the date in the "Subscription expire" affiliate field will be pushed back for one month.

Subscription check - there is a task running in the background once per day. 
It checks if there is a new commission with the product ID specified in the plugin created. If there isn't a new commission for the affiliate in the needed time period, the affiliate will be set as pending or declined.