API Reference

Single refund from order id

Overview

KNET refunds are done within 4 hours of refund initiation
CC refunds are done within 2-3 business days.

Refunds can be deleted (cancelled) if they have are initiated and not "refunded".
Once refunded, the refund request cannot be cancelled

Refunds are possible only if there is sufficient 'Balance' in your UPayments account
If 'Balance' is insufficient in your UPay account, you can top-up your 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 da

📘

Request Header

Add "Authorization": "Bearer {Token}" to the request header.

Request Model

Input ParameterTypeLengthDescription
orderIdstring,mandatory255Pass refund order ID which is received in Get Payment Status API.
totalPricefloat, mandatory10,2Enter refund amount
customerFirstNamestring, optional255Pass customer first name
customerEmailstring, optional250Pass customer email
customerMobileNumberstring, optional10Pass customer mobile number
referencestring, optional255Pass order reference
notifyUrlstring, optional255Pass notification URL
{
    "orderId": "mv1GZnrG2l20221010125525514466916867376022022026038648992c2755f2",
    "totalPrice": 10,
    "customerFirstName": "Jhon",
    "customerEmail": "[email protected]",
    "customerMobileNumber": "+96512345678",
    "reference": "11223344",
    "notifyUrl": "https://upayments.com/en"
}

Response Model

{
    "status": true,
    "message": "Refund invoice generated successfully",
    "data": {
        "orderId": "k4eJmnNR8pME3OdxVO6m202210101255255144669168674086486939107564899f80070d8HsUDgrRtCbzbuJFTdH9QyMLNkgaFcKMU",
        "refundOrderId": "HsUDgrRtCbzbuJFTdH9QyMLNkgaFcKMU",
        "refundArn": "202311074314067023726014116806"
    }
}

🚧

If you pass extraMerchant data in charge API then you will get the below response

{
    "status": true,
    "message": "success",
    "data": {
        "orderId": "x9qgyobGKN2022101012552551446691695107275189570586650948cbbbbb0",
        "isMultivendorRefund": true,
        "refundPayload": [
            {
                "refundRequestId": "cDg2RTY1Yjc5aw==",
                "ibanNumber": "KW91KFHO0000000000051010173254",
                "totalPaid": "50.000",
                "refundedAmount": 0,
                "remainingLimit": 50,
                "amountToRefund": 0,
                "merchantType": "vendor"
            },
            {
                "refundRequestId": "bExqUVk2T1Y4Tg==",
                "ibanNumber": "KW31NBOK0000000000002010177457",
                "totalPaid": "50.000",
                "refundedAmount": 0,
                "remainingLimit": 50,
                "amountToRefund": 0,
                "merchantType": "vendor"
            }
        ],
        "multivendor_refund_end_point": "https://sandbox.upayments.com/api/v1/create-multivendor-refund"
    }
}

Data flow diagram for refunds

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