Payment API Document v1 # Last Update: 26 November 2024

Betting companies using or planning to use the system will be known as Merchants.

Service providers must provide the IP addresses from which requests will be sent to BankoPay developers before using the BankoPay APIs.

The IP address that the service provider needs to whitelist: 136.244.90.110

BankoPay provides special credentials (site_id and site_key) to the Merchants it has agreements with. The Merchant will integrate into the system by providing these credentials (site_id and site_key) to the service provider.

Deposit Transactions

Deposit via Bank Transfer

The operation of the Bank Transfer deposit method in the BankoPay system is as follows:

  1. The customer enters the BankoPay Bank Transfer deposit form on the betting site.
  2. 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_
  3. The remaining part of the transaction is completed on the BankoPay site.
  4. 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.

Deposit via Papara

The operation of the Papara deposit method in the BankoPay system is as follows:

  1. The customer enters the BankoPay Papara deposit form on the betting site.
  2. Clicks the "Start Process" button and is redirected to the following link:
    https://bankopay.co/deposit/papara?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
  3. The remaining part of the transaction is completed on the BankoPay site.
  4. 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.

Deposit via PopyPara

The operation of the PopyPara deposit method in the BankoPay system is as follows:

  1. The customer enters the BankoPay PopyPara deposit form on the betting site.
  2. Clicks the "Start Process" button and is redirected to the following link:
    https://bankopay.co/deposit/popypara?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
  3. The remaining part of the transaction is completed on the BankoPay site.
  4. 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.

Deposit via Paratim

The operation of the Paratim deposit method in the BankoPay system is as follows:

  1. The customer enters the BankoPay Paratim deposit form on the betting site.
  2. Clicks the "Start Process" button and is redirected to the following link:
    https://bankopay.co/deposit/paratim?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
  3. The remaining part of the transaction is completed on the BankoPay site.
  4. 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.

Deposit via PayFix

The operation of the PayFix deposit method in the BankoPay system is as follows:

  1. The customer enters the BankoPay PayFix deposit form on the betting site.
  2. Clicks the "Start Process" button and is redirected to the following link:
    https://bankopay.co/deposit/payfix?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
  3. The remaining part of the transaction is completed on the BankoPay site.
  4. 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.

Deposit via PayCo

The operation of the PayCo deposit method in the BankoPay system is as follows:

  1. The customer enters the BankoPay PayCo deposit form on the betting site.
  2. Clicks the "Start Process" button and is redirected to the following link:
    https://bankopay.co/deposit/payco?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
  3. The remaining part of the transaction is completed on the BankoPay site.
  4. 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.

Withdrawal Transactions

The service provider of the Merchant will send a callback to the BankoPay system using these services.

Site ProviderBankoPay

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:

  1. The customer enters the Bank Transfer withdrawal form on the Merchant site.
  2. From this field, the withdrawal form is filled out;
  3. 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
  4. 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".
  5. Based on the code parameter in the response, if;
    1. 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.)
    2. 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.

Withdraw via Papara

The information provided by the customer should be transmitted to us using the BankoPay API service...

The operation of the Papara withdrawal method in the BankoPay system is as follows:

  1. The customer enters the Papara withdrawal form on the Merchant site.
  2. From this field, the withdrawal form is filled out;
  3. Information required in the withdrawal form:
    • Papara account number
    • Amount
    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
  4. After the withdrawal request is checked from the management panel of the Merchant site, the information is posted to the BankoPay /withdraw/papara API service when the transaction is marked as "Valid".
  5. Based on the code parameter in the response, if;
    1. 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.)
    2. 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.

Withdraw via PopyPara

The information provided by the customer should be transmitted to us using the BankoPay API service...

The operation of the PopyPara withdrawal method in the BankoPay system is as follows:

  1. The customer enters the PopyPara withdrawal form on the Merchant site.
  2. From this field, the withdrawal form is filled out;
  3. Information required in the withdrawal form:
    • PopyPara account number
    • Amount
    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
  4. After the withdrawal request is checked from the management panel of the Merchant site, the information is posted to the BankoPay /withdraw/popypara API service when the transaction is marked as "Valid".
  5. Based on the code parameter in the response, if;
    1. 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.)
    2. 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.

Withdraw via Paratim

The information provided by the customer should be transmitted to us using the BankoPay API service...

The operation of the Paratim withdrawal method in the BankoPay system is as follows:

  1. The customer enters the Paratim withdrawal form on the Merchant site.
  2. From this field, the withdrawal form is filled out;
  3. Information required in the withdrawal form:
    • Paratim account number
    • Amount
    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
  4. After the withdrawal request is checked from the management panel of the Merchant site, the information is posted to the BankoPay /withdraw/paratim API service when the transaction is marked as "Valid".
  5. Based on the code parameter in the response, if;
    1. 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.)
    2. 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.

Withdraw via PayFix

The information provided by the customer should be transmitted to us using the BankoPay API service...

The operation of the PayFix withdrawal method in the BankoPay system is as follows:

  1. The customer enters the PayFix withdrawal form on the Merchant site.
  2. From this field, the withdrawal form is filled out;
  3. Information required in the withdrawal form:
    • PayFix account number
    • Amount
    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
  4. After the withdrawal request is checked from the management panel of the Merchant site, the information is posted to the BankoPay /withdraw/payfix API service when the transaction is marked as "Valid".
  5. Based on the code parameter in the response, if;
    1. 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.)
    2. 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.

Withdraw via PayCo

The information provided by the customer should be transmitted to us using the BankoPay API service...

The operation of the PayCo withdrawal method in the BankoPay system is as follows:

  1. The customer enters the PayCo withdrawal form on the Merchant site.
  2. From this field, the withdrawal form is filled out;
  3. Information required in the withdrawal form:
    • PayCo account number
    • Amount
    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
  4. After the withdrawal request is checked from the management panel of the Merchant site, the information is posted to the BankoPay /withdraw/payco API service when the transaction is marked as "Valid".
  5. Based on the code parameter in the response, if;
    1. 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.)
    2. 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.

Withdrawal Services

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:

Parameter Type Description
code integer Status code. Please check.
message string Status message. Please check.
Example:

POST: https://bankopay.co/api/withdraw/bank-transfer

Accept: application/json
Content-Type: application/json

Request:

Response (For successful transaction)

Response (For an erroneous transaction)

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/withdraw/papara

POST: https://bankopay.co/api/withdraw/papara

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 Papara account number

Response content:

Parameter Type Description
code integer Status code. Please check.
message string Status message. Please check.
Example:

POST: https://bankopay.co/api/withdraw/papara

Accept: application/json
Content-Type: application/json

Request:

Response (For successful transaction)

Response (For an erroneous transaction)

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/withdraw/popypara

POST: https://bankopay.co/api/withdraw/popypara

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 PopyPara account number

Response content:

Parameter Type Description
code integer Status code. Please check.
message string Status message. Please check.
Example:

POST: https://bankopay.co/api/withdraw/popypara

Accept: application/json
Content-Type: application/json

Request:

Response (For successful transaction)

Response (For an erroneous transaction)

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/withdraw/paratim

POST: https://bankopay.co/api/withdraw/paratim

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 Paratim account number

Response content:

Parameter Type Description
code integer Status code. Please check.
message string Status message. Please check.
Example:

POST: https://bankopay.co/api/withdraw/paratim

Accept: application/json
Content-Type: application/json

Request:

Response (For successful transaction)

Response (For an erroneous transaction)

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/withdraw/payfix

POST: https://bankopay.co/api/withdraw/payfix

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 PayFix account number

Response content:

Parameter Type Description
code integer Status code. Please check.
message string Status message. Please check.
Example:

POST: https://bankopay.co/api/withdraw/payfix

Accept: application/json
Content-Type: application/json

Request:

Response (For successful transaction)

Response (For an erroneous transaction)

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/withdraw/payco

POST: https://bankopay.co/api/withdraw/payco

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 PayCo account number

Response content:

Parameter Type Description
code integer Status code. Please check.
message string Status message. Please check.
Example:

POST: https://bankopay.co/api/withdraw/payco

Accept: application/json
Content-Type: application/json

Request:

Response (For successful transaction)

Response (For an erroneous transaction)

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:

Response (For a successful transaction)

Response (For an erroneous transaction)

Response Codes

Response information:

Code Message
200 Withdrawal request created!
20014 API credentials are incorrect!

Callback Services

Callback Return API Services

Callback services we will use

Services described under this heading should be integrated into the service provider's system by the Merchant for the BankoPay system to function.

BankoPay will use these services to send callbacks to the service provider's system.

BankoPaySite Provider

POST: https://yourdomain/.com/api/BankoPay/

Services to be used:

Service Description
info Using this service, we need to check whether a customer has an account on the Merchant site, whether the sent trx belongs to this customer, and whether the status of this trx is pending.
deposit Using this service, we need to add to the account balance of a customer on the Merchant site.
withdraw Using this service, we need to complete a withdrawal request created with BankoPay for a customer on the Merchant site.

Header information:

Header Value
Accept application/json
Content-Type application/json

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.
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:

Response (For successful transaction)

Response (For failed transaction)

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.
method required string Sent as “BankTransfer”, “Papara”, “Parazula”, “Popypara”, “Paratim”, “PayFix”, “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:

Response (For successful transaction)

Response (For failed transaction)

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.
method required string Sent as “BankTransfer”, “Papara”, “Parazula”, “Popypara”, “Paratim”, “PayFix”, “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:

Response (For successful transaction)

Response (For failed transaction)

Note: We proceed with the process only when code: 200. If the code is not 200, we terminate the process.

Logolar