Withdrawals
1. What This Page Is For
The Withdrawals page is used to monitor, verify, and approve payouts or reject player cash withdrawal requests. It allows staff to check turnover progress, inspect betting history, detect pending free spins in slot games, select CMS payout bank accounts or Jinlipay P2P, and manage credit refunds or confiscations. This page is designed for finance cashiers, risk auditors, and finance managers.
[!IMPORTANT] Pre-deduct Balance Mechanism: As soon as a player submits a withdrawal request from the lobby, the system immediately deducts that credit from the player's wallet. This prevents players from wagering funds while awaiting staff approval. If staff rejects the withdrawal, they must choose between Refund credit or No refund (confiscation).
2. Before You Begin
- Required Permissions:
- You must have the 'Withdrawals' permission from the administrator to view and process withdrawal requests.
- To view player phone numbers, you must have the 'Player Phone' permission. Without it, numbers on cards will appear as
****.
- Things to Prepare:
- Active CMS payout bank accounts in Payment Setup > Bank Accounts (tab Payout Accounts) with sufficient funds and remaining daily quota.
- Bank transfer slip image (when using the manual slip upload payout mode).
3. Screen Overview
This section covers two key views: the main withdrawal ledger table and the transaction verification and payout screen.
1. Main Withdrawal Ledger Screen
- Page Header: Displays the title Withdrawals, operational summary, and status counters.
- Search and Quick Status Bar: Contains the quick search field, status filter tabs (All, In Progress, Success, Pending Payment, Cancel), and the Advanced toggle button.
- Active Filter Chips: Displays active filter badges with an
✕icon to remove individual filters, and a Clear Filters button. - Table Toolbar: Includes the Refresh button, total entries counter, and the Export Excel button.
- Withdrawal Data Table: Shows all withdrawal requests with recipient bank accounts, requested cash amounts, status badges, and action buttons.
- Pagination: Located at the bottom of the table to switch pages and change entries per page (10, 20, 50, 100).
2. Transaction Review and Payout Screen
When you click the Proceed button on any table row, the system opens the full transaction verification view, consisting of:
- Breadcrumbs and Status Summary: Shows transaction ID, transaction mode badge, current status badge, and real-time collaborative indicators showing other staff members viewing or editing the transaction.
- Player Financial Summary Card: Displays wallet balance, total deposit history, total withdrawal history, accumulated commissions, cashbacks, reward points, and registration date, with a collapse/expand toggle.
- Special Notification Banners: Orange banner if reversal is pending due to insufficient agent credit, or blue banner if a Jinlipay P2P request timed out and auto-refunded.
- Three Information Tabs: Player Log tab (with Free Spin Review and Withdrawal Evidence panels), Betting History tab, and Withdraw Method tab.
- Bottom Sticky Action Bar: Quick controls to set success or cancel status, refund vs confiscate credit toggle, rejection reasons dropdown, participant list, and save button.
4. Search and Filters
| Field / Filter | Type | How to Use | Result |
|---|---|---|---|
| Search by transaction, player, bank... | Text input | Type transaction ID, username, account number, or notes, then click Search or press Enter | Filters table to matching entries |
| Quick Status Tabs | Quick buttons | Click on All, In Progress, Success, Pending Payment, or Cancel | Quickly filters table by primary status |
| Advanced | Toggle button | Click Advanced to expand or collapse the 5 advanced filter fields | Displays detailed filter options |
| Player Bank | Dropdown | Select the player's destination receiving bank (e.g. KBANK, SCB, BBL) | Shows withdrawals to that specific bank |
| CMS Bank | Dropdown | Select the company payout bank account | Shows withdrawals paid out from that account |
| Amount (From - To) | Number inputs / Slider | Enter minimum amount in From and maximum in To (0 to 1,000,000) | Shows withdrawals within the specified amount range |
| Date Range | Calendar date picker | Select Date From and Date To | Shows withdrawals submitted within the timeframe |
| Clear Filters | Button | Click Clear Filters or click ✕ on active chips | Resets all filters back to default values |
| Refresh | Icon button | Click the spinning arrow icon | Instantly fetches the latest withdrawal records |
| Export Excel | Button | Click Export Excel | Downloads the filtered table data as an .xlsx file |
5. Data Table
Table Columns
| Column | What You See | Meaning | Color Badges / Indicators |
|---|---|---|---|
| Created At | Date and time (e.g. Oct 21, 2026 · 15:10:00) | When the withdrawal request was submitted | Click header to sort ascending or descending |
| Transaction ID | Alphanumeric ID (e.g. TX-WTH-20261021-0045) | Unique reference number for the request | Can be copied to clipboard |
| Player | Username and member rank card | The player requesting the withdrawal | Pulsing orange badge indicates another staff member is viewing |
| Rank | Member rank badge | VIP tier of the player | Color-coded by rank tier |
| Player Bank | Bank logo, account number, and account name | Player destination account for the payout | Bank icon and account details |
| Mode | Badge showing payout mode (e.g. Upload Slip, Auto Gateway, Jinlipay P2P) | Channel used to pay out funds | Text badge indicating payout method |
| Description | Text note or - | Additional notes or rejection reason | Clickable text to open full note modal |
| Amount | Amount (e.g. ฿ 5,000.00) | Cash amount requested for withdrawal | Bold red text |
| Before Balance | Amount (e.g. ฿ 5,000.00) | Player wallet balance before submitting the request | Standard numbers |
| After Balance | Amount (e.g. ฿ 0.00) | Balance remaining after pre-deducting the withdrawal | Standard numbers |
| CMS Bank | Bank prefix and account number, or - | Company bank account used to disburse the payout | Account text |
| Updated By | Staff username or system | Who last approved, rejected, or modified the status | Username or label |
| Responsible Group | View button | Staff members who processed or reviewed this transaction | Blue button; click to see full user list |
| Status | Status badge | Current processing state | See Section 9 for color meanings |
| Actions | Proceed button | Button to open verification and payout modal | Clickable for authorized staff |
Action Buttons (Actions Column)
| Button | Icon / Color | What Happens When Clicked | Notes / Conditions |
|---|---|---|---|
| Proceed | Blue / primary button | Opens the transaction verification screen to inspect bets, choose payout bank, and approve or reject | Requires 'Withdrawals' permission |
6. Step-by-Step Guide
1. Verifying and Approving a Manual Slip Payout
- In the withdrawal table, locate the row with yellow badge In Progress.
- Click Proceed on that row to open the transaction review screen.
- Check the player summary stats on the top bar. Verify that the destination bank account name matches the registered first and last name to prevent third-party payouts.
- Verify gameplay legitimacy across the main tabs:
- Player Log tab: Inspect the Free spins to check panel. If the player stored bonus rounds or purchased free spin features in slot games while on an active promotion, do not approve the payout.
- Betting History tab: Verify that turnover requirements are 100% completed with no prohibited betting patterns (such as two-sided baccarat bets).
- Switch to the Withdraw Method tab on the right:
- Click the Select Withdraw Method box to open the channel modal.
- Select the Upload Slip tab.
- Click the company payout bank account you want to use (select the orange RECOMMENDED account first).
- Staff transfers the cash to the player via mobile banking.
- In the Slip Image section, upload the transfer confirmation slip (
.jpg,.png, max 5 MB). - Scroll down to the bottom sticky action bar, set Status to Success.
- Click Save / Submit. Funds are deducted from the CMS bank and recorded in Bank History immediately.
2. Approving an Automatic Gateway Payout
- Open the withdrawal by clicking Proceed.
- Verify turnover and ensure no pending free spins.
- In the Withdraw Method tab, click Select Withdraw Method.
- Select the Auto Gateway tab and pick an active gateway payout bank.
- In the bottom action bar, set status to Success.
- Click Save / Submit. The system sends an automated transfer command to the player's bank account.
3. Approving a Jinlipay P2P Payout
For payouts routed through the peer-to-peer matching network (50 to 1,000,000 THB):
- Open the withdrawal by clicking Proceed.
- Verify player turnover and betting records.
- In the Withdraw Method tab, click Select Withdraw Method and choose Jinlipay P2P.
- Confirm destination bank details and amount.
- In the bottom bar, select Success and click Save / Submit.
- The request enters Jinlipay P2P matching with status Pending Jinlipay P2P.
4. Rejecting a Withdrawal with Refund to Player (Refund Credit)
Used when player entered wrong bank details or wants to continue playing:
- Click Proceed on the withdrawal to reject.
- In the bottom action bar, set Status to Cancel (Reject).
- In the Credit Disposition segmented control, select Refund credit.
- In the Reason dropdown, select 1 of 5 standard reasons (e.g. Incorrect details).
- If selecting "Others", type explanatory details in the description input box.
- Click Save / Submit.
- Key Step: The system creates a new Return deposit transaction in Deposits with In Progress status.
- Switch to Finance > Deposits, find the row with the yellow Return badge, and click Proceed to approve. Credit returns to the player's wallet officially.
5. Rejecting a Withdrawal Without Refund (Confiscate Credit)
Used for severe violations such as bonus abuse, arbitrage bots, or storing free spins to circumvent turnover:
- Click Proceed on the withdrawal to reject.
- In the bottom action bar, set Status to Cancel (Reject).
- In the Credit Disposition segmented control, select No refund.
- In the Reason dropdown, choose Bonus abuse or Suspicious behavior.
- Click Save / Submit.
- A red confirmation dialog appears with a warning: "The withdrawal amount will NOT be returned to the player."
- Verify the details carefully and click Confirm Rejection (No Refund).
- The pre-deducted balance is retained permanently in the system. The transaction is marked as
(ยึดเครดิต)/(Confiscated).
6. Recovering a "Pending Refund" Withdrawal (Retry Refund)
When automated reversal failed due to insufficient agent credit:
- Request your supervisor or upline agent to top up agent credit.
- Reopen the withdrawal transaction.
- On the orange banner, click Retry Refund.
- Agent credit is deducted to restore the player's balance, completing the cancellation.
7. Correcting CMS Payout Bank Post-Approval
If a transaction was already marked Success but recorded against the wrong CMS bank:
- Click Proceed on the completed withdrawal.
- Navigate to the Withdraw Method tab.
- Select the correct CMS payout bank account that actually disbursed the funds.
- Click Save / Submit.
- The ledger in Bank History updates automatically without altering the player's balance.
8. Exporting Withdrawal Records to Excel
- Apply your desired search filters and date range.
- Click Export Excel at the top right of the table toolbar.
- The
.xlsxfile downloads immediately to your computer.
7. Edit or Add Page
New withdrawals cannot be created manually from the table (players initiate them from the site). Clicking Proceed opens the transaction verification page at /finance/transaction/[id]/edit, which includes:
Player Summary Header
- Top Navigation Bar: Displays the back button, transaction ID, transaction mode badge (
Upload Slip,Auto Gateway,Jinlipay P2P), current status badge, and real-time collaborative indicators showing other staff members viewing or editing the transaction. - Financial Status Metrics: Displays current player wallet balance, total deposit amount (with frequency count), and total withdrawal amount (with frequency count).
- Bonuses & Returns: Displays total claimed commissions, cashback rewards, and promotional bonus amounts.
- Rewards & Perks: Displays available Spinner Tickets, Diamonds, and Reward Points.
- Collapse/Expand Toggle: When scrolling down, the summary header compacts automatically; click the chevron button to pin or expand.
Tab 1: Player Log
- Free Spin Review Panel: Detects whether the player has unplayed bonus rounds or purchased free spin features stored in slot games. Displays game name, stake amount, and an alert to prevent users from hiding cash before requesting withdrawal.
- Withdrawal Evidence Panel: Displays attached proof or documents submitted alongside the withdrawal request.
- Player Profile Panel: Personal details, registration date, phone number, registered bank account, and assigned member group.
- Deposit History Table: Table of past deposits, timestamps, transaction numbers, amounts, modes, and statuses.
- Withdrawal History Table: Table of past withdrawals, amounts, destination banks, and outcomes.
- Behavior & Risk Reports: Historical notes, risk levels, and operational alerts regarding the player.
Tab 2: Betting History
Displays the player's detailed gameplay records used to evaluate betting behavior before approving payouts:
- Bet timestamp, provider and game title, round ID.
- Stake amount, profit (green) or loss (red), and accumulated turnover.
- Verifies that turnover requirements are 100% completed according to active promotions.
Tab 3: Withdraw Method
The central workspace for setting up the cash payout to the player:
- Player Destination Bank: Bank logo, bank name, account number, account owner name, and current wallet balance.
- Transaction Balance Summary:
- Before Balance: Player wallet balance before submitting the withdrawal request.
- Amount Request: Cash amount requested for withdrawal.
- After Balance: Player balance remaining after deducting the requested amount.
- CMS Bank / Payout Method Box: Displays the currently selected payout channel. Clicking the box opens the method selection modal (supporting Upload Slip, Auto Gateway, and Jinlipay P2P).
- Slip Upload Section (Slip Mode Only): Allows staff to upload proof of payment slips. Supports up to 5 images (maximum 5 MB each,
.jpgor.png), with delete buttons and full-size lightbox preview.
Bottom Sticky Action Bar
| Field / Setting | Required? | What to Input | Example | Constraints |
|---|---|---|---|---|
| Select Withdraw Method | Required for approval | Select payout mode (Slip / Auto / P2P) and CMS bank | KBank - 987-6-54321-0 | Account must be active with available limit |
| Slip Image | Required for slip mode | Proof of cash transfer to the player | Image file .jpg, .png | Max 5 MB per file, up to 5 images |
| Status | Required | Decision: Success (Approve) or Cancel (Reject) | Success | Based on inspection results |
| Credit Disposition | Required if rejecting | Choice: Refund credit or No refund | Refund credit | Determines whether player gets funds back |
| Reason | Required if rejecting | Standard rejection reason from 5 choices | Bonus abuse | Suspicious behavior, Bonus abuse, Incorrect details, Duplicate transaction, Others |
| Description | Required if reason is "Others" | Detailed explanation for the decision | Stored free spins in slot games | Up to 500 characters |
| Responsible Group | Read-only | Shows last status updater and Responsible Group button | admin_finance | Click button to view all involved staff |
8. Popups and Modals
1. Responsible Group Modal
- Triggered when: Clicking View in the Responsible Group column of the table, or clicking the Responsible Group button on the action bar.
- What you see: List of all staff members who inspected, processed, or approved this withdrawal.
- What to do: Review staff handling history and click the close button.
- Result: Closes the modal with no data changes.
2. Full Text Detail Modal
- Triggered when: Clicking long notes in the Description column of the table.
- What you see: Transaction ID, player username, and complete note or rejection reason.
- What to do: Read the details and close the modal.
- Result: Returns to the table.
3. Select Withdraw Method Modal
- Triggered when: Clicking the Select Withdraw Method box in the withdrawal tab.
- What you see:
- 3 mode tabs:
- Upload Slip: List of CMS payout banks, RECOMMENDED badges, operating hours, and remaining daily limits.
- Auto Gateway: Active automated gateway bank accounts.
- Jinlipay P2P: Player destination account, withdrawal amount, and button to select P2P channel.
- 3 mode tabs:
- What to do: Choose your preferred mode and click an available payout account.
- Result: Links the bank to the transaction and closes the dialog.
4. Confirm Rejection Without Refund Modal
- Triggered when: Selecting Cancel, choosing No refund, and clicking Save.
- What you see: Red alert icon, transaction ID, confiscated amount, player username, and warning text.
- What to do: Review the warning. If confirmed, click Confirm Rejection (No Refund); otherwise click Cancel.
- Result: Permanently confiscates the credit and closes the dialog.
5. Large Slip Image Lightbox
- Triggered when: Clicking an uploaded slip thumbnail in the Withdraw Method tab.
- What you see: Full-screen high-resolution view of the bank slip with zoom controls.
- What to do: Check transfer timestamp, bank account details, and amounts, then click the close button.
- Result: Closes lightbox and returns to the review screen.
9. Status and Badge Colors
| Status Badge | Color | Meaning | Next Action Required |
|---|---|---|---|
| Success | Green | Payout transferred and recorded in bank ledger | Completed; no further action needed |
| In Progress | Yellow | Inbound withdrawal awaiting staff review (balance pre-deducted) | Click Proceed to inspect bets and disburse |
| Pending Payment | Blue | Payment is in transit through gateway | Wait for payment gateway confirmation |
| Pending Jinlipay P2P | Purple | Request submitted to Jinlipay P2P matching network | Wait for gateway confirmation |
| Cancel (Refund credit) | Red | Rejected with credit refund | Switch to Deposits to approve the Return record |
| Cancel (Confiscated) | Red | Rejected without refund; credit permanently withheld | No action needed; funds retained |
| Cancelled by Player | Orange | Player cancelled from lobby before staff began review | Credit refunded to player automatically |
| Cancelled by System | Gray | Auto-cancelled due to system rule violations | Review system audit logs if player inquires |
| Timeout | Orange | Automated gateway or P2P timed out | Check external bank proof before re-triggering payout |
10. Frequently Asked Questions & Troubleshooting
- Why didn't the player get their credit back immediately after selecting "Refund credit"?
- For financial security in Winnova CMS, rejected withdrawal refunds always generate a Shortfall Return (Return) deposit in Finance > Deposits. Switch to Finance > Deposits, locate the row with the yellow Return badge in In Progress status, and click Proceed to approve it.
- If a CMS payout bank displays a red "Unavailable" badge:
- The account is toggled off, outside service hours, or has reached its daily payout limit. Choose another account with the orange RECOMMENDED badge, or go to Payment Setup > Bank Accounts (tab Payout Accounts) and click Reset Limit.
- What should I do if pending free spins are detected in the Player Log tab?
- Reject the withdrawal immediately. Set status to Cancel, and select Refund credit (to let the player finish the spins) or No refund (if the player intentionally stored spins to evade turnover rules).
- If the "Jinlipay P2P" payout button cannot be clicked:
- Ensure Jinlipay P2P is enabled in Payment Integrations > Jinlipay P2P, and that the requested withdrawal amount is between 50 and 1,000,000 THB.
- If an orange banner displays "This transaction is pending refund":
- System reversal failed because the agent credit balance was insufficient. Ask a supervisor to top up agent credit, then return to this page and click Retry Refund.