Create Refund

Single refund from order id

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Refund Management

Funding & Balance

To successfully process a refund, your UPayments account must have a sufficient Balance.

  • Insufficient Funds: If your balance is too low, you must perform a top-up.

  • Top-up Usage: Funds added via top-up are reserved strictly for refund processing.

  • Residual Funds: Any remaining top-up balance will be automatically swept back to your settlement account during the next Deposit Cycle.

Processing Timelines
Once processed, funds are typically credited to the customer within the following windows:

  • K-NET: 1 working day.

  • Cards (MPGS/Cybersource): Up to 10 working days.

Gateway Retention Limits

Refunds can only be requested for transactions within the following historical windows:

Payment MethodRetention Period
K-NET6 Months
MPGS2 Years
Cybersource (CYBS)2 Years

Cancellation Policy

  • Eligible for Cancellation: Refunds can only be deleted (cancelled) if the status is Initiated.
  • Non-Cancellable: Once the status changes to Refunded, the action is final and cannot be reversed.
🚧

KNET refunds are done within 4 hours of refund initiation

🚧

CC refunds are done within 2-3 business days.

Input ParameterTypeLengthDescription
orderIdstring, mandatory255Pass refund order ID, which is received in Get Payment Status API.
totalPricefloat, mandatory10,2Enter refund amount
customerFirstNamestring, optional255Pass the customer's first name
customerEmailstring, optional250Pass the customer's email
customerMobileNumberstring, optional10Pass the customer's mobile number
referencestring, optional255Pass order reference
notifyUrlstring, optional255Pass notification URL
requireApprovalboolean, optionaltrue/falsePass true if the Refund request needs to be approved.
refundReasonstring, optional255Pass the refund reason
Note: required only when requireApproval is true

Request Model

{
    "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"
    }
}

Data flow diagram for refunds

Body Params
string
Defaults to 202210101255255144669
string
Defaults to 1
string
Defaults to Refund
string
Defaults to [email protected]
string
Defaults to +96512345678
string
Defaults to 11223344
string
Defaults to https://webhook.site/b2098235-3dc0-4ec2-b8dd-52983c51cae9
Headers
string
Defaults to Bearer jtest123
Responses

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json