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.