> For the complete documentation index, see [llms.txt](https://docs.terragon.io/documents/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.terragon.io/documents/solutions/payments-management.md).

# Payments Management

## 1. Deposit

Deposits in crypto is quite seamless in a sense that players just need to deposit to a designated address and the system proceed approval automatically

<figure><img src="/files/MrNTIjoB5IjbesWwfK6H" alt=""><figcaption></figcaption></figure>

In the Backoffice, the deposit feature enables operators to efficiently manage player deposit requests, including actions such as approving or declining these requests. This feature will be detailed further below.

### 1.1 Deposit List

<figure><img src="/files/XwEaGawkKpVLenVGOuVL" alt=""><figcaption></figcaption></figure>

**Summary:**

<table><thead><tr><th width="239">Field</th><th>Description</th></tr></thead><tbody><tr><td>Pending</td><td>Displays the number of deposit requests whose status is pending<br>Click to filter pending deposits</td></tr><tr><td>Canceled</td><td>Displays the number of deposit requests whose status is canceled<br>Click to filter canceled deposits</td></tr><tr><td>Approved</td><td>Displays the number of deposit requests whose status is approved during the month <br>Click to filter approved deposits</td></tr><tr><td>Declined</td><td>Displays the number of deposit requests whose status is declined during the month<br>Click to filter declined deposits</td></tr></tbody></table>

**Filter:**

<table><thead><tr><th width="239">Field</th><th>Description</th></tr></thead><tbody><tr><td>Deposit ID</td><td>Search deposit by id</td></tr><tr><td>Select Deposit Time</td><td>Search deposit in a time frame</td></tr><tr><td>Player UserName Or Player ID</td><td>Search deposit by player username or player ID. Be able to search exactly or similarly</td></tr><tr><td>Player Status</td><td>Search deposit by player status. Valid values: Inactive, Active, Excluded, Banned </td></tr><tr><td>Select Payment option</td><td>Search deposit by deposit method</td></tr><tr><td>Select Deposit Status</td><td>Search deposit by deposit status. Valid values: Declined, Pending (all new requests), Approved, Canceled, Failed<br>Can select multiple deposit statuses at the same time</td></tr><tr><td>Reference ID</td><td>Search deposit by reference ID</td></tr><tr><td>Vip level</td><td>Search deposit by a vip level of player</td></tr><tr><td>UUID</td><td>Search deposit by an UUID</td></tr><tr><td>Search</td><td>Click to search by filter</td></tr><tr><td>Reset</td><td>Click to return the filter to default</td></tr></tbody></table>

**Deposit list:**

<table><thead><tr><th width="240">Field</th><th>Description</th></tr></thead><tbody><tr><td>ID</td><td>ID of deposit</td></tr><tr><td>Player Username</td><td>Player username making the deposit</td></tr><tr><td>Amount</td><td>Desposit amount</td></tr><tr><td>Deposit Method</td><td>The currency in which the player deposits</td></tr><tr><td>Status</td><td>Status of deposit</td></tr><tr><td>Reference Id</td><td>Payment provider transaction ID</td></tr><tr><td>Created At</td><td>Time when created deposit</td></tr><tr><td>Processed At</td><td>Time to carry out the next deposit process</td></tr><tr><td>Platform</td><td>Where players signed up from<a data-mention href="/pages/xppbek6ixV1Mmgzb95q5">/pages/xppbek6ixV1Mmgzb95q5</a></td></tr><tr><td>Player Vip</td><td>Player's vip level</td></tr><tr><td>Player status</td><td>Player's status</td></tr><tr><td>Created By</td><td>Username creating deposit</td></tr><tr><td>Processed By</td><td>Username executing the deposit process</td></tr><tr><td>Deposit Type</td><td>Method of making deposit</td></tr><tr><td>Payment Provider</td><td>Name of payment provider</td></tr><tr><td>Transaction UUID</td><td>The system's transaction code is generated</td></tr><tr><td>Action</td><td>Click to view and proceed with deposit</td></tr><tr><td>Total</td><td>Deposit amount of each currency according to the deposit list</td></tr></tbody></table>

**Action:**

* Export: export the list in the result table. Only admin users granted this permission can use the function

### 1.2 Deposit detail

<figure><img src="/files/HhGb2TYhf5cstltf31tQ" alt=""><figcaption><p>Deposit details screen</p></figcaption></figure>

**Deposit detail:**

<table><thead><tr><th width="240">Field</th><th>Description</th></tr></thead><tbody><tr><td>Player Username</td><td>Player username making the deposit</td></tr><tr><td>Deposit Amount</td><td>Desposit amount</td></tr><tr><td>Status</td><td>Status of deposit</td></tr><tr><td>Payment Option Name</td><td>Name of payment</td></tr><tr><td>Payment Option Type</td><td>Type of payment</td></tr><tr><td>Reference Id</td><td>Payment provider transaction ID</td></tr><tr><td>Created At</td><td>Time when creating deposit</td></tr><tr><td>Processed At</td><td>Time to carry out the next deposit process</td></tr><tr><td>Player Vip</td><td>Player's vip level</td></tr><tr><td>Player status</td><td>Player's status</td></tr><tr><td>Created By</td><td>Username creating deposit</td></tr><tr><td>Processed By</td><td>Username executing the deposit process</td></tr><tr><td>Payment Provider</td><td>Name of payment provider</td></tr><tr><td>Transaction UUID</td><td>The system's transaction code is generated</td></tr><tr><td>Deposit Type</td><td>Method of making deposit</td></tr><tr><td>Note</td><td>Deposit notes</td></tr><tr><td>Close</td><td>Click to close the deposit detail</td></tr><tr><td>Decline</td><td>Click to decline deposit</td></tr><tr><td>Approve</td><td>Click to approve deposit</td></tr></tbody></table>

Note: The decline and approval buttons are only displayed in the deposit detail when the deposit status is pending.

## 2. Withdrawal

<figure><img src="/files/95ljejV0HKaDtT4tIuC4" alt=""><figcaption></figcaption></figure>

Similar to deposits, for crypto withdrawals players just need to input their wallet address, and the system will also process automatically with integrated payment gateways.

We can also utilize the withdrawal feature in the Backoffice to manage player withdrawal requests, including actions such as manually processing or declining these requests

### 2.1 Withdrawal List

<figure><img src="/files/ELKFpuxqUBDbaXW8WwuP" alt=""><figcaption></figcaption></figure>

**Summary:**

<table><thead><tr><th width="239">Field</th><th>Description</th></tr></thead><tbody><tr><td>Pending</td><td>Displays the number of withdrawal requests whose status is pending<br>Click to filter pending withdrawals</td></tr><tr><td>Payment Processing</td><td>Displays the number of withdrawal requests whose status is payment processing<br>Click to filter canceled withdrawals</td></tr><tr><td>Declined</td><td>Displays the number of withdrawal requests whose status is declined during the month<br>Click to filter declined withdrawals</td></tr><tr><td>Paid</td><td>Displays the number of withdrawal requests whose status is paid during the month <br>Click to filter paid withdrawals</td></tr></tbody></table>

**Filter:**

<table><thead><tr><th width="239">Field</th><th>Description</th></tr></thead><tbody><tr><td>Withdrawal ID</td><td>Search withdrawal by id</td></tr><tr><td>Select Requested Time</td><td>Search withdrawal in a time frame</td></tr><tr><td>Player UserName Or Player ID</td><td>Search withdrawal by player username or player ID. Be able to search exactly or similarly</td></tr><tr><td>Player Status</td><td>Search withdrawal by player status. Valid values: Inactive, Active, Excluded, Banned </td></tr><tr><td>Select Withdraw Status</td><td>Search withdrawal by withdrawal status. Valid values: Declined, Pending (all new requests), Paid, Payment Processing, Canceled By System<br>Can select multiple withdrawal statuses at the same time</td></tr><tr><td>Choose Payout Type</td><td>Search withdrawal by payout type. Valid values: Manual, Payment Gateway</td></tr><tr><td>Vip level</td><td>Search withdrawal by a vip level of player</td></tr><tr><td>Payment Processing Status</td><td>Search withdrawal by payment processing status. Valid values: Failed, Pending</td></tr><tr><td>UUID</td><td>Search withdrawal by an UUID</td></tr><tr><td>Search</td><td>Click to search by filter</td></tr><tr><td>Reset</td><td>Click to return the filter to default</td></tr></tbody></table>

**Withdrawal List:**

<table><thead><tr><th width="240">Field</th><th>Description</th></tr></thead><tbody><tr><td>ID</td><td>ID of withdrawal</td></tr><tr><td>Player ID</td><td>ID of player</td></tr><tr><td>Country Code</td><td>Country Code of player</td></tr><tr><td>Player Username</td><td>Player username making the withdrawal</td></tr><tr><td>Amount</td><td>Withdrawl amount</td></tr><tr><td>Withdraw Method</td><td>The currency in which the player deposits</td></tr><tr><td>Ref. ID</td><td>Payment provider transaction ID</td></tr><tr><td>Status</td><td>Status of withdrawal</td></tr><tr><td>Processed By</td><td>Username executing the withdrawal process</td></tr><tr><td>Player Vip</td><td>Player's vip level</td></tr><tr><td>Player status</td><td>Player's status</td></tr><tr><td>Created At</td><td>Time to create withdrawal</td></tr><tr><td>Processed At</td><td>Time to carry out the next withdrawal process</td></tr><tr><td>Platform</td><td>Where players signed up from<a data-mention href="/pages/xppbek6ixV1Mmgzb95q5">/pages/xppbek6ixV1Mmgzb95q5</a></td></tr><tr><td>Checkbox</td><td>Withdrawals with a status of Pending and Payment Processing will display the check box</td></tr></tbody></table>

&#x20;**Action:**

* Bulk Proceed Payout: Withdrawals will change the status from Pending to Payment Processing
* Bulk Decline: Withdrawals will change the status from Pending/Payment Processing to Declined
* Export: export the list in the result table. Only admin users granted this permission can use the function

### 2.2 Withdrawal Detail

<figure><img src="/files/O0FgcTnhXQZhSzwcPTls" alt=""><figcaption><p>Withdrawal with status is "Pending"</p></figcaption></figure>

<figure><img src="/files/o6oon9GOVhyB2XpOzZdU" alt=""><figcaption><p>Withdrawal with status is "Payment Processing"</p></figcaption></figure>

Withdrawal detail

<table><thead><tr><th width="240">Field</th><th>Description</th></tr></thead><tbody><tr><td>Player Username</td><td>Player username making the withdrawal</td></tr><tr><td>Withdrawal Amount</td><td>Withdrawal amount</td></tr><tr><td>Status</td><td>Status of withdrawal</td></tr><tr><td>Processed At</td><td>Time to carry out the next withdrawal process</td></tr><tr><td>Withdraw By</td><td>Withdrawal methoad</td></tr><tr><td>Network</td><td>Network</td></tr><tr><td>Address</td><td>Wallet address</td></tr><tr><td>Tag</td><td>Player's tag</td></tr><tr><td>Memo</td><td></td></tr><tr><td>Payment Gateways</td><td><p><img src="/files/AWDM1OHib5iJp0z17Es9" alt=""></p><p>Select Payment Gateways, the fields will be displayed</p><ul><li>Payment Gateways: Payment gateway of choice</li><li>Method: Payment gateway method</li></ul></td></tr><tr><td>Manual payout</td><td><p><img src="/files/IlZM1v2oxqDRCMPe5bnc" alt=""></p><p>Selecting Manual payout will display the following fields:</p><ul><li>Upload Bank Slip: upload images of the bank transfer slip</li><li>Payment Option: Select the manual payment method</li><li>Note: Notes about payment</li></ul></td></tr><tr><td>Confirm payout</td><td>Confirm player payout</td></tr><tr><td>Notes</td><td>Notes</td></tr><tr><td>Button</td><td><ul><li>Withdrawal has a status of Pending which will display the Decline and Proceed payout buttons</li><li>Withdrawal has a status of Payment Processing which will display the Decline buttons</li></ul></td></tr></tbody></table>

## 3. Manual Deposit

The feature allows the operator to create a deposit request for a player

<figure><img src="/files/3QZLQR27nnsilxBIAwtT" alt=""><figcaption><p>Create a manual deposit request</p></figcaption></figure>

**Detail:**&#x20;

<table><thead><tr><th width="221">Field</th><th>Description</th></tr></thead><tbody><tr><td>Player UserName</td><td>Player Username is deposited automatically</td></tr><tr><td>Currency</td><td>Select the currency you want to deposit</td></tr><tr><td>Payment Option</td><td>Select a payment method</td></tr><tr><td>Amount</td><td>Deposit amount</td></tr><tr><td>Submit</td><td>Submit manual deposit request information</td></tr></tbody></table>

## 4. Manual Withdrawal

The feature allows the operator to create a withdrawal request for a player

<figure><img src="/files/92pOAS7ZSsRbzbGUwgQf" alt=""><figcaption><p>Muanual Withdrawal when player wallet is fiat currency</p></figcaption></figure>

<figure><img src="/files/xet7sqOcUqGkb1jm5xOz" alt=""><figcaption><p>Muanual Withdrawal when player wallet is crypto currency</p></figcaption></figure>

**Detail:**

<table><thead><tr><th width="221">Field</th><th>Description</th></tr></thead><tbody><tr><td>Player UserName</td><td>Player Username is withdrawaled automatically</td></tr><tr><td>Player Wallet</td><td>Select player wallet to withdraw</td></tr><tr><td>Main balance</td><td>The balance is in the main wallet</td></tr><tr><td>Withdraw By</td><td>Withdraw method. Depending on the wallet the player chooses, fiat currency or cryptocurrency, there will be a corresponding method</td></tr><tr><td>Player Bank/Account</td><td>It is displayed when player's wallet is fiat currency. <br>Select player bank/account to withdraw</td></tr><tr><td>Blockchain Network</td><td><p>It is displayed when player's wallet is cryptocurrency. </p><p>Input Blockchain Network</p></td></tr><tr><td>Address</td><td>It is displayed when player's wallet is cryptocurrency. <br>Input wallet address</td></tr><tr><td>Amount</td><td>Withdrawal amount</td></tr><tr><td>Submit</td><td>Submit manual withdrawal request information</td></tr></tbody></table>

## 5. States of Deposit and Withdrawal

The following model describes how to change the deposit and withdrawal status

<figure><img src="/files/v708yjxmqC94ar2YM8rG" alt=""><figcaption><p>Sate Diagram of Deposit</p></figcaption></figure>

<figure><img src="/files/rXmjqnv5nGDUisFvT9dh" alt=""><figcaption><p>Sate Diagram of Withdrawal</p></figcaption></figure>

## 6. Payment Settings

### 6.1 Bank Account

The feature allows the creation of bank accounts for operators. A Bank account is used to set payment options when the type of payment option is local bank/kiosk/cash collection.

#### 6.1.1 Bank list

<figure><img src="/files/lfVTUZSPCdnoNcgUcqpm" alt=""><figcaption></figcaption></figure>

**Bank List:**

<table><thead><tr><th width="219">Field</th><th>Description</th></tr></thead><tbody><tr><td>ID</td><td>ID of bank account</td></tr><tr><td>Bank Name</td><td>Bank Name</td></tr><tr><td>Type</td><td>Bank account type. Valid values: Withdraw, Deposit</td></tr><tr><td>Bank Code</td><td>Bank code</td></tr><tr><td>Account Name</td><td>Account Name</td></tr><tr><td>Account Number</td><td>Account Number</td></tr><tr><td>Currency</td><td>Currency used</td></tr><tr><td>Status</td><td>Status of the account </td></tr><tr><td>Created At</td><td>Account creation time</td></tr><tr><td>Created By</td><td>Username that created the bank account</td></tr><tr><td>Updated At</td><td>Time to update bank account</td></tr><tr><td>Updated By</td><td>Username that updated the bank account</td></tr><tr><td>Action</td><td>Update bank account</td></tr></tbody></table>

**Action:**

* Search: Search information by entering the word
* Add new bank account: Go to the add new screen to create more bank accounts

#### 6.1.2 Add/Update bank account

<figure><img src="/files/PKWym1en21QGYYp6iBuZ" alt=""><figcaption></figcaption></figure>

Detail:&#x20;

<table><thead><tr><th width="222">Field</th><th>Description</th></tr></thead><tbody><tr><td>Bank Name</td><td>Input Bank Name</td></tr><tr><td>Bank Code</td><td>Input Bank Code</td></tr><tr><td>Account Name</td><td>Input account name</td></tr><tr><td>Account Number </td><td>Input account member</td></tr><tr><td>Branch Name </td><td>Input Branch Name</td></tr><tr><td>Currency</td><td>Select currency. Displays a list of currencies that match the bank account</td></tr><tr><td>Type</td><td>Select ccount type. Valid values: Withdraw, Deposit</td></tr><tr><td>Status</td><td>Turn on the toggle to active account and vice versa</td></tr><tr><td>submit</td><td>Submit bank account information to create</td></tr></tbody></table>

\*Note: Update bank account is similar to Add bank account

### 6.2 Withdrawal Banks

The operator creates withdrawal banks so players can choose a bank when withdrawing.

#### 6.2.1 Withdraw Bank list

<figure><img src="/files/cUtVssE4LOrltV7uxhYN" alt=""><figcaption></figcaption></figure>

Detail:&#x20;

<table><thead><tr><th width="219">Field</th><th>Description</th></tr></thead><tbody><tr><td>ID</td><td>ID of bank</td></tr><tr><td>Bank Name</td><td>Bank Name</td></tr><tr><td>Bank Code</td><td>Bank code</td></tr><tr><td>Currency</td><td>Currency used</td></tr><tr><td>Status</td><td>Status of the bank </td></tr><tr><td>Type</td><td>Bank type</td></tr><tr><td>Created At</td><td>Time when adding new banks</td></tr><tr><td>Updated At</td><td>Time to update bank </td></tr><tr><td>Action</td><td>Update bank </td></tr></tbody></table>

**Action:**

* Search: Search information by entering the word
* Add new bank: Go to the add new screen to create a withdrawal bank&#x20;

#### 6.2.2 Add/Update Withdrawal Bank

<figure><img src="/files/IXTV7pdDcQinVcgkbhG1" alt=""><figcaption></figcaption></figure>

Detail:&#x20;

<table><thead><tr><th width="222">Field</th><th>Description</th></tr></thead><tbody><tr><td>Bank Name</td><td>Input Bank Name</td></tr><tr><td>Bank Code</td><td>Input Bank Code</td></tr><tr><td>Currency</td><td>Select currency. Displays a list of available currencies</td></tr><tr><td>Bank Type</td><td>Select bank type. When selecting currency, the corresponding bank type will be displayed</td></tr><tr><td>Blockchain Networks</td><td>If Bank Type is Crypto, the Blockchain Networks field will be displayed <br>Select Blockchain Networks. Displays a list of blockchain Networks corresponding to currency</td></tr><tr><td>Status</td><td> Turn on the toggle to active bank and vice versa</td></tr><tr><td>submit</td><td> Submit withdrawal bank information to create</td></tr></tbody></table>

\*Note: Update withdrawal bank is similar to Add new withdrawal bank

### 6.3 Payment Providers

The function allows operators to manage and set payment providers

#### 6.3.1 Payment provider list

<figure><img src="/files/773Tmr8AWbVfrkGoscjy" alt=""><figcaption></figcaption></figure>

Detail:

<table><thead><tr><th width="230">Field</th><th>Description</th></tr></thead><tbody><tr><td>ID</td><td>ID of payment provider</td></tr><tr><td>Payment Provider Name</td><td>Name of payment provider</td></tr><tr><td>Payment Provider Code</td><td>Code of payment provider</td></tr><tr><td>Payment Type</td><td>Type of payment</td></tr><tr><td>Supported Currencies</td><td>Supported currencies supported by the provider</td></tr><tr><td>Status</td><td>Status of Payment Provider</td></tr><tr><td>Created At</td><td>Time when creating payment provider</td></tr><tr><td>Updated At</td><td>Time when updating payment provider</td></tr><tr><td>Action</td><td>Update payment provider</td></tr></tbody></table>

**Action:**

* Search: Search information by entering the word
* Add new payment provider: Go to the add new screen to create a payment provider

#### 6.3.2 Add/Update Payment Provider

<figure><img src="/files/BHt2dc1OSX1V9NF88gLw" alt=""><figcaption></figcaption></figure>

Detail:

<table><thead><tr><th width="243">Field</th><th>Description</th></tr></thead><tbody><tr><td>Payment provider name</td><td>Enter payment provider nam</td></tr><tr><td>Payment provider</td><td> Select payment provider. List of providers that have services</td></tr><tr><td>Payment type</td><td>Select payment typer. Valid values: Withdraw, Deposit</td></tr><tr><td>Parameters</td><td>Parameters to connect to the payment provider</td></tr><tr><td>Supported Fiat Currencies</td><td>Select the fiat currencies that the payment provider supports</td></tr><tr><td>Supported Crypto Currencies</td><td>Select the crypto currencies that the payment provider supports</td></tr><tr><td>Status</td><td>Turn on the toggle to active payment provider and vice versa</td></tr><tr><td>Sunbmit</td><td>Submit payment provider information to create</td></tr></tbody></table>

\*Note: Update payment provider is similar to Add new payment provider

### 6.4 Payment Options

The feature allows operators to manage and set payment options.  Payment options are used to control the deposit methods that users can use to pay.

#### 6.4.1 Payment Options List

<figure><img src="/files/YoCB7tXtO88gLTang7ZK" alt=""><figcaption><p>Screen of payment option list</p></figcaption></figure>

**Filter:**

<table><thead><tr><th width="241">Field</th><th>Description</th></tr></thead><tbody><tr><td>Payment Option Name</td><td>Search payment options by payment option name. Be able to search exactly or similarly</td></tr><tr><td>Payment Provider</td><td>Search payment options by payment provider. Displays a list of established payment providers</td></tr><tr><td>Currency</td><td>Search payment options by currency. Displays a list of available currencies</td></tr><tr><td>Search</td><td>Click to search by filter</td></tr><tr><td>Reset</td><td>Click to return the filter to default</td></tr></tbody></table>

**Payment Option List:**

<table><thead><tr><th width="245">Field</th><th>Description </th></tr></thead><tbody><tr><td>ID</td><td>ID of payment option</td></tr><tr><td>Payment option name</td><td>Name of payment option</td></tr><tr><td>Payment option type</td><td>Type of payment option</td></tr><tr><td>Payment provider name</td><td>Name of payment provider</td></tr><tr><td>Deposit bank name</td><td>Name of deposit bank</td></tr><tr><td>Currency</td><td>Currency of payment option</td></tr><tr><td>Status</td><td>Status of payment option</td></tr><tr><td>Created At</td><td>Time when creating payment option</td></tr><tr><td>Update At</td><td>Time when updating payment option</td></tr><tr><td>CMS Code</td><td>Code to connect with CMS</td></tr><tr><td>Action</td><td>Update payment option</td></tr></tbody></table>

**Action:**

* Search: Search information by entering the word
* Add new payment option: Go to the add new screen to create a payment option

#### 6.4.2. Add/Update Payment Option

<figure><img src="/files/PLMo6VOQBL7KDrqIn8bL" alt=""><figcaption></figcaption></figure>

**Detail**:&#x20;

<table><thead><tr><th width="235">Field</th><th>Description</th></tr></thead><tbody><tr><td>Currency</td><td>Select the currency. Displays a list of available currencies</td></tr><tr><td>Payment option type</td><td>Select payment option type. Depending on the currency, the corresponding list will be displayed<br>- Cryptocurrency: payment provider<br>- Fiat money: Local bank/kiosk/cash collection/payment provider</td></tr><tr><td>Local deposit bank</td><td>Displayed when selecting currency as fiat currency. <br>Select a local deposit bank. Displays list corresponding to the payment option type</td></tr><tr><td>Payment Provider</td><td>Displayed when selecting currency is crypto currency. Select payment provider. Displays the list of payment providers supporting currency</td></tr><tr><td>Blockchain networks</td><td><p>Displayed when selecting currency is crypto currency. </p><p>Select Blockchain Network. </p></td></tr><tr><td>Payment option name</td><td>Name of payment option</td></tr><tr><td>Min amount</td><td>Min amount can make transactions</td></tr><tr><td>Max amount</td><td>Max amout can make transactions</td></tr><tr><td>Status</td><td>Turn on the toggle to active payment option and vice versa</td></tr><tr><td>Display on Front End</td><td>Turn on the toggle display on Front End and vice versa</td></tr><tr><td>Submit</td><td>Submit payment option information to create</td></tr></tbody></table>

\*Note: Update payment option is similar to Add payment option
