Merchants who manage multiple sub-merchants can streamline payments using UPay’s charge API and passing Multi-merchant parameter. This feature allows a single payment request to handle payments across multiple sub-merchants.
Steps to Enable Multi-merchant API
-
Using the Multi-merchant API
To activate the multi-merchant functionality, include an array called"ExtraMerchantsData"
within your payment request. This array allows you to provide specific information for each sub-merchant involved in the transaction. -
Manage Payments for Sub-merchants
With the"ExtraMerchantsData"
array, you can define details for multiple sub-merchants, making it easy to organize and distribute payments efficiently within a single transaction. Fees for multiple sub-merchants can be defined within the array for each transaction. -
Set Up Your UPay Account
Ensure you have a UPay account with complete and verified information in the “My Account” section. This information is essential for verification purposes, and once verified, deposits can be facilitated through this account.
This setup provides an efficient way to manage transactions for multiple sub-merchants, saving time and simplifying reconciliation. If you need additional assistance with setting up the Multi-merchant API, our support team is here to help!
The request is a POST request with the following parameters:
Input Parameter | Type | Length | Description |
---|---|---|---|
extraMerchantData.knetCharge | float, mandatory | 2,2 | Main merchant Knet charge rate for the sub-merchant. This is the merchant's (main merchant) commission for each transaction from the sub-merchant. This amount is credited to the main merchant |
extraMerchantData.knetChargeType | string, mandatory | 10 | Knet charge type (Fixed or Percentage) |
extraMerchantData.ccCharge | float, mandatory | 2,2 | Main merchant Credit Card charge rate for the sub-merchant. This is the merchants' (main merchant) commission for each transaction from the sub-merchant. (Includes MasterCard, Visa, Samsung Pay, Google Pay, and Apple Pay). This amount is credited to the main merchant |
extraMerchantData.ccChargeType | string, mandatory | 10 | CC charge type (Fixed or Percentage) |
extraMerchantData.ibanNumber | string, array, mandatory | 30 | Sub-merchant IBAN Numbers. Defines which sub-merchant bank account to deposit the Order amount after commissions are deducted. |
Request Model
{
"products": [
{
"name": "Logitech K380",
"description": "Logitech K380 / Easy-Switch for Upto 3 Devices, Slim Bluetooth Tablet Keyboar ",
"price": 10,
"quantity": 1
},
{
"name": "Logitech M171 Wireless Optical Mouse",
"description": "Logitech M171 Wireless Optical Mouse (2.4GHz Wireless, Blue Grey)",
"price": 10,
"quantity": 1
}
],
"order": {
"id": "202210101255255144669",
"reference": "11111991",
"description": "Purchase order received for Logitech K380 Keyboard",
"currency": "KWD",
"amount": 20
},
"language": "en",
"reference": {
"id": "202210101202210101"
},
"customer": {
"uniqueId": "2129879kjbljg767881",
"name": "Dharmendra Kakde",
"email": "[email protected]",
"mobile": "+96566336537"
},
"returnUrl": "https://upayments.com/en/",
"cancelUrl": "https://error.com",
"notificationUrl": "https://webhook.site/d7c6e1c8-b98b-4f77-8b51-b487540df336",
"customerExtraData": "User define data",
"extraMerchantData": [
{
"amount": 10,
"knetCharge": 5,
"knetChargeType": "fixed",
"ccCharge": 10,
"ccChargeType": "percentage",
"ibanNumber": "KW91KFHO1122334455611223344556"
},
{
"amount": 10,
"knetCharge": 5,
"knetChargeType": "fixed",
"ccCharge": 7,
"ccChargeType": "percentage",
"ibanNumber": "KW31NBOK6677889910111213141516"
}
]
}
Response Model
{
"status": true,
"message": "Data received successfully",
"data": {
"link": "https://sandbox.upayments.com?session_id=20230944381710911035600999484952060712837211701"
}
}
Explanation
"extraMerchantData": [
{
"amount": 100,
"knetCharge": 0.900,
"knetChargeType": "percentage",
"ccCharge": 10,
"ccChargeType": "percentage",
"ibanNumber": "Sub-merchant-A"
},
{
"amount": 120,
"knetCharge": 10,
"knetChargeType": "percentage",
"ccCharge": 15,
"ccChargeType": "percentage",
"ibanNumber": "Sub-merchant-B"
},
{
"amount": 30,
"knetCharge": 0.750,
"knetChargeType": "fixed",
"ccCharge": 18,
"ccChargeType": "percentage",
"ibanNumber": "Sub-merchant-C"
}
]
For Sub-merchant-A
- If a cardholder pays through KNET, Sub-merchant-A gets 99.100KWD and 0.900 KWD will go to the main merchant (API owner).
- If a cardholder pays via MasterCard/Visa/Apple Pay/Samsung Pay/Google Pay, the Sub-merchant-A will get 90 KWD (90%) and 10% will go to the main merchant which is the owner of the API.
For Sub-merchant-B
- If a cardholder pays through KNET, Sub-merchant-B gets 108 KWD and 12 KWD (10%) will go to the main merchant (API owner).
- If a cardholder pays via MasterCard/Visa/Apple Pay/Samsung Pay/Google Pay, the Sub-merchant-B will get 102 KWD (85%) and 18 KWD (15%) will go to the main merchant which is the owner of the API.
For Sub-merchant-C
- If a cardholder pays through KNET, Sub-merchant-C gets 29.250 KWD and 0.750 KWD will go to the main merchant (API owner).
- If a cardholder pays via MasterCard/Visa/Apple Pay/Samsung Pay/Google Pay, the Sub-merchant-C will get 24.6 KWD (82%) and 5.4KWD (18%) will go to the main merchant which is the owner of the API.