You will require to install MageDelight Base Extension first. If it is not installed then please download it from https://www.magedelight.com/pub/extensions/magedelight-base.zip and unzip the package file into the root folder of your Magento 2 installation.
Before installing the extension, please make sure to Backup your web directory and store database
You will require to install MageDelight Base Extension first. If it is not installed then please download it from https://www.magedelight.com/pub/extensions/magedelight-base.zip and unzip the package file into the root folder of your Magento 2 installation.
Root Directory is - "app/code/magedelight/#YourExtensionName#"
Unzip the extension package file into the root folder of your Magento 2 installation.
Connect to SSH console of your server:
Navigate to the root folder of your Magento 2 setup
Run command as per below sequence,
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento cache:clean
log out from the backend and log in again
If you are using Magento 2.3 or later then you do not need to activate license. Extension will be activated with silent activation mechanism and does not require activation keys to be entered manually.
Pause, Cancel, and Edit Subscription Buttons would get disabled in such a scenario: If the customer has a daily recurring cycle of product and also if admin has set allowed To Update Profile Before in 'N' days then it will freeze subscription modifications by customers before defined days and will never satisfy the condition to show the buttons.
Backend Configuration (Admin side)
Once you install and set up the extension license key (refer to the extension installation guide). You need to configure the extension and set it up as per your business needs. Below are extension configuration options,
Enable Subscription: Option to disable/enable the subscribe now extension feature.
Allowed Customer Group For Subscription: Select the customer group toenable subscriptions for specific customer groups. You can select multiple customer groups.
Not Allowed Customer Group Message: Add label for specific customer groups which shows for Subscriptions products only.
Allow Guest & Not Allowed Customers to View Subscription: Option to disable/enable guest customers to view subscription products.
Auto-register guest when checkout with subscription product: Option to disable/enable to auto register guest customer on the checkout page.
Allow Guest to Add Product to Cart: Option to disable/enable guest customers to add products.
Manage Subscription Interval: The admin can create different subscription intervals. This would be the combination of interval type, number of intervals and set Interval label for each interval offset.
Interval type: Day, Week, Month, and Year.
Number of intervals: Numeric positive integer values.
Interval Label: Admin can give interval label with regional language, i.e. Interval type could be = Month, Number of intervals = 1, label could be Every Month/Once in a month
Maximum Order Failed: It can hold numeric positive integer values. To define the maximum payment failure allowed to customers. Hence, if the recurring order fails, the order won’t be placed but the subscription profile will be continued. On the next occurrence, the script will try to place an order for the customer, till the maximum payment failure is allowed. After maximum failed occurrence, the recurring profile will get suspended. If maximum payment failure is set to zero (0) or is empty, then there is no limit for suspension of the subscription profile.
Pause, Cancel, and Edit Subscription Button would get disabled in such a scenario: If the customer has a daily recurring cycle of product and admin has set the allowed To Update Profile Before to 5 days, then it will never satisfy the condition to show the buttons.
Dynamic Price: Option to enable/disable current product price.If set "Yes", the current product price will be considered in recurring orders.
Send Reminder Of Occurrence Before: The next occurrence reminder email will be sent before the number of days defined here. It should be greater than the allowed to update the profile before value.
Send E-Wallet Topup Reminder Before: Define days to send e-wallet top-up reminder email
CRON JOB Frequency: Define CRON Frequency to generate orders for subscription profiles. Values could be daily, weekly, or monthly. Daily is the suggested option.
CRON JOB Start Time: Define CRON Start Time to generate orders for subscription profiles.
Select Payment Gateway:You can select the payment gateway you like to use for your subscription, also enable payments in the sales → payment method.
Select Auto Shipping Method: If set yes, will take the lowest cost from the shipping method on subscription plans.
Select Shipping Method: Select shipping methods allowed for orders with subscription products or subscription plans.
Free Shipping For Subscription:If set yes, will free shipping for all recurring orders and ignore shipping cost for the shipping method selected.
Allowed Maximum Quantity To Subscribe Per Product:You can set a limit on subscribing quantity for per product or Leave a field blank/zero wuld be considered as unlimited
Allow customers to change subscription products (Available with Pro): If set to "Yes, customers will have the option to change their subscription product,also the dropdown will exclusively list only subscription products which are under placed order template.
Allow To Update Profile Before:You can set a limit on customers for updating their profile. It will freeze subscription modification by customers before defined days.
Allow to Skip Subscription:You can give controls to customers if customers can skip product subscriptions.
Allow To Pause Subscription:You can give controls to the customer if the customer can pause the product subscription
Allow To Cancel Subscription:You can give control to the customer if the customer can cancel the product subscription.
Allow To Update Billing Frequency:If set to yes, the user will update the billing cycle(s) from their subscription(s). The next occurrence cycle will be counted from the day of billing frequency is updated.
Auto Update Next Occurrence Date On Frequency Change: If the option "Yes" is selected, the subscription occurrence date will be updated to the current date and the billing frequency will be reset accordingly. If the option "No" is selected, the next occurrence date will remain unchanged until the next billing cycle.
Allow To Update Billing Address:You can give control to the customer if the customer can update their billing address or not.
Allow To Update Shipping Address:You can give control to the customer if the customer can update their shipping address or not.
Allow One-Time Product with Subscription Orders (Available with Pro): Option to disable/enable one-time products added with the subscription order. If set to yes then you must have an active subscription with a login account. ( Allows only non-subscription product )
Subscription Email Sender:Option to select thesuitable department for sending emails to customers.
Send New Subscription Email?: Option to disable/enable new Subscription order details email sent to customers.
New Subscription Template:Option toselect the suitable templates for the new subscription.
Send New Subscription Email Copy To:Acopy of every new subscription email will be sent to the addressees provided here.
Send Subscription Update Email? :Option to disable/enable Subscription order update emails sent to customers.
Subscription Profile Update Template:Option toselect the suitable templates for updating the profile.
Send Subscription Update Email Copy To:Acopy of every subscription update email will be sent to the addressees provided here.
Send Payment Failed Email? :Option to disable/enable payment failure emails sent to customers.
Payment Failed Template: Option toselect the suitable templates for the failed payment.
Send Payment Failed Email Copy To: A copy of every payment failed email will be sent to the addressees provided here.
Send Subscription Reminder Email? :Option to disable/enable Subscription reminder emails sent to customers.
Subscription Reminder Template: Option toselect the suitable templates for the email reminder.
Subscription Reminder Email Copy To: A copy of every subscription reminder email will be sent to the addressees provided here.
Send E-Wallet Topup Reminder? : Option to disable/enable E-Wallet Topup Reminder emails sent to customers.
Send Subscription Renew Email? :Option to disable/enable Subscription order renewal emails sent to customers.
Send Subscription Order Email? : Option to disable/enable new Subscription orders emails sent to customers. If set yes, the Customer would receive the email of the particular subscription profile order.
For No Subscription: You can set the label for a single order with a maximum length of 25 characters.
For Subscription: You can set the label for a recurring order with a maximum length of 25 characters.
Subscription Product List Page Text: You can set the label for a recurring product on the list page.
Enable Summary block on cart page: Option to disable/enable the. summary block.
Header Summary Text: You can set the label for the header summary text.
Summary Text: You can set the content text for the summary block.
Allow One-Time Product with Subscription Order (Available with Pro): You can now add a label to the button of a one-time product on the cart page.
Enable Merge Order: Option to disable/enable the merge order setting.
Validate Qty: Option to disable/enable the validation of multiple product profiles into a single order.
Fail Order if Fail Addtocart: Option to disable/enable the fail order from the cart.
Default Chart:Select the chat type among the provided options to set as the default chart to be displayed on the dashboard.
Default Chart Period:Select default duration to show a chart of that duration on the dashboard.
Is Chart Multi Color:Select "Yes" if you want the chart to be displayed in multi-color. The default is selected as "No".
Send Card Expire Reminder Mail?: Option to enable or disable sending reminder emails to customers whose cards are about to expire.
Send Card Expire Reminder Email Copy To: A text field where you can enter email addresses to receive a copy of the card expiration reminder emails
Reminder Template: Option toselect the suitable templates for the card expire email reminder.
Days Before Send Email Reminder One: Option to specify the number of days before the card expiration date when the first reminder email will be sent to the customer.
Days Before Send Email Reminder Two: Option to specify the number of days before the card expiration date when the second reminder email will be sent to the customer.
Promo Offering on Cancellation: Option to enable/disable promotional offers when a customer attempts to cancel their subscription.
Show Promotion Popup After Orders: Option to specify the number of orders a customer must complete before the promotion popup is displayed.
Coupon Code To Display: Option to specify the coupon code that will be shown to customers for discounts or special offers.
Promotion Message: Option to enter the promotional message that will be displayed to customers, informing them about the offer or deal.
Subscription Templates
You will have full control over the subscription Template. You can manage the subscription template from Admin > Subscribe Now Pro > Subscription Templates
As shown in the above image you can find all subscripton template lists with all basic information. I.e. template name, product purchase option, status, etc.
New Subscription Template
Frequency Defined By: You can select the repetition of the product which will be specified by the admin or customer from the drop-down list. But when frequency defined by is Admin,subscription cycle will conclude based on the max billing cycle specified. .
Subscription Information for Customers:You can choose a static block from the dropdown to display important details to customers.
Subscription End By
By Date: Option to disable/enable the end date for the recurring product.
By Cycles/Orders: Option to disable/enable the order recurring cycle by specifying the number of orders in the cycle.
Infinite: Option to disable/enable the order recurring cycle until the customer cancels it.
Billing Frequency
Admin can create different subscription intervals. This would be the combination of interval type and number of intervals and set Interval label for each interval offset.
Interval type: Day, Week, Month, and Year.
Number of intervals: Numeric positive integer values.
Interval Label: Admin can give interval label with regional language i.e. Interval type could be = Month, Number of intervals = 1 label could be Every Month/Once in a month.
Discount Type: The option to select the discount type will be Percent/Fixed.
Discount Value: You can set the Numeric positive integer values which will be calculated based on the discount type.
Discounts
Allow Discount After Orders: To apply a discount to all future orders, leave the field blank. If you want to limit the discount to a certain number of orders, set a limit. For example, if you set the order value to 5, the discount will only start to apply to orders that come after the fifth subsequent order. Note that subsequent orders will not include the initial order.
Number of Discounted Orders: To apply the discount for all subsequent orders, simply leave the field blank. However, if you want to restrict the discount after a certain number of orders, enter that number in the field. For example, if you enter '5', the discount will not be applied after the total of five subsequent orders. It's important to note that the total of subsequent orders does not include the initial order.
Trials
Enable Trials:Option to disable/enable the trial charges for subscription products.
Make Trials Optional:Option to disable/enable the trial charges for subscription products as a voluntary option.
Trial Discount Type: You can select the discount type as fixed
Trial Discount Value: You can set a fixed value discount for the trial.
Number Of Trial Orders: You can set a positive integer value for the number of times customers can trial the product.
Customer Control
Restrict Modification Before Due Days: This field can have a positive integer value only. This defines the number of days before the next occurrence the customer can edit their subscription.
Allow to Skip Subscription:You can give control to customers if customers can skip product subscriptions.
Allow to Pause Subscription: You can give controls to customers if customers can pause product subscriptions.
Allow To Pause After Orders: This field can have a positive integer value only. This defines the number of days before the next occurrence the customer can pause their subscription product.
Allow To Cancel Subscription: You can give controls to customers if customers can cancel product subscriptions.
Allow To Cancel After Orders: This field can have a positive integer value only. This defines the number of days before the next occurrence the customer can cancel their subscription product.
Allow To Update Billing Frequency: If set to yes, the user will update the billing cycle from their subscription. The next occurrence cycle will be counted from the day of billing frequency is updated.
Allow To Update Next Order Date: If set to yes, the user will update the order date from their subscription(s). The next occurrence will be counted from the date when the order is updated.
Allow To Update Billing Address: You can give control to the customer if the customer can update their billing address or not.
Allow To Update Shipping Address: You can give control to the customer if the customer can update their shipping address or not.
Assign Product
As shown in the above image you can find all product lists with all basic information. I.e. ID, name, SKU, price, etc. You can select the check box for the product and save it to assign for the template.
Note : To unassign products from the template,the action should be performed at the individual product level
Product Level Subscription
You can manage the subscription product from Catalog> Products > Subscriptions Now Pro
Enable Subscribe Now: Option to enable/disable the product for a subscription.
Subscription Template: You can select the subscription template from the drop-down list and when you select the template you will able to see all the values assigned to the tab i.e. General, subscription end by, Billing frequency, discount trials, and customer control to the product.
Manage Subscriptions
You will have full control over the product subscribers. You can manage the subscription template from Admin > Subscribe Now Pro > Subscriptions
As shown in the above image you can find all subscriber lists with all basic information. I.e. customer details, product name, Subscription status, etc.
Manage Bulk actions
You can choose single or Bulk records and do below actions,
Bulk cancellation
Skip next occurrence
Pause Subscription
Resume Subscription
Cancel Subscription and
Activate suspended Subscription
Manage Subscription Detail Page
You can view the product subscription details with all the required informations. You can view all details with subscribed products, payment details and subscription details. Also, you can manage shipping and billing addresses as well.
Edit Product Subscription Profile
You will have full control over managing subscription profiles for customers. You can also prevent your customers from editing and modifying subscriptions themselves self and instead, you can hold the power to manage profiles on behalf of your customer. You can cancel, pause, and skip subscriptions. You can edit profiles for customers too.
With the edit profile you can update the subscription product quantity, discount code, billing period, shipping/billing address, and Shipping method.
Dashboard
The dashboard will show,
Subscriptions
Orders
Amount Admin can set the type of chart and select the duration for the chart to be generated.
Subscription Statistics
Lifetime subscriptions
Active, paused, complete subscriptions
Active Subscribers
Active trial subscriptions
Total subscription orders among all the orders
Recent subscriptions
Trending subscription products
Reports
Product wise subscriptions
This section will display comprehensive details of all subscription products
Customer wise subscriptions
This section will display comprehensive details of all subscription customers
Subscription Cycle
This section will display comprehensive details of all subscription cycles
Past Revenue
This section will display comprehensive details of past revenue reports
Future Revenue
This section will display comprehensive details of future revenue reports
Products Inventory Predications for Future Orders
Advance report to get details of future orders to be placed. This report will help merchants manage inventory to fulfill orders on time.
Subscription order reports
This section have below 3 sub-menus. It will show details of orders in date wise, Tomorrows orders and missed orders
Date wise orders
Tomorrows orders
Yesterday's missed orders
Subscription Product reports
It will show details of products in date wise
Date wise Products
Frontend Functionality
Product Listing Page
After setting up subscription options for a product, the customer can easily subscribe to it from the front-end interface. If a product is available for subscription, you can add text to notify the customer about the subscription option on the product listing page.
Product Details Page
There could be different options available for subscription based on the product configured at the backend. Below are some of the examples,
Customers can define the subscription period:
This product has both options: a subscription and a one-time purchase.
Subscription frequency is set for every month.
The subscription start date is the 04 of every month
Subscription is unlimited until customers cancel the subscription
It has an initial fee of 5 for the subscription product.
It also offers a trial period for 2-time delivery with a trial amount of 5.
It offers a 4 percent discount based on the subscription frequency.
Subscription End By Date with Initial Fee:
This product has both options: a subscription and a one-time purchase.
Subscription frequency is set for every day.
The subscription start date is 05 December.
The subscription end date will be 05 April which will be defined by customers.
It has an initial fee of 5 for the subscription product.
It offers a 10 percent discount based on the subscription frequency.
Subscription End By Cycle with Trial:
This product has both options: a subscription and a one-time purchase.
Subscription frequency is set for every year.
The subscription start date is 05 December.
The subscription end cycle will be 04 orders which is defined by customers if the admin allows him/her from configuration.
It also offers a trial period for 2-time delivery with a trial amount of 5.
Pay using Wallet
eWallet can be used as a payment method. Buyer can load money into their eWallet and the amount will be deducted from their wallet balance. If the buyer doesn’t have an equal amount of balance as the order total then, the buyer’s available balance will be deducted and the remaining amount will be collected from a credit/debit card.
Pay using other payments
You can use any offline/online payment methods also.
My Account > Subscriptions
You can manage your subscriptions by accessing the Subscription Profiles section in My Account. From there, you can search, sort, view, skip, pause, and cancel your subscriptions.
After clicking the view button, you will be able to see a summary of your subscription, including the product, payment, shipping method, addresses, past orders, and change logs. You can also skip, pause, cancel, or modify your subscription.
Rename Profile
You can rename the profile
Modification for Subscription
You can modify the subscription frequency and next order date
Change Product
You can change the products using change product section and also quantity
Add New Billing and Shipping Address
You can update your billing and shipping addresses for product pickup and drop-off by adding a new address to the contact information form under Addresses.
Allow one time Product
A new feature is added to the cart where you can add a non subscription product to the next subscription order. It will be a "one-time product" that will be delivered with the next subscription.
You can manage all the functions for subscriptions mentioned above. One time product is added and it will be delivered with the next occurrence of your subscription.
After clicking the view button, you will be able to see the new product added and the subscription product.
You can modify one-time product through following actions such as increase, decrease or removal
API
Please use SWAGGER to get detailed information of parameters. Your URL looks like, i.e. rest/v1/subscriptions