Jinlipay P2P
1. What is this page for?
The Jinlipay P2P page is used to configure your Jinlipay P2P automated peer-to-peer payment integration, toggle deposit and withdrawal directions on or off, monitor your spendable Jinli balance in real time, inspect closing snapshots, reconcile Jinli orders against your website records, configure withdrawal shortfall handling, and launch the built-in Callback Tester. It is designed for finance staff and website administrators.
2. Before you start
- Required permissions: You must be granted the 'Jinlipay P2P' (or 'Bank Account') permission, along with the 'Deposit shortcut' and 'Withdrawal shortcut' permissions in system roles to view, edit credentials, and toggle direction switches.
- Things to prepare:
- The 6 credential values provided by Jinlipay: Base URL, X-API-KEY, Deposit Key, Deposit Secret, Withdraw Key, and Withdraw Secret.
- Configure your API key under Payment services > EasySlip so EasySlip Backup is active as an automatic fallback verifier.
- Verify under Payment setup > Transaction Rules that both deposit and withdrawal rules have minimum limits of at least 50 THB and maximum limits of at most 1,000,000 THB (with unlimited switches turned off) so the limit compliance badge turns green.
3. Screen layout
When opening Payment services > Jinlipay P2P, you will see the following components from top to bottom:
- Page Header: Displays the title Jinlipay P2P — ตั้งค่าระบบ, a New badge, an access description, and the Callback Tester button in the top-right corner.
- Jinlipay P2P Integration Card (Hero Card):
- The Jinli Pay logo and integration title.
- Status badge for EasySlip Backup: Active (blue) or EasySlip Backup: Inactive (yellow).
- Status badge for Limits Compliant (50 - 1,000,000 ฿) (green) or Limits Incompatible (50 - 1,000,000 ฿) (yellow).
- Direction controls: toggle switches for Deposit and Withdraw, plus a status refresh button.
- Limit Restriction Warning Banner (shown when limits do not comply): A yellow box explaining the 50 - 1,000,000 THB requirement with a shortcut button to Configure in Transaction Rules.
- Jinli Credit Panel:
- Spendable Jinli balance: Large live balance figure with an agent wallet operational status badge.
- Wallet fund breakdown: Locked for withdrawal, withdrawal in progress, total funds, pending withdrawal count, and observation timestamp.
- Closing spendable balance: Balance recorded at the most recent cutoff window, along with cutoff timestamp and pending count.
- Previous closing snapshots (collapsible): Date/time filter, 10-column snapshot table, and pagination controls.
- Compare Jinli orders with our records (collapsible): Deposit/withdraw switcher, date range picker, search bar, 8-column reconciliation table, and pagination controls.
- Jinlipay Account Card: Form containing the 6 credential fields with password visibility eye buttons and the Check Credentials button.
- Withdrawal Settings Card: Form containing the Hold withdraw shortfall for review switch.
- Bottom Action Bar: Sticky bottom bar with Cancel and Save buttons.
- Callback Tester Sub-page: Accessed via the top-right button, used to simulate deposit/withdraw requests and monitor live inbound callbacks.
4. Search and filters
Filters in "Previous closing snapshots"
- Date and time range (Cutoff time): Select start date/time and end date/time to filter snapshots across cutoff windows.
- Reset button: Click to clear the date filter and return to all historical snapshots.
Filters in "Compare Jinli orders with our records"
- Direction switcher: Click Deposit or Withdraw to filter orders by transaction type.
- Refresh button: Click to reload the latest reconciliation data from Jinlipay.
- Date range picker: Select the start and end dates.
- Search input: Type a local CMS transaction number or Jinli reference ID (click the
Xicon inside the input to clear) and click Search. - Reset button: Click to clear the search query and restore the default 7-day date range.
Filters in "Callback Tester"
- Tab switcher: Toggle between Deposit and Withdraw test modes.
- Filter by reference: Toggle to view only callbacks matching the active reference ID.
- Type filter: Filter callbacks by All, Deposit, or Withdraw.
5. Data table
1. Previous closing snapshots table (collapsible)
| Column | What is shown | What it means | Badges or styling |
|---|---|---|---|
| Cutoff time | Date and time (2 lines) | The timestamp when the settlement cutoff occurred | Dark text |
| Observed time | Date and time (2 lines) | The timestamp when the CMS read the balance from Jinli | Dark text |
| Direction | Direction badge | The transaction direction recorded (Deposit or Withdraw) | Gray badge |
| Status | Status badge | Whether the closing snapshot was captured successfully | Green badge (Captured) or yellow badge (Unavailable) |
| Closing balance | Amount | Spendable Jinli credit remaining at cutoff time | Green text |
| Total funds | Amount | Total balance including locked amounts | Bold text |
| Locked withdrawals | Amount | Funds held for pending withdrawal matching | Gray text |
| Withdrawals in progress | Amount | Funds currently being transferred out | Gray text |
| Pending withdrawals | Number count | Number of unresolved withdrawal orders at cutoff | Number |
| Pending count at closing | Number count | Total pending reference count at cutoff | Number |
2. Compare Jinli orders with our records table (collapsible)
| Column | What is shown | What it means | Badges or styling |
|---|---|---|---|
| Date and time | Date and time (2 lines) | When the order completed or was observed | Dark text |
| Transaction number | Local transaction ID (DP... or WD...) | The corresponding transaction ID in your CMS | Monospace font (clickable) |
| Jinli reference | Jinli provider reference | The unique order ID generated by Jinlipay | Monospace font |
| Direction | Direction badge | The order direction (Deposit or Withdraw) | Gray badge |
| Jinli status | Provider status badge | The order status on Jinlipay's side | Gray badge |
| Local status | 2-line status text | Local order status and local transaction status | Plain text |
| Amounts | Breakdown figures | Deposit: Net, Gross, Scan fee Withdraw: Requested, Confirmed, Matching, Remaining | Formatted currency numbers |
| Comparison | Comparison outcome badge | Whether the Jinli status matches the local transaction status | Green badge (Matched) or yellow badge (Needs review) |
3. Inbound callback monitor table (Callback Tester)
| Column | What is shown | What it means | Badges or styling |
|---|---|---|---|
| Received at | Date and time | When confirmation was received by the system | Dark text |
| Reference | Jinli reference ID | The order reference linked to this callback | Monospace font |
| Type | Direction badge | Order type (Deposit or Withdraw) | Blue badge (Deposit) / Orange badge (Withdraw) |
| Status | Status string | Order status returned by Jinlipay | Green, yellow, or red badge |
| Source IP | IP Address | IP address of the sending server | Monospace font |
| Received Data | JSON code | The raw callback data received | Code block (with copy button) |
6. Step-by-step instructions
1. Configuring Jinlipay account credentials
- Navigate to Payment services > Jinlipay P2P.
- Scroll to the Jinlipay Account & API Credentials card and fill in all 6 fields:
- Base URL
- X-API-KEY
- Deposit Key and Deposit Secret
- Withdraw Key and Withdraw Secret
- Click the Check Credentials button inside the card.
- Wait for connectivity testing to pass. A green notification and a Verified badge will confirm the number of active bank codes.
- Scroll down to the bottom action bar and click Save.
2. Toggling Jinlipay P2P deposit and withdrawal directions
- In the top integration card, verify that EasySlip Backup and Limits Compliant badges both show green/active.
- Toggle the Deposit or Withdraw switch on the right side of the card.
- In the confirmation dialog, click Confirm.
- The system updates and saves the direction immediately without needing to click the bottom save button.
3. Configuring withdrawal shortfall handling
- Scroll to the Withdrawal Settings card.
- Adjust the Hold withdraw shortfall for review switch:
- Switch ON (yellow): If a withdrawal is partially matched, the remaining shortfall is routed to Finance > Deposit as a Return transaction (In Progress) for manual staff approval.
- Switch OFF (green): The system automatically refunds the shortfall back to the player's wallet (provided promotion rules allow it).
- Scroll down to the bottom action bar and click Save.
4. Monitoring Jinli credit and reconciling orders
- In the Jinli Credit panel, check your live Spendable Jinli balance and locked amounts.
- To inspect historical cutoffs, expand Previous closing snapshots, select a date range, and review the closing table.
- To audit order accuracy, expand Compare Jinli orders with our records, select Deposit or Withdraw, choose a date range, and search by transaction number.
- If any row displays a yellow Needs review badge, click the transaction ID to inspect the payment and resolve discrepancies manually.
5. Using the Callback Tester
- Click the Callback Tester button in the top-right corner of the page.
- Select either the Deposit or Withdraw test tab.
- Review simulated player credentials (name, account number, bank code, and test amount).
- Click the send request button to submit the test order to Jinlipay.
- In Deposit mode, after receiving a reference ID, test uploading a slip image via the dropzone.
- Scroll down to inspect live confirmation responses in the monitor table. Click the back arrow button to return to the main settings page.
7. Form fields and edit screens
Fields in the "Jinlipay Account & API Credentials" card
| Field | Required? | What to enter | Example | Constraints |
|---|---|---|---|---|
| Base URL | Required | Jinlipay gateway address (URL) | https://api.example.com | Valid URL, no trailing spaces |
| X-API-KEY | Required | Website API authentication key | live_api_key_xxx | Password field with eye toggle |
| Deposit Key | Required | Deposit API identifier | dep_key_xxx | Password field with eye toggle |
| Deposit Secret | Required | Deposit signature secret | dep_secret_xxx | Password field with eye toggle |
| Withdraw Key | Required | Withdrawal API identifier | with_key_xxx | Password field with eye toggle |
| Withdraw Secret | Required | Withdrawal signature secret | with_secret_xxx | Password field with eye toggle |
Fields in the "Withdrawal Settings" card
| Field | Required? | What to enter | Example | Constraints |
|---|---|---|---|---|
| Hold withdraw shortfall for review | Optional | Switch to hold or refund shortfalls | On / Off | On = Hold for review, Off = Auto-refund |
8. Popups and modal dialogs
1. Confirm Status Change Dialog
- When it opens: When toggling the Deposit or Withdraw switch on the top integration card.
- What is shown: Title Confirm Status Change, message asking whether you want to switch the selected direction to active or inactive, Cancel button, and Confirm button.
- What to do: Verify the direction and new status, then click Confirm (or click Cancel to abort).
- Result: The system transmits the status change immediately and shows a green snackbar notification.
2. Version Conflict Dialog
- When it opens: When saving settings or toggling statuses if another administrator modified the configuration simultaneously.
- What is shown: Warning indicating that your local data is out of date, and a Load latest button.
- What to do: Click Load latest to fetch the latest server state, then re-apply your changes.
- Result: Refreshes the page state with current server values.
9. Status badges and indicators
| Badge | Color | Meaning | What to do next |
|---|---|---|---|
| EasySlip Backup: Active | Blue | EasySlip API key configured and ready for automatic fallback verification | Normal operation |
| EasySlip Backup: Inactive | Yellow | EasySlip key not saved; fallback slip checking will be unavailable | Configure a key under EasySlip |
| Limits Compliant (50 - 1,000,000 ฿) | Green | Transaction rules meet Jinlipay P2P limit specifications | Ready to activate directions |
| Limits Incompatible (50 - 1,000,000 ฿) | Yellow | Transaction rules have min < 50, max > 1,000,000, or unlimited set | Click the button to adjust Transaction Rules |
| Normal (Agent wallet) | Green | Jinli credit wallet is active and processing normally | Monitor credit levels regularly |
| Partial stop / Stopping / Stopped | Yellow or Red | One or both directions paused, or wallet halted | Check issues or contact Jinlipay support |
| Matched (Comparison) | Green | Local CMS transaction status matches Jinlipay order status | No action needed |
| Needs review (Comparison) | Yellow | Status discrepancy detected between Jinlipay and local CMS | Click transaction ID to inspect details |
| Captured (Closing snapshot) | Green | Snapshot captured successfully at cutoff window | Available for historical reference |
| Hold for review (Shortfall switch) | Yellow | Shortfall amounts held for manual staff review | Check and approve in Finance > Deposit |
| Auto-refund (Shortfall switch) | Green | Shortfall amounts returned to player automatically | System handles refunds automatically |
10. Frequently asked questions / troubleshooting
- If you cannot turn on the "Deposit" or "Withdraw" switch:
- Verify that you entered all 6 fields under Jinlipay Account & API Credentials, clicked Check Credentials, and saved.
- Check the limit compliance badge at the top. If it shows yellow, navigate to Payment setup > Transaction Rules, disable unlimited maximums, and set minimum limits to at least
50THB and maximum limits to at most1,000,000THB.
- If a Jinlipay deposit arrives while the integration is paused:
- The payment will not be credited automatically. Instead, it is placed in Finance > Deposit (Waiting) with an alert banner so staff can verify and approve it manually.
- If the "Save" button is disabled:
- If you edited any API credential fields, you must click Check Credentials and wait for verification to pass before Save becomes clickable.
- If an order shows a yellow "Needs review" badge in reconciliation:
- Click the transaction ID to inspect the actual bank transfer status, then update or approve the transaction accordingly in your CMS.