VA* order or the RE* refund child.RE* PAYIN_REFUND / PAYOUT_REFUND: originalOrderId → VA* original; refundOrderId is null.VA* PAY_IN / CASH_OUT: refundOrderId → RE* child when a refund exists; originalOrderId is null.orderStatus stays SUCCESS after success. Refund progress is refundStatus plus the child orderStatus.| Stage | orderStatus | refundStatus |
|---|---|---|
| Created / channel not terminal | PROCESSING | REFUNDING |
| Funds confirmed and ledger posted | REFUNDED | REFUNDED |
| Channel explicitly failed | FAIL | REFUND_FAILED |