Points for Credit
1. What this page does
The Points for Credit page allows administrators to manage shop items where players exchange accumulated points for wallet credit in the lobby shop. Administrators can configure a daily credit cap per player across all items, create credit exchange packages, specify turnover requirements, set buy-feature allowances, limit maximum bets per round, and restrict redemption frequency per day or lifetime. Furthermore, administrators can review performance reports and inspect exchange logs, including resolving credits that the game provider has not yet confirmed.
Related views in the system include:
- Credit items tab — Main list of all credit exchange packages with create and edit actions.
- Create new package form — Form to add a new credit exchange package.
- View / edit package page — Screen to review or update package settings.
- Report & history tab — Analytics summary and player redemption log.
2. Before you start
- Required Permissions:
- You must have the 'Points for credit' permission in Roles to view items, configure the daily cap, and create or edit credit exchange packages.
- You must have the 'Points for credit - report and history' permission in Roles to access reports, view exchange history, and review unconfirmed credit transactions.
- Key Rules for Credit Items:
- Unique Credit Amounts: Each credit amount must be unique across all packages (e.g. if a 100-credit package already exists, you cannot create another package that grants 100 credits). The system automatically sorts credit items from lowest to highest credit amount.
- Instant Delivery: When a player exchanges points on the website, points are deducted and credit is delivered directly into the player's wallet without requiring manual approval.
- Turnover Conditions: Setting turnover multiplier to
0allows players to withdraw credit immediately without playing. Setting turnover above0locks the credit into a turnover round until the requirement is satisfied. - Unconfirmed Credits (Waiting for a Check): If a game provider fails to acknowledge delivery, the transaction enters the Waiting for a check state. Administrators must review balances with the game provider and choose to resend, confirm, or cancel and refund points.
3. Screen layout
The page is organized into two primary tabs:
- Credit Items Tab:
- Credit Exchange Settings (Exchange Daily Cap): Card displaying the maximum credit one player may redeem in a single day across all packages, with an Edit button.
- Add Credit Item Button: Located at the top right, opens the new package form.
- Status Tabs and Filter Bar: Filter tabs for All, Open, Closed, and Deleted, along with keyword search and advanced filter drawers.
- Credit Items Table: Lists all credit items sorted by credit amount, showing exchange rates, turnover rules, status switches, and row actions.
- Report & History Tab:
- Summary Metric Cards: Total exchanges, unique players, points spent, credit paid, and turnover still owed.
- Trend and Distribution Charts: Daily/hourly exchange trend line chart and a donut chart of the top 5 most exchanged packages.
- Items Exchanged and Top Claimant Tables: Breakdown of packages exchanged and the top 10 most active players.
- Delivery Status Filter Tabs: Switch between All, Waiting for a check, and Cancelled, points returned.
- Credit Exchange History Table: Searchable table of every redemption record, with a pinned Check button for unconfirmed records and a CSV export button.
4. Search and filters
Filters on Credit Items Tab
| Field / Filter | Type | Options / How to use | Result |
|---|---|---|---|
| Search... | Text input | Type package name (Thai/English), point cost, or credit amount | Filters table to matching credit packages. |
| Status Tabs | Tab buttons | Select: All, Open, Closed, or Deleted | Filters packages by shop visibility status. |
| Created Range | Date range picker | Select start and end creation dates | Displays packages created within the selected date window. |
| Updated Range | Date range picker | Select start and end update dates | Displays packages modified within the selected date window. |
| Created By | Admin typeahead | Type admin name to select account | Shows packages created by the selected administrator. |
| Updated By | Admin typeahead | Type admin name to select account | Shows packages last edited by the selected administrator. |
| Clear | Button | Press Clear | Resets all filters and displays the full package list. |
Filters on Report & History Tab
| Field / Filter | Type | Options / How to use | Result |
|---|---|---|---|
| Period | Quick preset buttons | Choose: Today, 7 days, 30 days, or Custom | Updates summary stats, charts, and report breakdown tables. |
| Search history... | Text input | Type player username, package name, points, or credit amount | Filters rows in the bottom credit exchange history table. |
| Delivery Status | Tab buttons | Select: All, Waiting for a check, or Cancelled | Filters history table by provider delivery status. |
| Exchanged Range | Date range picker | Select redemption date range | Filters transactions by the time the player exchanged points. |
| Handled By | Admin typeahead | Type admin username | Displays transactions reviewed by the specified administrator. |
5. Data tables
1. Credit Items Table (Credit Items Tab)
| Column | What you see | Meaning | Badge or Symbol |
|---|---|---|---|
| Order | Sequential row number (1, 2, 3...) | Position sorted automatically by credit amount | Standard number |
| Item | Bold Thai name and secondary English name | Package name displayed in the lobby shop | Clickable title to open package editor |
| Rate | Points → Credit (e.g. 100 points → 10 credit) with rate note (10 points per 1 credit) | Exchange ratio of points to cash credit | Credit displayed in highlighted green text |
| Terms | Turnover badge and limit badge | Turnover requirement and redemption frequency limit | • Yellow: No turnover (immediate cash withdrawal) • Gray: Xx turnover • Blue: Limit per day / lifetime |
| Exchanged | Completed exchanges count, plus unconfirmed count | Total redemption statistics for this package | • Normal number: Completed count • Yellow chip: X waiting for a check |
| Last Edited | Date, time, and admin updater name | Audit history of the last update | Standard date and username |
| Status | Toggle switch or Deleted badge | Shop visibility toggle | • Green switch: Open • Gray switch: Closed • Gray badge: Deleted |
| Actions | 3-dots action menu | Action triggers | Options: Details, Edit, or Delete |
2. Credit Exchange History Table (Report & History Tab)
| Column | What you see | Meaning | Badge or Symbol |
|---|---|---|---|
| Exchanged | Date and time (e.g. 21/10/2026, 14:20) | Timestamp when the player redeemed points | Standard date/time format |
| Player | Player username (e.g. somchai99) | Player account that performed the exchange | Bold username text |
| Item | Package title | Credit package selected | Text package name |
| Points | Points deducted (e.g. 500) | Points deducted from player's balance | Right-aligned number |
| Credit | Credit amount granted (e.g. 50 THB) | Cash credit sent to player's wallet | Right-aligned amount |
| Turnover Required | Turnover requirement amount (e.g. 250 THB or —) | Turnover target before player can withdraw | Amount in THB or dash if no turnover |
| Turnover | Turnover cycle progress badge | Status of the player's turnover progress | • Yellow (Owed): Turnover not yet met • Green (Met): Turnover met and withdrawal unlocked • Gray (Closed): Credit spent or closed by new promo • Blue (None): No turnover required |
| Credit Delivery | Provider delivery status badge | Status of credit dispatch to the game provider | • Green (In the wallet): Delivered successfully • Blue (On its way): Currently processing • Yellow (Waiting for a check): Unconfirmed by provider • Gray (Cancelled): Cancelled and refunded |
| Actions | Check button (for unconfirmed records) | Action to open balance verification dialog | Sticky pinned button on the right edge |
6. Step-by-step
1. Setting the daily credit cap per player
- Navigate to Activities > Points for credit in the Credit items tab.
- Locate the Credit exchange settings (Credit per player per day) card at the top.
- Click the Change button on the card.
- In the dialog, configure:
- Toggle No cap on if you do not want an aggregate daily limit.
- Or toggle No cap off and enter the maximum amount in Most credit per day (฿) (e.g.
1000THB).
- Click Save. The system updates the cap immediately (resets at midnight Thai time).
2. Creating a new credit package
- In the Credit items tab, click Add credit item at the top right.
- The create form opens.
- Under What players see:
- Enter Name (Thai) (required, e.g.
แลก 50 เครดิต). - Enter Name (English) (optional, e.g.
Exchange 50 Credits). - Enter Description (Thai) and Description (English) (plain text up to 20,000 characters).
- Enter Name (Thai) (required, e.g.
- Under Cost and credit:
- Point cost: Enter required points (integer >= 1).
- Credit: Enter credit amount granted (> 0, must be unique across all items).
- Turnover: Enter turnover multiplier (e.g.
5x). If set to0, a yellow alert warns that players can withdraw cash immediately without playing. - If turnover is above
0:- Buy feature rule: Toggle whether feature buys are allowed during turnover.
- Max bet per round: Specify a maximum bet cap or choose no limit.
- Under Limit per player:
- Select limit type: No limit, Per day, or Over the membership.
- If a limit type is selected, enter the allowed Times (integer >= 1).
- Under Status on the right side card, verify the item is set to Open.
- Click Save in the bottom action bar.
3. Editing or viewing a credit package
- In the credit items table, click the package name or select Edit from the 3-dots action menu.
- The edit page opens.
- Adjust fields such as point cost, turnover, or status.
- Click Save in the bottom action bar.
4. Reviewing unconfirmed credits (Waiting for a check)
- When a game provider does not confirm credit delivery, the transaction enters Waiting for a check.
- Navigate to Report & history and click the Waiting for a check status tab.
- In the history table, click Check in the row of the unconfirmed record.
- The Check a credit that has not arrived dialog opens, displaying:
- Before the exchange: Player's balance prior to redemption.
- After, if it arrived: Expected balance if credit succeeded.
- At the provider now: Real-time balance read from the provider (click Read again to refresh).
- Provider's last answer: Error message or timeout response received.
- System Hint: Color-coded advice analyzing balance discrepancies.
- Enter an explanation in the Note box (required, max 500 characters).
- Choose an action:
- Send the credit again: Attempt re-sending credit to the provider using the same transaction ID.
- Confirm it arrived: Mark the credit as delivered if provider balance confirms the money arrived, without sending duplicate funds.
- Cancel and return points: Cancel the transaction and return points to the player if the provider failed to credit the wallet.
- Confirm your choice in the follow-up confirmation step.
5. Deactivating or deleting a credit package
- In the credit items table, switch the Status toggle to Closed (Gray).
- Once closed, click the 3-dots menu and select Delete.
- Confirm deletion in the prompt. The item moves to the Deleted tab and is hidden from the shop.
6. Exporting reports and history to CSV
- Export Report Data: On the Report & history tab, click Export CSV in the report section to download
exchange-credit-report-<start>_<end>.csv. - Export History Records: In the history table below, click Export CSV to download transaction records (up to 5,000 rows per export).
7. Edit / Add forms
Form fields for creating and editing credit items include:
| Section | Field | Required? | What to enter | Rules & Constraints |
|---|---|---|---|---|
| What players see | Name (Thai) | Required | Package name in Thai | Max 255 characters |
| Name (English) | Optional | Package name in English | Max 255 characters (falls back to Thai name if omitted) | |
| Description (Thai) | Optional | Conditions and instructions in Thai | Plain text up to 20,000 characters | |
| Description (English) | Optional | Conditions and instructions in English | Plain text up to 20,000 characters | |
| Cost and credit | Point cost | Required | Points required for exchange | Whole number >= 1 |
| Credit | Required | Cash credit amount granted | Number > 0, max 2 decimals, must be unique across all items | |
| Turnover | Optional | Turnover multiplier | Number between 0 and 1,000 (0 = no turnover required) | |
| Buy feature allowed | Required | Toggle allowing slot feature buy | Applicable when turnover > 0 | |
| Max bet per round | Required | Maximum wager allowed per bet | Applicable when turnover > 0 | |
| Limit per player | Limit kind | Required | Select: No limit, Per day, Lifetime | Choose 1 option |
| Times | Required (if limited) | Maximum allowed redemption times | Whole number >= 1 | |
| Status Card (Right) | Status | Required | Visibility switch in shop | Open (Green) or Closed (Gray) |
8. Popups and dialogs (Popup / Modal)
1. Credit Exchange Settings Dialog (Exchange Daily Cap)
- When it opens: When clicking Change on the daily cap card.
- What you see: A No cap switch and an input for Most credit per day (฿).
- What to do: Enter the desired cap amount or switch on No cap, then click Save.
- Result: Caps aggregate credit redemption per player per day across all packages.
2. Check Credit Delivery Dialog (Exchange Credit Review Dialog)
- When it opens: When clicking Check on a record with Waiting for a check status.
- What you see: Transaction ID, balance comparison (Before, Expected After, Provider Now), provider error message, note box, and action buttons.
- What to do: Compare balances, write a mandatory note explaining your findings, and select:
- Send the credit again: Retry sending funds via provider API.
- Confirm it arrived: Settle transaction as delivered without sending new funds.
- Cancel and return points: Cancel transaction and credit points back to the player.
- Result: Resolves the lock on the player's account so they can resume depositing, withdrawing, or claiming promotions.
3. Delete Package Confirmation Dialog
- When it opens: When choosing Delete from the action menu on a closed package.
- What you see: Confirmation prompt explaining the item will leave the shop while past exchanges remain intact.
- What to do: Confirm deletion by clicking the red Delete button.
- Result: Moves package to the Deleted list.
4. Version Conflict Dialog
- When it opens: When saving a package or daily cap that has been updated by another administrator in the interim.
- What you see: Alert stating that screen data is outdated.
- What to do: Click Load latest to fetch the latest changes, then re-apply your edits.
- Result: Prevents concurrent edit overwrites.
9. Statuses and badges
1. Credit Package Statuses (Credit Items Tab)
| Status Badge | Color | Meaning | Next Action |
|---|---|---|---|
| Open | Green | Package is active and visible in the lobby shop. | Normal operational state. |
| Closed | Gray | Package is hidden from the lobby shop. | Toggle switch to open when ready. |
| Deleted | Gray | Package was permanently removed from the active catalog. | Archived record; cannot be reopened. |
2. Credit Delivery Statuses (Report & History Tab)
| Status Badge | Color | Meaning | Next Action |
|---|---|---|---|
| In the wallet | Green | Credit successfully deposited into player wallet and confirmed. | Transaction complete. |
| On its way | Blue | System is currently transmitting credit to provider API. | Awaiting automated confirmation. |
| Waiting for a check | Yellow | Provider did not confirm delivery; player wallet actions temporarily frozen. | Admin must click Check to resolve. |
| Cancelled | Gray | Transaction cancelled and points refunded to player. | Terminal cancelled state. |
3. Turnover Cycle Statuses
| Status Badge | Color | Meaning | Next Action |
|---|---|---|---|
| Owed | Yellow | Player has not reached required turnover target; withdrawals locked. | Player must continue playing. |
| Met | Green | Player satisfied turnover requirement; withdrawals unlocked. | Player can withdraw funds freely. |
| Closed | Gray | Credit exhausted or replaced by a newer promotion cycle. | Cycle terminated. |
| None | Blue | Package has no turnover requirement; funds withdrawable immediately. | Immediate cash withdrawal permitted. |
10. Frequently asked questions / Troubleshooting
- Why does the system show "Another item already offers this credit amount"?
- System policy strictly requires credit amounts to be unique across all packages. If you want to modify point costs or turnover rules for that credit tier, locate and edit the existing package rather than creating a duplicate.
- Why can't I click Delete on a package?
- Packages that are currently active (Open) cannot be deleted directly. Switch the status toggle to Closed first, then select Delete.
- Why is "Send the credit again" disabled in the review dialog?
- Re-sending credit is blocked in two specific scenarios:
- The player is currently enrolled in another active promotion, which prevents stacking new promotional credit on top.
- The turnover round associated with this transaction was already closed.
- Solution: Verify the provider balance. If the balance arrived, click Confirm it arrived. If not, click Cancel and return points.
- Re-sending credit is blocked in two specific scenarios:
- What happens if I set turnover multiplier to 0?
- The system displays a yellow warning. When turnover is 0, the exchanged credit functions as pure cash with zero wagering requirements, meaning the player can withdraw it immediately upon redemption.