Operator guideENtransactionswithdrawalspayoutsactions

Transactions / Withdrawals

Action-heavy payout queue with filters, status controls, postponed payout handling, provider payload modals, and CSV export.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this surface shows

Transactions / Withdrawals is the operator queue for customer withdrawal requests.

This page is action-heavy. It is not only a history table. Operators use it to:

  • filter and review withdrawal requests
  • open provider request/response payloads
  • move APPROVE_REQUESTED rows back to PENDING
  • approve or reject postponed payouts when permissions allow

How to read it

The grid combines identity, provider, amount, status, payout method, balances, timestamps, and tags.

Important columns are:

  • Status
  • Action
  • Provider Req
  • Provider Resp

Provider Req opens the postponed request payload from postponedResumeParams. Provider Resp opens the shared response payload from moreDetails.

Filters that change the queue

  • Search player
  • Search provider
  • Status
  • Search by tag
  • Date start
  • Date end

Tag chips inside the grid can also push a tag into the filter form and re-run the list.

Common questions

What does To Pending do?

It is a status-change action shown only for rows currently in APPROVE_REQUESTED. The backend change is restricted to APPROVE_REQUESTED -> PENDING, sets postponed=true, and clears any stored postponedResumeParams.

Why do some rows show extra approve/reject icons and others do not?

Because those icons only appear for postponed rows and are also permission-gated.

What do Approve Withdrawal and Reject Withdrawal actually call?

They do not mutate the row in-browser. CRM calls resume-payout or reject-payout on gs-admin-backend, and the backend helper forwards the request to the configured user-backend payout endpoints.

Why are there two different modal types?

Because one modal shows the shared transaction provider payload, while the postponed modal shows the postponement payload and reason.

Known caveats

  • Some row actions are permission-dependent (Approve, Reject).
  • The page mixes status workflow actions with read-only payload inspection actions.
  • “No tags” and tag chip behavior are part of the operator workflow because tags are searchable from the row itself.

Verification status

  • status: verified_backend
  • last verified: 2026-04-18
  • note: list query, status-change restriction, postponed payload fields, and payout mutation routes are confirmed against FE and backend services
Operator actions

Screen actions

action

Apply Filters

Re-runs the withdrawal queue with the current search and date filters.

action

Download CSV

Exports the current withdrawal queue result set.

Operator actions

Row actions

action

Open Player

Opens the player profile from the email column.

action

Filter by Tag

Clicking a tag chip writes it into the search field and resubmits the queue.

action

To Pending

Changes `APPROVE_REQUESTED` rows back to `PENDING` and records an optional reason.

action

Info

Opens the postponed payload modal for rows with provider request payload information.

action

More Info

Opens the shared transaction detail modal for rows with provider response details.

action

Approve Withdrawal

Resumes payout for postponed rows when merchant balance and permission checks allow it.

action

Reject Withdrawal

Rejects a postponed payout when permission checks allow it.

Grid columns

Columns

field

User Tags

field

Id

field

Email

field

Name

field

Provider

field

Transaction

field

Amount

Data Type
amount
field

Status

field

Action

field

Method

field

Provider Req

Opens the postponed payload modal when the row stores provider request payload data.

Note
Opens the postponed payload modal when the row stores provider request payload data.
field

Postponed Approve

field

Balance Before

Data Type
amount
field

Balance After

Data Type
amount
field

Postponed Reject

field

Provider Resp

Opens the shared transaction payload modal when provider response details exist.

Note
Opens the shared transaction payload modal when provider response details exist.
field

Updated

field

User Tags

Filter dictionary

Filters

field

Search player

Type
text
field

Search provider

Type
text
field

Status

Type
select
field

Search by tag

Type
text
field

Date start

Type
date
field

Date end

Type
date
Operational notes

Notes

item

Merchant balance is consulted in the approval control before showing a success-state approve icon.

item

Provider-request and provider-response payloads use different modal surfaces.

item

`change-withdrawal-status` only allows `APPROVE_REQUESTED -> PENDING`, sets `postponed=true`, and clears stored `postponedResumeParams`.

item

`resume-payout` and `reject-payout` forward to the configured user-backend payout endpoints through the shared transaction helper.

Related references

Related pages

pageTransactions / Banking

Filterable banking transaction dashboard with weekly summary cards, backend stats charts, CSV export, and a detailed ledger-style table.

pageTransactions / Casino

Game transaction dashboard with real-time list mode, monthly analytics mode, filterable table, and a dedicated transaction detail route.

pageTransactions / Casino Transaction Detail

Read-only detail page for a single casino transaction identified by `casinoTransactionId`.

pageTransactions / Failed Deposit

Triage grid for failed deposit rows, their provider reasons, and the error-group classification used for later analysis.

pageTransactions / Failed Deposit Error Groups

Configuration surface for creating, editing, importing, exporting, and assigning failed-deposit error groups and their reasons.

pageTransactions / KYC

Action-heavy KYC document queue exposed under the transactions area for document review, verification, re-request, download, and third-party checks.