Magento 2 Multi Company SaaS Module – SaaS Module stands for Software as a service the main purpose is to deliver on-demand computing services through the app over the internet.
Furthermore, It improves accessibility, scalability, and reliability while minimizing overhead and maintenance costs.
Magento 2 (Adobe Commerce) SaaS module provides the facility to the vendors to become the tenants with their separate subdomains.
The benefit of this module is vendors don’t need to pay a commission after purchasing the subscription. The vendor can change the subdomain theme as well.
Note:
- This is an add-on to Webkul’s Magento 2 Multi-Vendor Marketplace, so you need to install Marketplace modules first. Also, you need to install Magento 2 Vendor Subdomain module for subdomain settings.
- When a membership plan is added to the cart, other products can not buy.
- To use this module Paypal and Stripe credentials are required.
Check a brief overview of the plugin –
Features of SaaS Module
- It supports online Recurring Payments with PayPal & Stripe.
- The vendor can become the tenant of the store.
- The admin can create multiple membership plans as per their requirement.
- The vendor doesn’t need to pay any commission to the admin after purchasing the membership.
- The vendor can create a separate subdomain for their panel.
- Vendors can purchase only one SaaS Module Subscription Plan at a time.
- Payment will auto-deduct after the membership plan is over.
- The admin can assign and unassign the seller membership in bulk mode.
- The seller can set the theme for the subdomain.
Install Extension from Webkul Store
#1 Download Module
Firstly, you need to log in to Webkul Store, go to My Account>My Purchased Products section, verify and then download and extract the contents of this zip folder on the system.
#2 Upload Folder
Once the module zip is extracted, follow path src>app and then copy the app folder into the Magento 2 root directory on the server as shown below:
#3 Run Commands
After uploading the module folder, you need to run the following commands in the Magento 2 root directory:
- composer require stripe/stripe-php:~7.40
- composer require paypal/rest-api-sdk-php:*
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:flush
Install Extension from Magento Marketplace
If you have purchased this extension from the Magento Marketplace then please follow the below process or visit this link.
#1 Get Access Keys
You need to get access keys, navigate to My Profile in Magento Marketplace, then choose Access Keys in the My Products section.
Go to Magento 2 and then you need to copy both the Access Keys – Public Key and Private Key. These access keys will be needed in the next steps for authentication.
If access keys are not created earlier, click Create A New Access Key, enter any name and click OK.
#2 Update composer.json File
To know the component name and version number, go to your Magento Marketplace account section, My Profile>My Purchases, then find this extension to view the details.
Please note – Below is an example image, every extension will have its unique component name and version.
After that, navigate to your Magento project directory and update your composer.json file in the following format.
composer require <component-name>:<version>
For example, to install version 4.0.0 of this Magento 2 extension you need to run the following command:
composer require webkul/multi-company-saas-module:4.0.0
#3 Enter Access Keys
Now you will need to enter the Access Keys that you obtained as explained in the first step #1 Get Access Keys.
Wait for Composer to finish updating your project dependencies and make sure there aren’t any errors.
#4 Run Command
You need to run the following commands:
- composer require stripe/stripe-php:~7.40
- composer require paypal/rest-api-sdk-php:*
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex
php bin/magento cache:flush
Language Translation
For translating the module language, navigate through src/app/code/Webkul/MultiCompanySaasModule/i18n and edit the en_US.csv file.
Thereafter, rename the CSV as “en_SA.csv” and translate all right side content after the comma in the Arabic language. After editing the CSV, save it.
Then upload it to the path src/app/code/Webkul/MultiCompanySaasModule/i18n where the Magento 2 is installed on the server.
The module gets translated into the Arabic Language. It supports both RTL and LTR languages.
The user can edit the CSV like the image below.
Multi-Lingual Support
For multilingual support, the admin will navigate through Store->Configuration->General ->Locale Options.
After that, select the locale as English (United States) (the language into which the admin wants to translate his store content).
Module Configuration
Now, after successfully installing the Adobe Commerce Cloud Multi-company Saas module the admin needs to Go Store > setting > configuration > Multi-Company SaaS module as per the following image. Furthermore, the admin needs to configure the settings.
General Settings
The admin needs to do some general settings for sellers.
Enable: Enable/disable the saas configuration from here.
Allowed payment methods for membership: The admin can select the recurring accounts for the payment at the checkout page.
Custom emails
Membership plan subscription template: When the seller buys a membership received a mail from the admin.
Membership plan Notification about plan transaction: When the seller membership plan transaction occurs a mail notification is received to the seller.
Add Recurring payment
The Saas Module accepts two recurring payment methods only:
- Paypal Connect
- Stripe connect
PayPal Connect
To set up these accounts firstly admin needs to enable the configuration settings, for that they need to navigate into store > configuration > sales > payment methods > PayPal recurring express checkout payment method.
The admin needs to complete the setup process.
Enable this solution: Enable/disable the payment set up.
Sandbox mode: Select the Sandbox Mode as Yes(Testing Mode) or No(Production Mode).
Title: The title of the Paypal checkout needs to be set here.
Merchant PayPal Id: Merchant Id generates while payment setup on PayPal’s website.
PayPal API Username, Password, and Signature: PayPal API Username, Password, and Signature will generate while creating an account on PayPal.
Payment from applicable countries: The admin can select all countries or choose specific as well.
Sort Order: Add preference by sort order.
PayPal Account creation
The admin first needs a PayPal account to configure it with the SaaS module. For that admin will create an account on PayPal with the required details or they can use their existing account.
After entering the login credentials PayPal will redirect you to the next page where the admin needs to select the account settings.
Afterward, The admin will choose an account from the added accounts and click on manage accounts icon.
Here, the admin will click on the view and edit button, it will redirect to your account details page.
Here, you can find the email id, username, password, and account Id. Which we require at the time of payment method configuration.
How to set the IPN key?
As the module supports the recurring profile feature, you need to configure the “Instant Payment Notification” settings. Thus, for this first, log in to your Paypal account.
In the account settings, the admin will navigate into the business profile>notifications a page will open to get the ids for the PayPal account.
To get complete access to the PayPal portal you need to enter the IPN key for that you need to access the IPN section.
Here, the user will enter his module details like this – yourwebsite/mpsaas/paypal/webhook and hit the save button.
Stripe Connect
To set up these accounts firstly admin needs to enable the configuration settings, for that they need to navigate into store > configuration > sales > payment methods > Recurring Stripe Payment Method.
The admin needs to complete the setup process.
Enable this solution: Enable/disable the payment setup.
Title: The title of the Paypal checkout needs to be set here.
Sandbox mode: Select the Sandbox Mode as Yes(Testing Mode) or No(Production Mode).
API Publishable Key: For the API publishable key you need to access stripe connect.
API Secret Key: Every stripe account has its own separate secret key.
Set Name Display on Form: Which name will show on the front panel needs to be set here.
Payment from applicable countries: Needs to set the countries.
Minimum Order Total: The admin needs to set the minimum order total amount which is allowed by the stripe connect.
Maximum Order Total: The admin will set the maximum order total amount to use stripe connect.
Sort Order: Add preference by sort order.
Generate Webhook: Webhook used for web alteration.
How to get keys and Account ID for stripe configuration
1st Step:
To get the API Keys you can use the Stripe website. First, you’ll need to sign in to the Stripe account or create an account.
Go to https://dashboard.stripe.com/login and enter your login details.
2nd Step:
Now from the stripe dashboard, you can click on the toggle button of the viewing test data.
If you’re using the module for the test purpose or you can also use the live credentials of your stripe account APIs if you want to set up the module for the live website.
Now, enable the Sandbox Mode as Yes(Testing Mode) or No(Production Mode).
3rd Step:
Click the API menu option on the side panel to see the Publishable key (API Publishable Key). Now, click the “Reveal test key token” to get your Secret Key (API Key).
Clicking the “Reveal test key token” will bring up the – Secret Key (API Key).
The admin can use API Publishable Key, and API Secret keys in the admin configuration to set up the module as per the below image:
Henceforth, the API Key, API Publishable key, Account ID, and Client Key are used to configure the module.
Generate Webhooks In Stripe Payment Gateway
In web development, a webhook is a method of altering the behavior of a web page, or web application, with custom callbacks.
Therefore, Webhooks are user-defined HTTP callbacks that are triggered by specific events.
After that, in the admin dashboard, the admin can click on the Generate Webhook and generate the data.
after successfully generating the webhook, the admin can see the successful message from the admin dashboard as shown in the image below –
Whenever that trigger event occurs on the website, the webhook sees the event and collects the data.
Now, the admin can see the collected data from the stripe dashboard as shown in the image below –
–
The admin can also click on the generated URL for the detailed view of the events as shown in the image below –
Thus, the Webhooks generates in this way.
Once both methods are configured it will display on the customer end while checkout.
SaaS configuration
The admin needs to set the membership duration type and subscription for that they need to navigate into the Marketplace management > SaaS configuration.
Manage Duration Type
Here, the admin can manage the duration of the membership for their sellers to become tenants.
A list of added membership plans will display here admin can delete, edit, and add the membership type.
Add Duration Type
The admin can create any custom membership plans for the sellers and that will display on the frontend in the membership plans list.
Afterward, the admin will fill in the basic details for the plan like duration title, days, subscription charge, status, and sort order and click on save to add the membership plan.
Manage subscription
All purchased membership plans will display here with seller details.
Manage Seller
The admin can assign and unassign the seller’s membership plan from the back end through marketplace management.
From Marketplace Management > Manage seller > Assign a Membership plan > Choose created plan to assign the plan.
Marketplace Management > Manage seller > Unassign a Membership plan to unassign the seller’s membership plan.
Frontend SaaS configuration
On the seller end, sellers need to navigate into their account section where an option is available called Pay Membership amount to become the tenants of the store.
From the available memberships plan, the seller can choose anyone at a time and proceed further to the next step.
After the plan selection, it will redirect you to the shopping cart with a success message.
Afterward, the seller will click on the view and edit cart option and it redirects to the shopping cart page to proceed further.
When the seller clicks on the proceed to checkout option it will ask for the payment selection option.
Thereafter, the seller will click on the place order button and it will redirect them to the PayPal login page (If the seller selects the stripe method then it will redirect them to the stripe login page).
If the seller already has an account they can directly login to their account and make the payment after successful payment order status will change at the front panel and display the success message.
After the successful purchase seller can check the success message in the pay membership amount tab.
The seller and admin both can check the order summary in their order history tab after the successful payment.
Before subscription, a seller needs to pay some commission to the admin as per the following image.
After taking the membership plan seller doesn’t need to pay any commission to the admin.
Vendor Subdomain Setting
With the help of the vendor subdomain, module sellers can create a separate subdomain for their stores.
The seller adds the subdomain URL while entering the details of his account from the seller profile section.
If the seller wants to view his profile so he needs to click on the view profile option and it will redirect them to their domain page.
Thereafter, if the seller wants to check the collection then he needs to click on the view collection tab.
Seller Theme Settings
The seller can set the theme of his subdomain through Saas configuration. and that theme will reflect in vendor’s subdomain.
The seller can check the theme from his profile as per the following image:
That’s all for the Adobe Commerce Marketplace Extension. So if you still have any doubts or suggestions, feel free to add a ticket.
Moreover, let us know your views to make the extension better Webkul Support System. You may also check our quality Adobe Commerce Extensions.
Current Product Version - 5.0.2
Supported Framework Version - Magento 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x
Be the first to comment.