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 presences 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 accepted like Visa, Mastercard, American Express, credit, and debit cards. It also supports some other payment methods, depending on the country of 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 of the Magento 2 Marketplace Module. To use this module you must have installed 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 connected account are in the same region (for example, both in Europe). For more details please click here.
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.
- This module also provides you 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 purchase.
Installation- Magento 2 Marketplace Stripe Payment
Customers will get a zip folder and they have to extract. After that, the contents of this zip folder on their system then the extracted 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 Magento2 Marketplace stripe payment folder and will get a CSV file with 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 installed Magento2 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 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 parameters one by one.
Enabled- The admin can enable/disable the Magento Marketplace Stripe Payment Gateway module.
Title- Here admin can set the title which will display on the front end.
Debug- By this option, admin can enable or disable the debugging mode.
Vault Enable – If this is enabled then the customers will be able to save their card details.
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.
A0PI Publishable Key- Set API Publishable key provided by Stripe Payment Gateway.
Client ID- Set Client Id provided by Stripe Payment Gateway, this is required 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 displayed 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 minimum order total for the Stripe module allows 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 as:
- Authorized – It is used to authorize the fund availability first and then, later on, capture the fund manually.
If this method is implemented 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 generated 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 placed.
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 been done by the seller only.
Or if the admin selects the option as Stripe Connect with Custom Accounts as per below image:
then, the admin can decide whether to give the seller access to manage the custom account or not.
Note – If the seller is registered with a custom 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
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 “View test data” on the side panel if not enabled already.
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 “Connect” menu option on the side panel and then click on the “Settings” 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 the testing mode.
- Product mode – This client_id is used when your site is in the 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 is 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 triggered by specific events.
After that, 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
After clicking on the Connect with Stripe button, below page will open where the seller has to fill information to connect to stripe account.
Once the details are filled in the above screenshot and clicking “Authorize Access To This Account“, the seller connected with the admin application and then redirected to their account.
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 custom 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 custom 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 custom account as shown in the image below:
And if the admin has allowed the seller to manage their custom 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 some information to create the stripe account.
Create Stripe Account:
Country- Here the seller will enter his country.
Email- The email of the seller is to be entered here.
Business Industry- The seller will select the business industry type from the drop-down.
Business Type- Here the seller will choose the business type as Individual or Company.
When the Business Type selects as Company:
When the Business Type selects as Individual:
Now, the seller will enter the bank account country, currency, holder type, holder name, routing number, and account number.
Here the seller needs to connect with the stripe to make transfer successfully. If the seller does not have a stripe account or has not entered correct account details then all the payment 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 created 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 custom account is created.
Workflow At Buyer End
If the Magento 2 Marketplace Stripe Payment Gateway Method is enabled 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 placed order details with Marketplace Stripe Payment Gateway by navigating to path admin panel Sales->Orders as per 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 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 account.
Now, the admin can enter the amount accordingly and click on the refund button as show 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 updated 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 be refunded.
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 refunded 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 is generated 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 be generated automatically in this case.
Thus, that’s all for Magento2 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