Deposit via Bank Transfer
The operation of the Bank Transfer deposit method in the BankoPay system is as follows:
- The customer enters the BankoPay Bank Transfer deposit form on the betting site.
- Clicks the "Start Process" button and is redirected to the following link:
https://bankopay.co/deposit/bank-transfer?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
- The remaining part of the transaction is completed on the BankoPay site.
- All GET parameters that can be used in this method are specified in the table below.
GET parameters:
| Parameter |
Requirement |
Description |
| site_id |
required |
Provided specifically to the site by BankoPay. |
| username |
required |
Customer's username. |
| user_id |
required |
Customer's ID. |
| fullname |
required |
Customer's full name (First name Middle name Last name) |
| amount |
required |
Deposit amount.
25000.00 or 25000, represents 25 thousand TL
|
| trx |
required |
Transaction ID in the Merchant system. |
| return_url |
required |
Current URL of the Merchant site. |
Withdraw via Bank Transfer
The information provided by the customer should be transmitted to us using the BankoPay API service...
The operation of the Bank Transfer withdrawal method in the BankoPay system is as follows:
- The customer enters the Bank Transfer withdrawal form on the Merchant site.
- From this field, the withdrawal form is filled out;
Information required in the withdrawal form:
- Bank (should be added with select. Please check)
- IBAN
- Amount
- Turkish ID number
- Date of birth
In addition to the form information, the following information should also be sent during the callback:
- Merchant site_id
- Merchant site_key
- User ID
- Username
- Full name of the user
- After the withdrawal request is checked from the management panel of the Merchant site, the information is posted to the BankoPay /withdraw/bank-transfer API service when the transaction is marked as "Valid".
- Based on the code parameter in the response, if;
- code == 200, the customer's request has reached us. (The status of the withdrawal request should be changed to "Pending" in the service provider's system.)
- code != 200, the withdrawal request is not accepted and should be directly rejected in the service provider's system. The reason for rejection should be written in the message in the response.
Service: /api/withdraw/bank-transfer
POST: https://bankopay.co/api/withdraw/bank-transfer
Request content:
| Parameter |
Requirement |
Type |
Description |
| site_id |
required |
integer |
Provided specifically to the site by BankoPay. |
| site_key |
required |
string |
Provided specifically to the site by BankoPay. |
| user_id |
required |
string |
Customer's ID. |
| username |
required |
string |
Customer's username. |
| trx |
required |
string |
Transaction ID in the Merchant system. |
| fullname |
required |
string |
Customer's full name. |
| amount |
required |
string |
Withdrawal amount.
25000.00 or 25000, represents 25 thousand TL
|
| account_number |
required |
string |
IBAN. |
| provider_id |
required |
integer |
ID of the bank to be withdrawn from. Please check. |
| identity |
required |
string |
Turkish ID number. |
| birth_date |
required |
string |
Date of birth. |
Response content:
Example:
POST: https://bankopay.co/api/withdraw/bank-transfer
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"user_id": "1254137",
"username": "demo123",
"trx": "456454646",
"fullname": "Ahmet Demir",
"amount": 250.00,
"account_number": "TR123445678945613245645",
"identity": "12345678910",
"birth_date": "16.09.1990",
"provider_id": 1
}
Response (For successful transaction)
{
"message": "Withdrawal request created",
"code": 200,
"type": "success",
"data": {
"site_id": 1,
"user_id": "1254137",
"username": "demo123",
"trx": "456454646",
"fullname": "Ahmet Demir",
"amount": 250,
"account_number": "TR123445678945613245645",
"identity": "12345678910",
"birth_date": "16.09.1990",
"provider_id": 1,
"callback_data": "{\"site_id\":1,\"site_key\":\"abc\",\"user_id\":\"1254137\",\"username\":\"demo123\",\"trx\":\"456454646\",\"fullname\":\"Ahmet Demir\",\"amount\":250,\"account_number\":\"TR123445678945613245645\",\"identity\":\"12345678910\",\"birth_date\":\"16.09.1990\",\"provider_id\":1}",
"updated_at": "17.02.2024 00:28:46",
"created_at": "17.02.2024 00:28:46",
"id": 2
}
}
Response (For an erroneous transaction)
{
"code": 20014,
"message": "API credentials are incorrect!",
"type": "error"
}
Note: If the code is not 200, the withdrawal request should not be accepted, and the reason for rejection should be recorded in the panel as a message.
Service: /api/bank-list/
POST: https://bankopay.co/api/bank-list/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU"
}
Response (For a successful transaction)
{
"message": "Bank List",
"code": 200,
"type": "success",
"data": [
{
"provider_name": "Test - Garanti Bank",
"id": "1"
},
{
"provider_name": "Test - İş Bank",
"id": "2"
}
]
}
Response (For an erroneous transaction)
{
"code": 20014,
"message": "API credentials are incorrect!",
"type": "error"
}
Response Codes
Response information:
| Code |
Message |
| 200 |
Withdrawal request created! |
| 20014 |
API credentials are incorrect! |
Callback Service: info
Request content:
| Parameter |
Requirement |
Type |
Description |
| site_id |
required |
integer |
Provided uniquely for the site by BankoPay. |
| site_key |
required |
string |
Provided uniquely for the site by BankoPay. |
| service |
required |
string |
Type of the transaction: "info", deposit", "withdraw" |
| user_id |
required |
string |
Customer's ID. |
| username |
required |
string |
Customer's username. |
| data |
optional |
string |
If you sent this parameter when redirecting the customer to the BankoPay page at the beginning of the investment process, we will return the data inside this parameter to you when we make a callback to this service. |
| trx |
required |
string |
If you sent this parameter when redirecting the customer to the BankoPay page at the beginning of the investment process, we will return the data inside this parameter to you when we make a callback to this service. |
| hash |
required |
string |
What you need to calculate "hash"
site_id|user_id|trx|site_key you can create the hash using this variable combination.
We are using BCRYPT for hashing. https://github.com/pyca/bcrypt
|
Response content:
| Parameter |
Type |
Description |
| code |
integer |
Status code. |
| message |
string |
Status message. |
Example:
POST: https://yourdomain.com/api/BankoPay/info/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"service": "info",
"user_id": "44843155",
"username": "demo123",
"trx": "9164088",
"hash": "$2a$12$gnZ3y0PcBIrKlk7lLCOZK.V5nnggrA2Vg2pyUMlpE24m3QAU30rmS"
}
Response (For successful transaction)
{
"code": 200,
"message": "Investment can be made!"
}
Response (For failed transaction)
{
"code": 999,
"message": "ERROR MESSAGE"
}
Note: We proceed with the process only when code: 200. If the code is not 200, we terminate the process.
Callback Service: deposit
Request content:
| Parameter |
Requirement |
Type |
Description |
| site_id |
required |
integer |
Provided uniquely for the site by BankoPay. |
| site_key |
required |
string |
Provided uniquely for the site by BankoPay. |
| service |
required |
string |
Type of the transaction: "info", deposit", "withdraw" |
| method |
required |
string |
Sent as “BankTransfer”, “Papara”, “Parazula”, “Popypara”, “mefete”, “PayCo” olarak gönderilir. |
| user_id |
required |
string |
Customer's ID. |
| username |
required |
string |
Customer's username. |
| amount |
required |
string |
Amount to be added to the customer's balance. |
| currency |
required |
string |
Sent as "TRY". |
| transaction_id |
required |
string |
ID of the transaction in our system. |
| status |
required |
string |
Status sent as "approved" or "reject" depending on the transaction result.
-
"approved" : successfully completed
-
"reject" : failed
|
| trx |
required |
string |
If you sent this parameter when redirecting the customer to the BankoPay page at the beginning of the investment process, we will return the data inside this parameter to you when we make a callback to this service. |
| hash |
required |
string |
What you need to calculate "hash"
site_id|user_id|trx|site_key you can create the hash using this variable combination.
We are using BCRYPT for hashing. https://github.com/pyca/bcrypt
|
Response content:
| Parameter |
Type |
Description |
| code |
integer |
Status code. |
| message |
string |
Status message. |
Example:
POST: https://yourdomain.com/api/BankoPay/deposit/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"service": "deposit",
"method": "BankTransfer",
"user_id": "44843155",
"username": "demo123",
"amount": "200.00",
"currency": "TRY",
"transaction_id": "MD10001",
"status": "approved",
"trx": "9164088",
"hash": "$2a$12$gnZ3y0PcBIrKlk7lLCOZK.V5nnggrA2Vg2pyUMlpE24m3QAU30rmS"
}
Response (For successful transaction)
{
"code": 200,
"message": "Balance added to the account!"
}
Response (For failed transaction)
{
"code": 999,
"message": "ERROR MESSAGE"
}
Note: We proceed with the process only when code: 200. If the code is not 200, we terminate the process.
Callback Service: withdraw
Request content:
| Parameter |
Requirement |
Type |
Description |
| site_id |
required |
integer |
Provided uniquely for the site by BankoPay. |
| site_key |
required |
string |
Provided uniquely for the site by BankoPay. |
| service |
required |
string |
Type of the transaction: "info", deposit", "withdraw" |
| method |
required |
string |
Sent as “BankTransfer”, “Papara”, “Parazula”, “Popypara”, “mefete”, “PayCo” olarak gönderilir. |
| user_id |
required |
string |
Customer's ID. |
| username |
required |
string |
Customer's username. |
| amount |
required |
string |
Withdrawal amount.
25000.00 or 25000, represents 25 thousand TL
|
| currency |
required |
string |
Sent as "TRY". |
| transaction_id |
required |
string |
ID of the transaction in our system. |
| trx |
required |
string |
ID of the withdrawal transaction in the Merchant system. |
| status |
required |
string |
Status sent as "approved" or "reject" depending on the transaction result.
-
"approved" : successfully completed
-
"reject" : failed
|
| message |
required |
string |
Note regarding the result of the withdrawal transaction. In case of C, it says Completed, In case of R, it states the reason for rejection. |
| hash |
required |
string |
What you need to calculate "hash"
site_id|user_id|trx|site_key you can create the hash using this variable combination.
We are using BCRYPT for hashing. https://github.com/pyca/bcrypt
|
Response content:
| Parameter |
Type |
Description |
| code |
integer |
Status code. |
| message |
string |
Status message. |
Example:
POST: https://yourdomain.com/api/BankoPay/withdraw/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"service": "withdraw",
"method": "BankTransfer",
"user_id": "44843155",
"username": "demo123",
"amount": "200.00",
"currency": "TRY",
"transaction_id": "MW10001",
"trx": "451474562",
"status": "approved",
"message": "Completed!",
"hash": "$2a$12$gnZ3y0PcBIrKlk7lLCOZK.V5nnggrA2Vg2pyUMlpE24m3QAU30rmS"
}
Response (For successful transaction)
{
"code": 200,
"message": "Balance added to the account!"
}
Response (For failed transaction)
{
"code": 999,
"message": "ERROR MESSAGE"
}
Note: We proceed with the process only when code: 200. If the code is not 200, we terminate the process.