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 ParameterTypeLengthDescription
orderIdstring, mandatory255Pass order ID received in Create Single Refund API.
refundPayloadarray, mandatory
refundPayload.refundRequestIdstring, mandatory255Pass refund request ID received in Create Single Refund API.
refundPayload.ibanNumberstring, mandatory255Pass Sub-vendor IBAN number received in Create Single Refund API.
refundPayload.totalPaidstring, mandatory255Pass total paid which is received in Create Single Refund API.
refundPayload.refundedAmountfloat, mandatory10,2Pass refunded amount received in Create Single Refund API.
refundPayload.remainingLimitfloat, mandatory10,2Pass the remaining amount received in Create Single Refund API.
refundPayload.amountToRefundfloat, mandatory10,2Pass how much amount you want refund to the vendor
refundPayload.merchantTypestring, mandatory255Pass merchant type received in Create Single Refund API.
receiptIdstring, optional255You can pass the receipt ID here for your reference
customerFirstNamestring, optional255Pass customer first name
customerEmailstring, optional255Pass customer email address
customerMobileNumberstring, optional255Pass customer mobile number
referencestring, optional255You can pass the reference here
notifyUrlstring, optional255You 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

Language
Authorization
Header
Click Try It! to start a request and see the response here!