Skip to content

Refund Management ​

Updated: 10/15/26, 4:18:57 PM

Refunds are initiated against a payment trade (not a business order), either from the UI or via API. The refund amount is constrained by the refundable balance of the original trade, and multiple partial refunds are supported.

Entry Points ​

MethodEntryDescription
UITrade Orders → Payment Trades → operation column More → RefundAvailable on both the admin and merchant panels; refunds issued on the admin panel carry the merchant number
APIPOST /unipay/refundCalled by business systems; see Apply for Refund
Refund queryTrade Orders → Refund OrdersBoth panels can view refund order status and details

Issuing a Refund from the UI ​

Find the target trade in the Payment Trades list (fund status "success" and refundable balance greater than 0), then click More → Refund in the operation column:

  1. The system queries the trade details first and fills in the fund trade number and the current refundable balance;
  2. Enter the refund amount (the dialog pre-fills the entire refundable balance — lower it for a partial refund; "one-click full refund" fills the balance back in) and the refund reason;
  3. Confirm once more and submit; a refund order is created.

Partial refunds

One payment trade can be partially refunded multiple times, as long as the cumulative refund amount does not exceed the original trade amount. The refundable balance decreases after each successful refund and is visible in both the payment trade and refund order details.

Refund Status Transitions ​

StatusDescription
Refunding (progress)Submitted to the channel, waiting for the result
Success (success)Refund received
Failed (fail)Rejected by the channel or processing failed (insufficient balance, past the refundable period, etc.)
Closed (close)Refund order closed, no longer processed

Refund Orders Page ​

Query conditions: refund order number, fund trade number, merchant, app, merchant order number, refund status, trade type (normal / gateway), payment product, creation time.

List columns: refund order number, trade number, merchant order number, amount, refund status, trade type, product, merchant, creation time.

Operations:

OperationConditionDescription
View—Detail drawer (identity info / related funds / amount and status / channel snapshot / notification and audit)
SyncRefundingPull the refund result from the channel; use when a callback is lost
Manual close"Refunding" for more than 7 daysManually close and archive refund orders with no result for a long time
Export—Export from the top-right corner

FAQ ​

SymptomHandling
Refund stuck in "Refunding"The channel callback has not arrived; run Sync on the refund order. After 7 days, close it manually and initiate a new refund
Refund fails with insufficient balanceThe original trade may have been partially refunded, or settlement changed on the channel side; verify the refundable balance
No refund button on the order pageThe refund entry is on the Payment Trades page, not on the Normal Orders / Gateway Orders page