Get Refund API

Fetch one refund by refund_id via SePay API, including its processing state and what the bank returned for that refund.

||

Refund detail

GET
https://userapi.sepay.vn/v2/bank-accounts/{ba_xid}/refunds/{refund_id}

Look the refund up by the refund_id you got when you created it.

Parameters

ba_xidstringrequired

Bank account UUID

refund_idstringrequired

SePay-issued refund handle

Code Examples

>
>
>
curl --request GET \
--url https://userapi.sepay.vn/v2/bank-accounts/f9e8d7c6-b5a4-3210-fedc-ba0987654321/refunds/RF-7QK3-M8PZ-4VNW \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response (HTTP 200)

Response 200 - Refund detail
{
  "status": "success",
  "data": {
    "refund_id": "RF-7QK3-M8PZ-4VNW",
    "order_type": "va_order",
    "order_id": "string",
    "order_code": "string",
    "xid": "string",
    "transaction_id": "string",
    "original_reference": "string",
    "amount": 50000,
    "currency": "VND",
    "scope": "full",
    "status": "pending",
    "created_at": "2026-08-28 14:05:00"
  }
}
statusstring
dataobject
The state refreshes itself

SePay re-checks the bank for refunds still in pending, so you never call the bank yourself. Once status is succeeded, failed or rejected, that is the final answer and it never changes again.

Reconciling with the bank

The response carries no bank-side technical codes. When you need to reconcile a refund with VietinBank, send SePay the refund_id and support will look it up.