Now Stripe Payment Gateway is available for your Magento 2 Marketplace by which you can accept payment from all over the world for your eCommerce store.
Stripe is a global technology company that develops business infrastructure for the internet.
It is the rapidly growing payment gateway in modern years, with a presence in 39 countries and 100000+ merchants. For more details about countries click here.
It is the first and leading technology company with a mission to increase the GDP of the internet.
The payment method is a fully responsive design available in all the desktops and mobiles with the 3D secure checkout available in 25 languages and around 135+ currencies.
Stripe is a PCI Level 1 Service provider that will keep the customer card details hidden. Cards are acceptable like Visa, Mastercard, American Express, credit, and debit cards.
It also supports some other payment methods, depending on the country of the Stripe account.
The checkout happens staying on the merchant site itself, no redirection or popup is there to process the checkout.
This payment gateway is an add-on to the Magento 2 Marketplace Module. To use this module you must have install the first Magento 2 Marketplace.
- This module does not work with Multiple Address Checkout.
- The module does not support Multi-currency.
- Webkul Marketplace Stripe supports only separate charges and transfers.
- The supported regions for separate charges and transfers are Australia, Europe, Japan, New Zealand, and the United States.
- The separate charges and transfers will be applicable only if the platform and connect account are in the same region (for example, both in Europe).
Features- Magento 2 Marketplace Stripe Payment
- Enable/disable payment method from the admin panel.
- Provide split payment to sellers for your Marketplace store.
- Accept all the cards that the stripe supports.
- Allow the admin to choose the Stripe Integration type.
- Allow sellers to register themselves using stripe connect.
- Sellers can refund the invoiced amount.
- Strong Customer Authentication (SCA) Compliance.
- Multi seller checkout does not work in case of direct charge.
- This module also provides you with the capture later facility for the available funds.
- The admin can enable Vault to allow the customers to save their card details that can be used by the customer for later purchases.
Installation- Magento 2 Marketplace Stripe Payment
Customers will get a zip folder and they have to extract it. After that, the contents of this zip folder are on their system then the extracts folder has an src folder, inside the src folder you have the app folder.
You need to transfer this app folder into the Magento2 root directory on the server as shown below.
After the successful installation, you have to run the below commands in the Magento2 root directory:
First command –
composer require stripe/stripe-php
Second Command –
php bin/magento setup:upgrade
Third Command Command –
php bin/magento setup:di:compile
Fourth Command –
php bin/magento setup:static-content:deploy
Fifth Command –
php bin/magento indexer:reindex
Hence, in this way the module installation completes.
Configuration For Multi-lingual Support
Translation- Magento 2 Marketplace Stripe Payment
If a user wants to translate their module from English to the German language then they need to follow the path app/code/Webkul/MpStripe/i18n in their unzipped Magento 2 Marketplace stripe payment folder and will get a CSV file with the name “en_US.csv”.
Now they will rename this CSV as “de_DE.csv” and translate all right side content after the comma into the German language.
After editing, save, and then upload the CSV to the path app/code/Webkul/MpStripe/i18n where you have to install Magento 2 on the server. The module will get translated into the German Language and will support both the LTR and RTL languages.
Thus, the module translation completes.
Configuration- Magento 2 Marketplace Stripe Payment
After the successful installation of the extension, you can see the configuration panel under Stores > Configuration > Sales > Payment Method > Marketplace Stripe Payment as per the below snapshot:
As per the above screen, you can see many admin config parameters for the Stripe Payment module,
We are going to explain every configuration parameter one by one
Enabled- The admin can enable/disable the Magento Marketplace Stripe Payment Gateway module.
Title- Here the admin can set the title which will display on the front end.
Debug- By this option, the admin can enable or disable the debugging mode.
Vault Enable – If this is enable then the customers will be able to save their card details.
Note: Vault functionality does not work when Charge Type is set as “Direct Charge”
Charge Type- If the Charge type is set as “Direct Charge” so the payment will be transfer to the seller account itself.
Payment directly goes to the seller account and commission is transfer from the seller account to the admin’s account.
Note:- Multi-seller checkout does not work in case of direct charge.
Charge Type-If the charge type is set as “Separate charge and transfer” then all payment firstly goes to the admin’s account.
Then after deducting the commission, the remaining amount will get a transfer from the admin’s to the seller’s account.
The customers can click on the stripe Saved Cards button on my account to view the card details.
API Secret Key- Set API key provided by Stripe Payment Gateway.
API Publishable Key- Set API Publishable key provide by Stripe Payment Gateway.
Client ID- Set Client Id provide by Stripe Payment Gateway, this requires to connect the seller with a stripe account.
Stripe Account ID- Here the admin can enter the Stripe Account ID.
Set Name Display- It contains the name display on the form.
Set Image- You can set the image that displays on the pop-up box while going for payment using the stripe payment.
Payment from Applicable Countries- Here admin can select the specific countries for marketplace stripe payment.
Minimum Order Total- This option allows the admin to set the minimum order total for the Stripe module allows them to check out with Marketplace Stripe Payment Gateway.
Maximum Order Total- Allows admin to set maximum order total.
Sort Order- Here the admin can set the sort order value for the stripe payment gateway.
Generate Webhook – The admin can generate the webhook and see the collected data from the stripe dashboard.
There are two types of payment actions:
- Authorized – It is used to authorize the fund availability first and then, later on, capture the fund manually.
If this method get implements and the order is placed by the customer then a capture button will be available to the admin as well as to the seller to capture the payment.
Note – After clicking on the capture button the invoice will get generates automatically.
- Authorized and capture – It is used to authorize/verify the fund availability and then capture the fund automatically.
In this method, the fund will get capture automatically once the order got a place.
Types of Integration
Here the admin can decide the type of integration as Stripe Connect with Standard Accounts or Stripe Connect with Custom Accounts.
If the admin selects this option as Stripe Connect with Standard Accounts, then the admin cannot enter or edit the details of the Stripe account as it has been done by the seller only.
Or if the admin selects the option as Stripe Connect with Custom Accounts as per the below image:
then, the admin can decide whether to give the seller access to manage the customer account or not.
Note – If the seller is registered with a customer account on Stripe Payment Gateway and later on if the admin changes the integration type to standard accounts then that seller will lose its custom account on this platform.
How to get keys and Account ID
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.
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 API’s if you want to set up the module for the live website.
Now, enable the option click the test mode.
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:
To get the Client Secret key click the “Settings” menu option on the side panel and then click on the “Connect” option. Enter all the required information for the application.
Set the Website URL as – www.example.com/mpstripe/seller/connect.
Set the Redirect URL as – www.example.com/mpstripe/seller/connect.
Here, you have two keys for the client ID that are used according to the mode –
- Development mode – This client ID is used when your site is in testing mode.
- Product mode – This client ID is used when your site is in live mode.
To get the Account ID to click on the “Profile” option on the right side and then navigate towards the Account section in the profile as per the below image:
Henceforth, the API Key, API Publishable key, Account ID, and the 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. Webhooks are basically user-defined HTTP callbacks that are trigger by specific events.
After that, in the admin dashboard, the admin can click on the Generate Webhook and generate the data.
after successful 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 the installation of the extension completes, sellers will find the menu “Connect To Stripe” item tab in the seller panel as per the below snapshot:
Note – We use the seller Standard and Custom account to connect with the admin’s account.
For more details about Standard and Custom account please check – https://stripe.com/docs/connect/accounts
If the admin has selected the Type Of Integration as Stripe Connect with Standard Accounts, then the seller will see the option as per the below image:
Now clicking on the Connect with Stripe button, the below page will open where the seller has to click on create a new account button.
After that you have to create new business information and way to create business information is mention below.
After this click on the Next button, the below page will be open.
Once the details are filled in the above screenshot and clicking the “Done button”, the seller connected with the admin application and then redirected to their account.
The frontend view for the seller is shown in the image below:
Case 2 – To configure Marketplace Stripe Payment for Seller
If the admin has selected the Type Of Integration as Stripe Connect with Custom Accounts and disallowed the seller to manage their customer accounts.
Then when the seller will click on the Connect To Stripe option, then they see the as per the below image:
In this case, the admin will create and manage the stripe account for the seller. For this, they will navigate to Marketplace Management > Manage Seller.
There the admin will select the Manage Stripe Connect Custom Account option under the Manage Stripe Accounts tab.
Further, the admin will create the customer account for the seller by filling up the following form:
Once the account is created, the admin can see the success message and the status as shown in the image below:
The admin can also update the details by clicking on the Update Account button.
Also in the frontend, the seller can see the status of the customer account as shown in the image below:
And if the admin has allowed the seller to manage their customer accounts, then when the seller will click on the Connect To Stripe option, then they see as per the below image:
Here the seller needs to fill in some information to create the stripe account.
Country: The Seller has to select their country from the drop-down list.
Email: The seller has to put their email address here.
Now the seller will click on the Create Stripe Account button and that will redirect him to the below page:
Here the seller has to click on the Connect To Stripe button that will navigate to create an account on stripe.
Create Stripe Account:
Business Type- Here the seller will choose the business type as Individual or Company.
When the Business Type selects as Company and clicks on the Next button that will navigate to the below page.
The seller needs to fill in the personal details like first name, last name, home address, phone, and social security number and then click on the Next button.
The below page will be visible to the seller after filling in the personal details.
Here the seller has to fill in the business details like; select the industry type, fill the business website, and has to click on the Next button.
This will navigate him to the below page:
Now, the seller can review his details. After that seller will have to click on the Done button.
Here the seller needs to connect with the stripe to make the transfer successfully. If the seller does not have a stripe account or has not enter the correct account details then all the payments will go to the admin only.
The admin will pay the transaction fee and then transfer the seller’s share manually.
After a successful connection with stripe, the seller will redirect back to his payment page with a successful message.
Further, the Pending status will become Active once it is processed from the stripe end.
Note: To update the previous create account the seller needs to contact admin because the seller doesn’t have access to edit the account details from its end.
The seller can also check the stripe transactions once the customer account is create.
Workflow At Buyer End
If the Magento 2 Marketplace Stripe Payment Gateway Method is enable from the admin panel then the buyer can see this stripe payment method under the “Payment Review” as shown in the given screenshot below.
After Clicking On The Place Order Button the order will be placed successfully.
At Backend Marketplace Stripe Payment
The admin can see the place order details with Marketplace Stripe Payment Gateway by navigating to path admin panel Sales->Orders as per the below image:
After that, the admin can select the order by clicking on the View button and they can see the order information as per the below image:
Order Invoice & Transaction Page:
After the successful transaction has been done using Marketplace Stripe Payment, the admin can see the invoices and transaction details for that particular order in which payment is done using Stripe Payment.
Now, the admin can click on the view button to see the order information as shown in the image below –
Seller’s Invoice Page –
Similarly, the admin can see the transaction details for that particular order in which payment is done using Stripe Payment.
The admin can click on the Transaction tab to see the transaction details as shown in the image below –
All transactions of the sellers for their placed orders –
By clicking on the particular transaction, the admin can view the complete details of the transaction –
Seller’s Transaction Page Details –
Refund – Marketplace Stripe Payment Gateway
The admin can refund the amount online by opening the invoice slip and then clicking the Credit Memo button.
After which they will see a Refund Offline and Refund(Online) button. An online refund will refund the invoice amount back to the customer’s account.
Now, the admin can enter the amount accordingly and click on the refund button as shown in the image below –
Refund At Seller’s End
If the buyer asks for a refund from the seller, the seller can easily make a refund by going to the respective order under their account panel.
Here, the seller will click on the “Credit Memo” button.
Now, the seller just has to select the items to refund and then click on the “Refund” button to make a refund. The details will simultaneously be updates in the seller’s Stripe account.
After creating the credit memo, the seller can see the details of the credit memo and can view the refund details as well.
Refund – Stripe Payment Gateway
The seller can also go directly to his stripe account and make a refund. The seller just needs to go to the payments section and then select the payment that needs to get a refund.
The refund pop will appear as shown below.
Now, the seller will click on the “Refund” button.
After that, the admin can also check the refund status and refunds amount on Stripe payment gateway from the stripe dashboard as shown in the image below –
Thus, in this way the refund process completes.
Note: If the refund generates from the stripe dashboard i.e from the Stripe Payment Gateway, then the seller has to generate the credit memo separately from his Seller Account. As the credit memo will not generate automatically in this case.
Thus, that’s all for Magento 2 Marketplace Stripe Payment. Still have any issue feel free to add a ticket and let us know your views to make the module better webkul.uvdesk.com.
Current Product Version - 5.0.0
Supported Framework Version - Magento 2.0.x, 2.1.x, 2.2.x,2.3.x, 2.4.x