Marketplace PayPal Adaptive Payment for Magento 2 is a payment module which splits the payment from the customers between the seller (secondary receivers) and the admin (primary receiver) automatically.
This Payment module will work accurately with Paypal Parallel and Chained payment method and it is an add-on of Magento2 Marketplace Module.
To use this module, you must have installed first Magento 2 Marketplace Module.
Important Notes –
- Adaptive Payments is now a limited release product. It is restricted to select partners for approved use cases and should not be used for new integrations without guidance from PayPal. You can check it on PayPal
- PayPal Commerce Platform is now available for the Magento 2 Marketplace.
- This method does not support Check Out with Multiple Addresses.
Note: – Chained Payment type will work when the PayPal support approves your app as per their Acceptable Use Policy.
Features Of Marketplace Paypal Adaptive Payment for Magento2
- Payment will split among the seller(s) and the admin.
- Allow admin to configure fee payer for the chained and parallel type of payment.
- Admin can enable or disable Marketplace Paypal Adaptive Payment for Magento2.
- Admin will get the commission based on sellers.
- This module will support (Parallel, Delayed Chained, Instant Chained) adaptive payment.
- Supports multiple sellers.
- Allow seller to do Full or Partial online refund.
- Allow admin to do Full or Partial online refund.
- Supports only PayPal API.
1. For Refund, Seller must have Paypal Business Account.
2. For Refund process in our Marketplace Paypal Adaptive Payment module, the seller needs to give Third Party Access permission to the admin.
3. In the case of Chained Delayed Payment type, the admin has to release payment to the seller before doing partial Refund otherwise admin will unable to release the remaining payment to the seller.
4. Chained Payment type will work when the PayPal support approves your app as per their Acceptable Use Policy
5. According to the latest update from PayPal, you need to use https for the IPN postback so that you will successfully get verified status as explained in https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSetup/, So this payment gateway will properly work on https.
6. As per PayPal latest security updates there must be installed trusted certificate in your server and As PayPal endpoints was recently upgraded to new SHA-256, 2048-bit certificates, so your machine who make the request should be using the same algorithm.
Please read the guidelines carefully which are mentioned in this link https://developer.paypal.com/docs/classic/lifecycle/info-security-guidelines/
Installation Of Marketplace Paypal Adaptive Payment for Magento2
Customers will get a zip folder and they have to extract the contents of this zip folder on their system. 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.
If you have downloaded the module from Magento Connect then unzip the respective extension zip and create Webkul(vendor) then Mpadaptivepayment(module) name folder inside your magento root directory as app/code/Webkul/Mpadaptivepayment and then move all module’s files inside /app/code/Webkul/Mpadaptivepayment/ folder in magento root directory.
After the successful installation, you have to run these commands in the Magento2 root directory.
First command- php bin/magento setup:upgrade
After running the commands, you have to flush the cache from Magento admin panel by navigating through->System->Cache management as shown below.
Steps to Register in Paypal
- Visit the paypal website (https://www.paypal.com/us/home).
- Click on “Sign up” button.
- Choose account option and tap on “Next” button
- Enter your Email id and tap “Continue” button to sign up for your account.
- Then, Fill all the your details and click on “Agree and create account“.
- Then, fill all the details in Describe your business and tap “continue button”.
- After that, fill all the details in Tell us more about you and Click on “Submit” button.
Verify your email id from the mail you receive on your email id.Once the Verification is done, then login to your PayPal account.
Steps to Generate API for PayPal
Log in to your PayPal account and navigate through the “Account Settings”. As shown in the snapshot below.
Now in Account Settings under the Account Access section navigate to the API Access & click on “Update“.
Now on the next screen move to the NVP/SOAP API integration (Classic) option and click on “Manage API credentials”.
Here, you can see your API Username, API Password and Signature.
Grant API Permission to the third party
In order to Grant API Permissions to the third party :
On this page click on Grant API Permission button.
Enter the third party email id to Grant API Permission.
How To Get PayPal Application ID
In order to get the PayPal Application Id, you must visit https://developer.paypal.com/developer/applications/.
Now here click on “My Apps & Credentials” under Dashboard.
Now in order to take Application Id for Live environment click on the Live button.
After this, you need to scroll down to the NVP/SOAP API apps section.
Here you find the Test App ID for testing purpose as well as App Id for Live environment.
Configuration For Multi-lingual Support
Marketplace Paypal Adaptive Payment for Magento2 Translation
If a user wants to translate their module from English to German then they need to follow the path app/code/Webkul/Mpadaptivepayment/i18n in their unzipped Magento2 Mpadaptivepayment folder and will get a CSV file with name “en_US.csv”. Now they will rename that CSV as “de_DE.csv” and translate all right side content after the comma into the German language. After editing the CSV, save it and then upload it to the path app/code/Webkul/Mpadaptivepayment/i18n where they have installed Magento2 on the server. The module will get translated into the German Language. It supports both RTL and LTR languages.
Seller & Admin Configuration
Seller needs to input his PayPal id under seller profile payment details as shown below screenshot. Paypal id will be verified before the action takes place.
If the PayPal id is invalid or used earlier then Error message will display.
The admin can configure this payment module by following the path Stores > Configuration > Sales > Payment Methods > Marketplace Paypal Adaptive Payment. Let us see the configuration for Parallel Adaptive Payment Type and Chained Adaptive Payment type.
Parallel Adaptive Payment Type
In the parallel payment, the payment is sent to multiple receivers at a time.
When Payment Type is selected as “Parallel”, then the admin can select “Who Will Pay Fee” as Sender or Each Receiver.
When “Sender” is selected then the customer pays the fee which is deducted by the Payment Gateway method and when “Each Receiver” is selected then each receiver of the payment will pay the fee deducted by the Payment Gateway method.
Chained Adaptive Payment type
In a chained payment, the payment is made to a primary receiver. The primary receiver keeps some of the payment and pays the rest to one or more secondary receivers. Admin can select either Instant or Delayed payment type.
When the Payment Type is “Chained”, then the admin can select “Who Will Pay Fee”, as Primary Receiver or Each Reciever.
In “Primary Reciever”, the fee charged by the Payment Gateway method will be deducted from the Admin or Primary Reciever and in “Each Receiver”, the fee charged by the Payment Gateway will be deducted by each receiver ( admin and sellers).
The workflow of the module
On the cart page, the customer can see the total amount like the image below.
On the checkout page, the customer will see “Webkul Marketplace PayPal Adaptive Payment” and a message notifying the customer that they would be redirected to the PayPal official website to make the payment.
After placing an order through Webkul Marketplace PayPal Adaptive Payment, the customer will redirect to Paypal site where they will enter all PayPal details and after the successful payment transaction, they will redirect back to the store.
For the Parallel Adaptive Payment Type, the user can see the payment is split between the vendor and the admin.
For the Chained Adaptive Payment type, the user can see full payment going to the admin ( primary receiver ).
The admin can see the transaction. If the payment is done by “Parallel Payment”, then admin can see the transaction details like the image below.
If payment done by Delayed Chained Payment then from below screenshot admin can release payment to the Seller/Vendor.
Admin can see the whole transaction details under Marketplace Management > Sellers Transaction.
Refund using Paypal Adaptive Payment
Marketplace Paypal Adaptive Payment for Magento2 provides an easy Refund to their customers. Now admin/seller both can do fully/partial refund easily.
For doing a refund, the seller has to go “My Order History” and then click on the order for which wanna refund. Then click on the Credit Memo tab for the refund.
Once seller clicks on Credit Memo button, a page will open where the seller will have Online refund option. After clicking on the Refund button, the seller has done with the refund.
Refund Through Admin
For a refund, admin has to navigate invoice page for a placed order for which admin wants to do the refund.
Now click on the Credit Memo tab where Refund button exists to refund.
After clicking on Credit Memo, you have to click on Refund button. Refer to the below screenshot for the same.
Admin can see the transaction details of the refunded order.
Paypal adaptive app submission guidelines
Please consult with PayPal support for new app creation. App approval will be managed and moderated at the PayPal end, Webkul will not be responsible for app approval or moderation.
If you have already created an app, you can use it with this module.
That’s all for the Marketplace Paypal Adaptive Payment for Magento 2 module still have any issue feel free to add a ticket and let us know your views to make the module better at webkul.uvdesk.com
Current Product Version - 3.0.0
Supported Framework Version - 2.0.x, 2.1.x, 2.2.x, 2.3.x