post https://sandboxapi.upayments.com/api/v1/create-multivendor-refund
Multi vendor refund
Overview
Multi-vendors can create refunds on behalf of a sub-vendor
- Multi-vendor refunds are made from the respective sub-vendor accounts (Sub-vendor IBAN will identify the sub-vendor account from which the refund must be made)
- Multi-vendor refunds are possible only if there is sufficient 'Balance in Hand' in the sub-vendor's account
- If balance is not sufficient in the Sub-vendor's UPay account, Sub-vendor will have to top-up their balance in order to process the refunds successfully
- Top-up amount will be used for refund purposes only and remaining amount, if any, will be returned to the account within next Deposit cycle.
- The refund will automatically reach your customer's account within 1 working day for K-NET transactions and up to 10 working days for Credit Card, Apple Pay, Samsung Pay, Google Pay, and all other payments method
Request Header
Add "Authorization": "Bearer {Token}" to the request header.
Request Model
The request is a POST request with the following parameters:
Input Parameter | Type | Length | Description |
---|---|---|---|
orderId | string, mandatory | 255 | Pass order ID received in Create Single Refund API. |
refundPayload | array, mandatory | ||
refundPayload.refundRequestId | string, mandatory | 255 | Pass refund request ID received in Create Single Refund API. |
refundPayload.ibanNumber | string, mandatory | 255 | Pass Sub-vendor IBAN number received in Create Single Refund API. |
refundPayload.totalPaid | string, mandatory | 255 | Pass total paid which is received in Create Single Refund API. |
refundPayload.refundedAmount | float, mandatory | 10,2 | Pass refunded amount received in Create Single Refund API. |
refundPayload.remainingLimit | float, mandatory | 10,2 | Pass the remaining amount received in Create Single Refund API. |
refundPayload.amountToRefund | float, mandatory | 10,2 | Pass how much amount you want refund to the vendor |
refundPayload.merchantType | string, mandatory | 255 | Pass merchant type received in Create Single Refund API. |
receiptId | string, optional | 255 | You can pass the receipt ID here for your reference |
customerFirstName | string, optional | 255 | Pass customer first name |
customerEmail | string, optional | 255 | Pass customer email address |
customerMobileNumber | string, optional | 255 | Pass customer mobile number |
reference | string, optional | 255 | You can pass the reference here |
notifyUrl | string, optional | 255 | You will get webhook data on this URL |
{
"orderId": "ME3OdxVO6m20221010125525514466916880191941658236257649d20fa014b0",
"refundPayload": [
{
"refundRequestId": "WEVsTGo0ZTlOMg==",
"ibanNumber": "KW91KFHO0000000000051010173254",
"totalPaid": "10.000",
"refundedAmount": 0,
"remainingLimit": 10,
"amountToRefund": 1,
"merchantType": "vendor"
},
{
"refundRequestId": "RVc3OFhCRFoxSg==",
"ibanNumber": "KW31NBOK0000000000002010177457",
"totalPaid": "10.000",
"refundedAmount": 0,
"remainingLimit": 10,
"amountToRefund": 1,
"merchantType": "vendor"
}
],
"receiptId": "NHDBC55214",
"customerFirstName": "Jhon Smith",
"customerEmail": "[email protected]",
"customerMobileNumber": "+96512345678",
"reference": "HCNHD1425KSM",
"notifyUrl": "https://upayments.com"
}
Response Model
{
"status": true,
"message": "success",
"data": {
"responseData": {
"generated": [
{
"generatedInvoiceId": "bHo0SmxubGE2dg==",
"amount": 1,
"orderId": "k4eJmnNR8pME3OdxVO6m20221010125525514466916880191941658236257649d20fa014b0HGHHDwCEVkIzdHmYmvbE1zg3SEytjmWS",
"refundOrderId": "HGHHDwCEVkIzdHmYmvbE1zg3SEytjmWS",
"refundArn": "20230613132906948529208806612"
},
{
"generatedInvoiceId": "eUtZUjBNOWFxOQ==",
"amount": 1,
"orderId": "k4eJmnNR8pk4eJmnNR8pME3OdxVO6m20221010125525514466916880191941658236257649d20fa014b0HGHHDwCEVkIzdHmYmvbE1zg3SEytjmWSBUxEwUOEGGrGEyBs18p1HfX4LY4MGBvc",
"refundOrderId": "BUxEwUOEGGrGEyBs18p1HfX4LY4MGBvc",
"refundArn": "20230613132906948529208806612"
}
],
"dataTempered": [],
"refundIssue": [],
"insufficientBalance": []
}
}
}
Data flow diagram for Multi-vendor refunds