Revision History
Version | Date | Description |
---|---|---|
1.0 | 02/09/2022 | - Initial version |
Introduction
Payment Gateway API reference provides information on available endpoints and how to interact with them.
Target Audience
This document aims at developers who integrate with Payment Gateway API.
Definitions
The following terminology is used throughout this document:
User - a person who has a gaming account at a Partner's website. The terms User, Customer, and Player are used interchangeably.
Merchant - describes the Partner who uses the solutions provided by the Payment Gateway. The terms Merchant and Partner are used interchangeably.
Payment Gateway Base URLs
The following URLs are added before the endpoint when sending requests to the Payment Gateway. Based on the environment, the base URLs differ.
Live/Production -
Test/Sandbox - https://pygapi.tst-digi.com
Payment Getaway API
To interact with the API, see PaymentGatewayAPI generated and hosted on Swagger.
Authentication
All the requests sent to Payment Gateway are signed and contain the following headers:
SITED:
Unique identifier of the site provided by the Payment Gateway.
REQUESTID:
Globally Unique Identifier (GUID). For each request a new GUID is generated.
SIGNATURE:
A signature used to verify that the data hasn't been altered.
Request header example:
curl -L -X GET 'https://pygapi.tst-digi.com/api/transaction/gettransactiondetails' \
-H 'SITEID: 2adf34s52g5' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27'
The REQUESTID
header is generated via GUID. After identifier generation remove all the hyphens (-) and use it as REQUESTID
.
Headers[REQUESTID] = Guid.NewGuid().ToString("N")
The SIGNATURE
header is generated in the following way:
- Request
body
is hashed via MD5 hashing algorithm. The output is encoded via Base64 encoding scheme.
NOTE: This step is discarded if the request doesn't contain a body (usually in the case of GET or DELETE requests).requestContentBase64String = Base64Encoded(md5(requestContent))
- The parameters concatenated in the following order without any delimiters:
SITEID + REQUESTID + body
. - HMAC SHA256 is created using the secret key on the concatenated string from the 2nd step.
- Output from the 3rd step is encoded using Base64 encoding scheme.
Base64Encod(HMACSHA256(secretKey).ComputeHash(signatureRawData(SITEID,REQUESTID,requestContentBase64String)))
The secret key is provided by the Payment Gateway.
All API requests must be made over HTTPS. The ones without authentication or with wrong data will be rejected and as a reponse 401 Unauthorized
HTTP status code will be returned.
NOTE: The secret key must be secured as it provides access API calls. The secret key must not be shared in publicly accessible areas.
API Reference
Online Payments
Online payment is the electronic exchange of money. The money is transferred right after the ustomer confirms the transaction.
POST /api/Transaction/inittransaction |
Creates a transaction at the Payment Gateway's and Payment Provider's side |
POST /api/Transaction/confirmtransaction |
Confirms the transaction. The method is supported only for withdrawals |
POST Callback URL from InitTransaction |
Notifies about the change of transaction's state |
Overview
Online Deposit Flow
- The User selects a payment method from gaming website cashier, fills required fields on the payment form, submits the Deposit, and the Web sends Create Payment request to the Platform.
- The Platform checks the User credentials and if the User is eligible to make a transaction, creates a transaction and sends the InitTransaction request to the Payment Gateway.
- The Payment Gateway returns Redirect URL to the Platform.
- The Platform provides the Redirect URL to the Web so the User is redirected to the Payment Provider checkout page.
- The Payment Gateway informs the Platform about the change in the transaction state, using NotifyTransactionStateChange method.
Note: This flow is applicable for payment systems if the Initial Amount and Final Amount are different. That type of payment systems have diferent flow. The amount is changed on the Platform after the callback.
Online Withdrawal Flow
- The User selects a payment method from gaming website cashier, fills required fields on the payment form, submits the Withdrawal, and the Web sends Create Payment request to the Platform.
- The Platform checks the User credentials and if the User is eligible to transfer money, then creates a transaction and sends the InitTransaction request to the Payment Gateway.
- The Payment Gateway responds to the Platform.
- The Platform responds to the Web.
- The Partner Risk Managers/Operation team checks the transaction credentials and after confirmation the Platform calls the ConfirmTransaction method to process the transaction.
- The Payment Gateway responds to the Platform by returning with transaction details (in some cases, it sends Redirect URL). Note: In the case of withdrawals with redirection, the Platform sends the Redirect URL to the Web and the User is redirected to the Payment Provider checkout page.
- The Payment Gateway informs the Platform about the change in the transaction state using NotifyTransactionStateChange method.
Method: InitTransaction
The method initializes transaction on the side of the PaymentGetaway and PaymentProvider by InitTransactionDTO parameters.
Note: The method is supported both for deposits and withdrawals.
Endpoint: /api/Transaction/inittransaction
Method: POST
Request Content-Type: application/json
Response Content-Type: application/json
Parameters
Resquest
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
Body
Name | Type | Description |
---|---|---|
SiteId Required |
int | Identifier of the Merchant site |
Currency Required |
enum Currency |
ISO currency code |
Amount Required |
decimal | Amount of the transaction |
PaymentSystem Required |
int | Identifier of the Payment system |
OperationType Required |
enum TransactionType |
Operation type |
PaymentMethod | int | Type of the payment method (Default-0/Binding-1/NotAttached-2) |
MTransId Required |
string | Identifier of the transaction provided by the Merchant |
CallbackURL | string | Callback URL |
Language | enum Language |
ISO Language Code |
UserID | string | Identifier of the User |
string | Email address of the User | |
FirstName | string | First name of the User |
LastName | string | Last name of the User |
DateOfBirth | datetime | Birthdate of the User. Format: dd/mm/yyy hh:mm:ss Don't specify the time part of the birthdate. The value can be null . |
Address | string | Address of the User |
PhoneNumber | string | Phone number of the User |
PostalCode | string | Postal code of the User |
City | string | City of the User residence |
State | string | State of the User residence |
County | string | Country of User |
PsAccountID | string | Identifier of the Paymant System destination account |
IpAddress | string | IP address of the User |
TransactionData | object | Key value pairs of the properties that are required by the Payment System but are not supported by the payment method |
MockResponseState | string | Mock response state used for testing payment system mock APIs |
Note: For some Payment Systems the marked (asterisk) parameters can be required. It is recommended to send the asterisked parameters for all payments.
Sample Deposit Request
curl -L -X POST ' https://pygapi.tst-digi.com/api/Transaction/inittransaction?Api-version=1' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"SiteId": 17,
"Amount": 100.00,
"Currency": 51,
"PaymentSystem": 14,
"OperationType": 1,
"MTransId": "Merchant_Transaction_id_123",
"MockResponseState": "200,null,10,20,30"
}'
var client = new RestClient(" https://pygapi.tst-digi.com/api/Transaction/inittransaction?Api-version=1");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"SiteId\": 17,\r\n \"Amount\": 100.00,\r\n \"Currency\": 51,\r\n \"PaymentSystem\": 14,\r\n \"OperationType\": 1,\r\n \"MTransId\": \"Merchant_Transaction_id_123\",\r\n \"MockResponseState\": \"200,null,10,20,30\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Sample Withdrawal Request
curl -L -X POST 'https://pygapi.tst-digi.com/api/transaction/inittransaction?api-version=1' \
-H 'Authorization: Bearer jvaK06ouQ10qa2Ziq0y1OaGNhaeGZ2yYXesp9ThWLDCcuuM0UXtsjdqt9UBI' \
-H 'Content-Type: application/json' \
--data-raw '{
"SiteId": 17,
"Amount": 12.00,
"Currency": 51,
"PaymentSystem": 146,
"OperationType": 2,
"MTransId": "789123456",
"PsAccountID": "12345679810123456",
"MockResponseState": "200,12,0,0,ok"
}'
var client = new RestClient("https://pygapi.tst-digi.com/api/transaction/inittransaction?api-version=1");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer jvaK06ouQ10qa2Ziq0y1OaGNhaeGZ2yYXesp9ThWLDCcuuM0UXtsjdqt9UBI");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"SiteId\": 17,\r\n \"Amount\": 12.00,\r\n \"Currency\": 51,\r\n \"PaymentSystem\": 146,\r\n \"OperationType\": 2,\r\n \"MTransId\": \"789123456\",\r\n \"PsAccountID\": \"12345679810123456\",\r\n \"MockResponseState\": \"200,12,0,0,ok\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
ErrorCode Available error codes for this method.
HTTP Status | Code | Message | Player/Merchant/ |
---|---|---|---|
200 | 500 | Request processed successfully. | Merchant |
400 | 10 | Internal Error | Merchant |
400 | 18 | Merchant not found. | Merchant |
400 | 20 | Invalid Account Credentials. | Merchant |
400 | 29 | Permission access. Please check your account credentials. | Merchant |
400 | 31 | Transaction already executed. | Merchant |
400 | 50 | Check in your account profile that the API is enabled and you are posting your requests from the IP address specified. | Merchant |
400 | 51 | Payment method is not enabled. | Merchant |
400 | 53 | Missing {0}. | Merchant |
400 | 54 | Request from unauthorized user. | Merchant |
400 | 56 | {0} Setting is missing. | Merchant |
400 | 60 | Empty callback received from payment system. | Merchant |
400 | 61 | An error occured in payment system side. | Merchant |
400 | 90 | The merchant is inactive on payment system side. | Merchant |
400 | 97 | Invalid {0}. | Merchant |
400 | 104 | Communication request error. | Merchant |
400 | 105 | Request limit exceeded. | Merchant |
400 | 110 | Payment service is unavailable. | Merchant |
400 | 111 | Transaction already cancled. | Merchant |
400 | 114 | Invalid request opeartion. | Merchant |
400 | 118 | Unknown. | Merchant |
400 | 124 | Fraud Detection. | Merchant |
400 | 127 | Technical Error On System. | Merchant |
400 | 129 | BadRequest. | Merchant |
400 | 131 | SecurityError. | Merchant |
400 | 132 | Unexpected Issue. | Merchant |
400 | 135 | No Row Updated. | Merchant |
400 | 136 | Request Stopped. | Merchant |
400 | 143 | Maintenance Break. | Merchant |
400 | 147 | Transaction Has Timeout. | Merchant |
400 | 152 | Transaction Detected As Critical. | Merchant |
400 | 155 | Inactive Session Id. | Merchant |
400 | 156 | Error sended to payment system from merchant. | Merchant |
400 | 160 | Payment system amount dont match with payment gateway amount. | Merchant |
400 | 3 | Invalid Amount. | Player |
400 | 5 | Invalid Date. | Player |
400 | 7 | Transaction declined by payment system. | Player |
400 | 16 | User is blocked. | Player |
400 | 19 | Invalid Currecncy Code. | Player |
400 | 22 | Not supported country code. | Player |
400 | 33 | The payment amount is greater than the maximum amount. | Player |
400 | 34 | Invalid email address. | Player |
400 | 48 | Your account email address needs to be verified. | Player |
400 | 57 | Customer not found. | Player |
400 | 71 | Reached maximum number of credit card payment options. | Player |
400 | 73 | Credit Card number is duplicated. | Player |
400 | 76 | Invalid mobile number. | Player |
400 | 82 | Card number is invalid. | Player |
400 | 83 | Invalid expiration date. | Player |
400 | 91 | Invalid CVV2 number. | Player |
400 | 93 | Invalid firstname. | Player |
400 | 94 | Invalid lasttname. | Player |
400 | 96 | Invalid City. | Player |
400 | 107 | Card format is invalid.. | Player |
400 | 119 | Invalid Bank Code. | Player |
400 | 130 | Customer Has Pending Deposit. | Player |
400 | 138 | Verification Error. | Player |
400 | 141 | Invalid IBAN. | Player |
400 | 148 | Invalid Or Missing Verification Code. | Player |
Response
Name | Type | Description |
---|---|---|
transactionID Required |
int | Identifier of the Payment Getaway transaction |
state Required |
enum TransactionStates |
Status of the transaction |
creationDate Required |
DateTime | Date and Time of the transaction creation |
description Optional |
string | Text related to the transaction |
redirectUrl Optional |
string | Checkout URL |
transactionDetails Optional |
string | Additional information related to the payment |
psUserInfo Optional |
PsUserInfo | User credentials on the Payment System side |
Sample Response
{
"TransactionID": 4057804,
"State": 1,
"CreationDate": "2021-03-31T14:28:33.0597399+04:00",
"Description": null,
"RedirectUrl": " https://pygapi.tst-digi.com/api/transaction/transactionflow??api-version=1&transactionid=4056528",
"TransactionDetails": {
"WalletId": "176851460197",
"IsVerifiedWallet": "true",
"WalletOwnerName": "Upay Receiver",
"EmailAddress": null,
"MobileNumber": null
},
"psUserInfo": {
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "86353763224",
"passportId": "1234584736"
}
}
{
"Code": 2,
"Message": "Currency: 'Currency' must not be equal to 'Invalid'.\r\n"
}
Method: InitWithoutTransaction
Initializes transaction on the side of the Payment Getaway and Payment Provider by InitWithoutTransactionDTO parameters.
Note: The method is applicable both for deposits and withdrawals.
Endpoint: /api/Transaction/InitWithoutTransaction
Method: POST
Request Content-Type: application/json
Response Content-Type: application/json
Parameters
Resquest
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
Body
Name | Type | Description |
---|---|---|
SiteId Required |
int | Identifier of the Merchat site |
Currency Required |
enum Currency |
ISO currency code |
Amount Required |
decimal | Amount of the transaction |
PaymentSystem Required |
int | Identifier of the Payment system |
OperationType Required |
enum TransactionType |
Operation type |
CallbackURL | string | Callback URL |
Language | enum Language |
ISO Language Code |
UserID | string | Identifier of the User |
string | Email address of the User | |
FirstName | string | First name of the User |
LastName | string | Last name of the User |
DateOfBirth | datetime | Birthdate of the User. Format: dd/mm/yyy hh:mm:ss Don't specify the time part of the birthdate. The value can be null . |
Address | string | Address of the User |
PhoneNumber | string | Phone number of the User |
PostalCode | string | Postal code of the User |
City | string | City of the User residence |
State | string | State of the User residence |
County | string | Country of User |
IpAddress | string | IP address of the User |
TransactionData | object | Key value pairs of the properties that are required by the Payment System but are not supported by the payment method |
Note: For some Payment Systems the marked (asterisk) parameters can be required. It is recommended to send the asterisked parameters for all payments.
Sample Deposit Request
curl -L -X POST ' https://pygapi.tst-digi.com/api/Transaction/InitWithoutTransaction?Api-version=1' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"siteId": 53,
"amount": 100,
"currency": 978,
"paymentSystem": 248,
"operationType": 1,
"paymentMethod": 0,
"mTransId": null,
"language": 1,
"userID": "321",
"email": "[email protected]",
"firstName": "Gor",
"lastName": "Yezekyan",
"dateOfBirth": "1997-08-07",
"address": "yerevan",
"phoneNumber": "096030394",
"postalCode": "0051",
"city": "yerevan",
"state": "yerevan",
"country": "armenia",
"detailDescription": "test",
"detailText": "test",
"TransactionData": "{\"cryptocurrency\":\"LTC\",\"address\":\"MEzxWTwMatroT4RtZ4QsTuxiKE2LLGcVyY\",\"destinationTag\":\"24\"}"
}'
var client = new RestClient(" https://pygapi.tst-digi.com/api/Transaction/InitWithoutTransaction?Api-version=1");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"siteId\": 53,\r\n \"amount\": 100,\r\n \"currency\": 978,\r\n \"paymentSystem\": 248,\r\n \"operationType\": 1,\r\n \"paymentMethod\": 0,\r\n \"mTransId\": null,\r\n \"language\": 1,\r\n \"userID\": \"321\",\r\n \"email\": \"[email protected]\",\r\n \"firstName\": \"Gor\",\r\n \"lastName\": \"Yezekyan\",\r\n \"dateOfBirth\": \"1997-08-07\",\r\n \"address\": \"yerevan\",\r\n \"phoneNumber\": \"096030394\",\r\n \"postalCode\": \"0051\",\r\n \"city\": \"yerevan\",\r\n \"state\": \"yerevan\",\r\n \"country\": \"armenia\",\r\n \"detailDescription\": \"test\",\r\n \"detailText\": \"test\",\r\n \"TransactionData\": \"{\\\"cryptocurrency\\\":\\\"LTC\\\",\\\"address\\\":\\\"MEzxWTwMatroT4RtZ4QsTuxiKE2LLGcVyY\\\",\\\"destinationTag\\\":\\\"24\\\"}\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Available error codes for this method.
HTTP Status | Code | Message | Player/Merchant/ |
---|---|---|---|
200 | 500 | Request processed successfully. | Merchant |
400 | 10 | Internal Error | Merchant |
400 | 18 | Merchant not found. | Merchant |
400 | 20 | Invalid Account Credentials. | Merchant |
400 | 29 | Permission access. Please check your account credentials. | Merchant |
400 | 31 | Transaction already executed. | Merchant |
400 | 50 | Check in your account profile that the API is enabled and you are posting your requests from the IP address specified. | Merchant |
400 | 51 | Payment method is not enabled. | Merchant |
400 | 53 | Missing {0}. | Merchant |
400 | 54 | Request from unauthorized user. | Merchant |
400 | 56 | {0} Setting is missing. | Merchant |
400 | 60 | Empty callback received from payment system. | Merchant |
400 | 61 | An error occured in payment system side. | Merchant |
400 | 90 | The merchant is inactive on payment system side. | Merchant |
400 | 97 | Invalid {0}. | Merchant |
400 | 104 | Communication request error. | Merchant |
400 | 105 | Request limit exceeded. | Merchant |
400 | 110 | Payment service is unavailable. | Merchant |
400 | 111 | Transaction already cancled. | Merchant |
400 | 114 | Invalid request opeartion. | Merchant |
400 | 118 | Unknown. | Merchant |
400 | 124 | Fraud Detection. | Merchant |
400 | 127 | Technical Error On System. | Merchant |
400 | 129 | BadRequest. | Merchant |
400 | 131 | SecurityError. | Merchant |
400 | 132 | Unexpected Issue. | Merchant |
400 | 135 | No Row Updated. | Merchant |
400 | 136 | Request Stopped. | Merchant |
400 | 143 | Maintenance Break. | Merchant |
400 | 147 | Transaction Has Timeout. | Merchant |
400 | 152 | Transaction Detected As Critical. | Merchant |
400 | 155 | Inactive Session Id. | Merchant |
400 | 156 | Error sended to payment system from merchant. | Merchant |
400 | 160 | Payment system amount dont match with payment gateway amount. | Merchant |
400 | 3 | Invalid Amount. | Player |
400 | 5 | Invalid Date. | Player |
400 | 7 | Transaction declined by payment system. | Player |
400 | 16 | User is blocked. | Player |
400 | 19 | Invalid Currecncy Code. | Player |
400 | 22 | Not supported country code. | Player |
400 | 33 | The payment amount is greater than the maximum amount. | Player |
400 | 34 | Invalid email address. | Player |
400 | 48 | Your account email address needs to be verified. | Player |
400 | 57 | Customer not found. | Player |
400 | 71 | Reached maximum number of credit card payment options. | Player |
400 | 73 | Credit Card number is duplicated. | Player |
400 | 76 | Invalid mobile number. | Player |
400 | 82 | Card number is invalid. | Player |
400 | 83 | Invalid expiration date. | Player |
400 | 91 | Invalid CVV2 number. | Player |
400 | 93 | Invalid firstname. | Player |
400 | 94 | Invalid lasttname. | Player |
400 | 96 | Invalid City. | Player |
400 | 107 | Card format is invalid.. | Player |
400 | 119 | Invalid Bank Code. | Player |
400 | 130 | Customer Has Pending Deposit. | Player |
400 | 138 | Verification Error. | Player |
400 | 141 | Invalid IBAN. | Player |
400 | 148 | Invalid Or Missing Verification Code. | Player |
Response
Name | Type | Description |
---|---|---|
transactionID Required |
int | Identifier of the Payment Getaway transaction |
state Required |
enum TransactionStates |
Status of the transaction |
creationDate Required |
DateTime | Date and time of the transaction creation |
description Optional |
string | Text related to the transaction |
redirectUrl Optional |
string | Checkout URL |
transactionDetails Optional |
string | Additional information related to the payment |
psUserInfo Optional |
PsUserInfo | User credentials on the Payment System side |
Sample Response
{
"TransactionID": 4057804,
"State": 1,
"CreationDate": "2021-03-31T14:28:33.0597399+04:00",
"Description": null,
"RedirectUrl": " https://pygapi.tst-digi.com/api/transaction/transactionflow??api-version=1&transactionid=4056528",
"TransactionDetails": {
"WalletId": "176851460197",
"IsVerifiedWallet": "true",
"WalletOwnerName": "Upay Receiver",
"EmailAddress": null,
"MobileNumber": null
},
"psUserInfo": {
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "86353763224",
"passportId": "1234584736"
}
}
{
"Code": 2,
"Message": "Currency: 'Currency' must not be equal to 'Invalid'.\r\n"
}
Method: ConfirmTransaction
Merchant sends the request to Payment Gateway to confirm the transaction. The method is applicable only for withdrawals.
Endpoint: /api/Transaction/confirmtransaction
Method: POST
Request Content-Type: application/json
Response Content-Type: application/json
Parameters
Request
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
Body
Name | Type | Description |
---|---|---|
SiteId Required |
int | Identifier of the Merchant site |
TransactionId Required |
int | Identifier of the Payment Gateway transaction |
Sample Request
curl -L -X POST ' https://pygapi.tst-digi.com/api/Transaction/confirmtransaction?Api-version=1' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"SiteId": 342,
"TransactionId": 187653
}'
var client = new RestClient(" https://pygapi.tst-digi.com/api/Transaction/confirmtransaction?Api-version=1");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"MerchantId\": 342,\r\n \"TransactionId\": 187653\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
TransactionId Required |
int | Identifier of the Payment Gateway transaction |
State Required |
int | Status of the transaction (InProcess - if the transaction is sucessfully confirmed) |
Sample Response
{
"TransactionId": 187653,
"State": 2
}
Method: CencelTransaction
Merchant sends the request to the Payment Gateway to cencel the transaction. The method is applicable only for withdrawals.
Endpoint: /api/Transaction/cenceltransaction
Method: POST
Request Content-Type: application/json
Response Content-Type: application/json
Parameters
Request
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
Body
Name | Type | Description |
---|---|---|
SiteId Required |
int | Identifier of the Merchant site |
TransactionId Required |
int | Identifier of the Payment Gateway transaction |
Sample Request
curl -L -X POST ' https://pygapi.tst-digi.com/api/Transaction/cenceltransaction?Api-version=1' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"SiteId": 342,
"TransactionId": 187653
}'
var client = new RestClient(" https://pygapi.tst-digi.com/api/Transaction/cenceltransaction?Api-version=1");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"MerchantId\": 342,\r\n \"TransactionId\": 187653\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
TransactionId Required |
int | Identifier of the Payment Gateway transaction |
State Required |
int | Status of the transaction (InProcess - if the transaction is sucessfully confirmed) |
Sample Response
{
"TransactionId": 187653,
"State": 2
}
Method: NotifyTransactionStateChange
The method notifies Merchant about the change of the transaction state. The method is applicable both for deposits and withdrawals.
URL: Callback URL from InitTransaction*
Method: POST
Request Content-Type: application/json
Response Content-Type: application/json
Note: If the Callback URL was not sent in the InitTransaction Request, the URL is taken from the configurations.
Parameters
Resquest
Name | Type | Description |
---|---|---|
FinalizeTransactionRequestModel Required |
FinalizeTransactionRequestModel | Transaction details for state change |
Sample Request
curl -L -X POST 'https://callbackurl.com' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"FinalizeTransactionRequestModel": {
"TransactionId": 187653,
"MerchantTransactionId": "3468204",
"Amount": 12.00,
"Currency": 51,
"PaymentSystem": 146,
"OperationType": 2,
"PsUserInfo": {
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "86353763224",
"passportId": "1234584736"
},
"VoucherInfo": {
"VoucherNum": "43567763",
"VoucherCode": "2323yhnbgry32g3v"
},
"State": 3,
"TransactionDetails": {
"WalletId": "176851460197",
"IsVerifiedWallet": "true",
"WalletOwnerName": "Upay Receiver",
"EmailAddress": null,
"MobileNumber": null
}
}
}'
curl -L -X POST 'https://callbackurl.com' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"TransactionId":1405190,
"MerchantTransactionId":"53_Skrilltest6",
"PSTransactionId":"3575709308",
"Amount":2.00,
"Currency":"Eur",
"PaymentSystem":17,
"OperationType":1,
"State":4,
"TransactionDetails":{
"ErrorCode":"46",
"ErrorMessage":"Sending amount exceeds account balance.",
"PSErrorCode":null,
"PSErrorMessage":"RECIPIENT_LIMIT_EXCEEDED"
}'
In case the Notified transaction is failed, via FinalizeTransactionRequestModel the TransactionDetails property which describes the failure reason, is sent.
ErrorCode - Error Code in Payment Gateway. ErrorMessage - Error Message in Payment Gateway. PSErrorCode - Error code in Payment System. PSErrorMessage - Error Message in Payment System.
Response
Name | Type | Description |
---|---|---|
Succeed Required |
bool | True, if the state is successfully changed; otherwise, false |
Sample Response
{
"Succeed" : true
}
Terminal Payments
Terminal payments are asynchronously processed transactions. The transaction is usually done offline and reconciled manually or automatically to the admin panel. Terminal payments assume that the money is transferred to the User balance at a later date.
Overview
Terminal Payment Flow
- The Payment Gateway requests to check the credentials of the User who wants to transfer money to the gaming account using CheckUserAccount method.
- The Platform checks the User data and responds to the Payment Gateway.
- The Payment Gateway requests to create a transaction at the Platform using InitTerminalTransaction method.
- The Platform informs the Payment Gateway whether the transaction is created or not.
Method: CheckUserAccount
The method checks whether the User with the provided ID exists at the side of the Merchant or not.
Endpoint: Provided by the Merchant
Method: POST
Request Content-Type: application/json, application/xml, application/x-www-form-urlencoded
Response Content-Type: application/json, application/xml
Parameters
Resquest
Name | Type | Description |
---|---|---|
siteId Required |
int | Identifier of the Merchant site |
PaymentSystem Required |
int | Identifier of the Payment system |
UserId Required |
string | Unique identification number of the Player |
Sample Request
curl -L -X POST 'SampleUrl.com' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"PaymentSystem": 111,
"UserId": "user123",
"siteId": 17
}'
var client = new RestClient("SampleUrl.com");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"PaymentSystem\": \"111\",\r\n \"UserId\": \"User1234\",\r\n \"siteId\": 17\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
Code Required |
int | Code identifying request outcome |
Message Required |
string | Text briefly describing the outcome of the request |
Sample Response
{
"Code" : 0,
"Message": "User exists and is verified, payment is possible."
}
{
"Code" : 44,
"Message": "User with id 123 is not found."
}
{
"Code" : 69,
"Message": "Invalid or missing User Id"
}
Method:IniTerminalTransaction
The method initializes transaction on the side of the Merchant.
URL: Provided by the Merchant
Method: POST
Request Content-Type: application/json, application/xml, application/x-www-form-urlencoded
Response Content-Type: application/json, application/xml
Parameters
Resquest
Name | Type | Description |
---|---|---|
transactionId Required |
int | Identifier of the transaction |
siteId Required |
int | Identifier Merchat site |
AccountId Required |
string | Account identifier of the User on the Payment System side |
Amount Required |
decimal | Amount of the transaction |
Currency Required |
enum Currency |
ISO currency code of the transaction |
PaymentSystem Required |
int | Identifier of the Payment system |
Sample Request
curl -L -X POST 'SampleUrl.com' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
-H 'Content-Type: application/json' \
--data-raw '{
"transactionId": 123456789,
"siteId": 103,
"AccountId": "User1234",
"Amount": 100.0,
"Currency": 51,
"PaymentSystem": 123
}'
var client = new RestClient("SampleUrl.com");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\r\n \"transactionId\": 123456789,\r\n \"siteId\": 103,\r\n \"AccountId\": \"User1234\",\r\n \"Amount\": 100.0,\r\n \"Currency\": 51,\r\n \"PaymentSystem\": 123\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
merchantTransactionId Optional |
string | Identifier of the transaction provided by the Merchant. The parameter is returned only if the request is successfully processed |
Description Optional |
string | Text breifly describing transaction state |
Code Required |
enum ErrorCode |
Code identifying transaction outcome |
Sample Response
{
"merchantTransactionId":"1231231",
"Description":"Descr",
"Code": 0
}
{
"Code": 3,
"Message": "Invalid amount is sent"
}
Transaction Details
Provides details and status information for onlie and offline transactions.
GET /api/transaction/gettransactionstatus |
Retrieves the transaction status with the given transaction ID |
GET /api/transaction/gettransactionstatusbymerchant |
Retrieves the transaction status with a given merchant transaction ID |
GET /api/transaction/gettransactiondetails |
Retrieves the transaction details with the given transaction ID |
GET /api/transaction/gettransactiondetailsbymerchant |
Retrieves the transaction details with a given merchant transaction ID |
Method: TransactionStatus
The method retrieves transaction status with the given transaction ID. Transaction ID provided by the Payment Gateway is sent to receive the information about the transaction state.
URL: /api/transaction/gettransactionstatus
Method: GET
Request Content-Type: application/x-www-form-urlencoded
Response Content-Type: application/json
Parameters
Resquest
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
TransactionId Required |
int | Identifier of the transaction provided by the Payment Gateway |
Sample Request
curl -L -X GET ' https://pygapi.tst-digi.com/api/transaction/gettransactionstatus?Api-version=1&TransactionId=405765' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
var client = new RestClient(" https://pygapi.tst-digi.com/api/transaction/gettransactionstatus?Api-version=1&TransactionId=405765");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
Id Required |
int | Identifier of the transaction provided by the Payment Gateway |
State Required |
enum TransactionStates |
Status of the transaction |
Amount Required |
decimal | Amount of the transaction |
Currency Required |
enum Currency |
ISO currency code |
Sample Response
{
"Id": 4057465,
"State": 4,
"Amount": 1.00,
"Currency": "Usd"
}
{
"Code": 6,
"Message": "Transaction with Id=11111111 is missing"
}
Method: GetTransactionStatusbyMerchant
The method retrieves the transaction status with a given Merchant transaction ID.
Endpoint: /api/transaction/gettransactionstatusbymerchant
Method: GET
Request Content-Type: application/x-www-form-urlencoded
Response Content-Type: application/json
Parameters
Resquest
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
MerchantTransactionId Required |
string | Identifier of the transaction provided by the Merchant |
Sample Request
curl -L -X GET ' https://pygapi.tst-digi.com/api/transaction/gettransactionstatusbymerchant?Api-version=1&MerchantTransactionId=444_1' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
var client = new RestClient(" https://pygapi.tst-digi.com/api/transaction/gettransactionstatusbymerchant?Api-version=1&MerchantTransactionId=444_1");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
Id Required |
int | Identifier of the transaction provided by the Payment Gateway |
State Required |
enum TransactionStates |
Status of the transaction |
Amount Required |
decimal | Amount of the transaction |
Currency Required |
enum Currency |
ISO currency code |
Sample Response
{
"Id": 4057467,
"State": 4,
"Amount": 1.00,
"Currency": "Usd"
}
{
"Code": 10,
"Message": "Transaction with merchant transaction Id=9999999 is missing"
}
Method: GetTransactionDetails
The method retrieves the transaction details with the given transaction ID. The transaction identifier provided by the Payment Gateway is sent in the request.
Endpoint: /api/transaction/gettransactiondetails
Method: GET
Request Content-Type: application/x-www-form-urlencoded
Response Content-Type: application/json
Parameters
Resquest
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
TransactionId Required |
int | Identifier of the transaction provided by the Payment Gateway |
Sample Request
curl -L -X GET ' https://pygapi.tst-digi.com/api/transaction/gettransactiondetails?Api-version=1&TransactionId=4057467%20' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
var client = new RestClient(" https://pygapi.tst-digi.com/api/transaction/gettransactiondetails?Api-version=1&TransactionId=4057467%20");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
Id Required |
int | Identifier of the transaction provided by the Payment Gateway |
MerchantTransactionId Required |
string | Identifier of the transaction provided by the Merchant |
PaymentSystem Required |
int | Identifier of the Payment system |
CreationDate Required |
datetime | Date and Time of the transaction creation |
LastUpdateDate Required |
datetime | Date and time of the transaction last update |
OperationType Required |
enum TransactionType |
Operation type |
State Required |
enum TransactionStates |
Status of the transaction |
Amount Required |
decimal | Amount of the transaction |
Currency Required |
enum Currency |
Currency code |
MerchantFeeAmount Required |
decimal | Transaction fees charged from the Merchant |
UserFeeAmount Required |
decimal | Transaction fees charged from the User |
MerchantFeePercent Required |
double | Transaction fees charged from a Merchant expressed as a percentage |
UserFeePercent Required |
double | Transaction fees charged from the User expressed as a percentage |
MerchantUserID Required |
int | Identifier of the User provided by the Merchant |
Sample Response
{
"Id": 4057467,
"MerchantTransactionID": "444_1",
"PaymentSystem": 19,
"CreationDate": "2020-12-08T17:24:18.25736",
"LastUpdateDate": "2020-12-08T17:24:37.479132",
"OperationType": 2,
"State": 4,
"Amount": 1.00,
"Currency": 860,
"MerchantFeeAmount": 0.05,
"UserFeeAmount": 0.05,
"MerchantFeePercent": 5.00,
"UserFeePercent": 2.00,
"MerchantUserID": 2057
}
Method: GetTransactionDetailsbyMerchant
The method retrieves the transaction details. The identifier of the transaction provided by the Merchant is sent in the request.
Endpoint: /api/transaction/gettransactiondetailsbymerchant
Method: GET
Request Content-Type: application/x-www-form-urlencoded
Response Content-Type: application/json
Parameters
Resquest
Query Params
Name | Type | Description |
---|---|---|
Api-version Required |
int | Current version of the API (the value is "1") |
MerchantTransactionId Required |
string | Identifier of the transaction provided by the Merchant |
Sample Request
curl -L -X GET ' https://pygapi.tst-digi.com/api/transaction/gettransactiondetailsbymerchant?Api-version=1&MerchantTransactionId=444_1' \
-H 'SITEID: 234525' \
-H 'REQUESTID: fet47t924t9h2ch01f2yi47' \
-H 'SIGNATURE: S4eFruHgo24t204G7tH027KtgmEu73dO7t27' \
var client = new RestClient(" https://pygapi.tst-digi.com/api/transaction/gettransactiondetailsbymerchant?Api-version=1&MerchantTransactionId=444_1");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("SITEID", "234525");
request.AddHeader("REQUESTID", "fet47t924t9h2ch01f2yi47");
request.AddHeader("SIGNATURE", "S4eFruHgo24t204G7tH027KtgmEu73dO7t27");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Response
Name | Type | Description |
---|---|---|
Id Required |
int | Identifier of the transaction provided by the Payment Gateway |
MerchantTransactionId Required |
string | Identifier of the transaction provided by the Merchant |
PaymentSystem Required |
int | Identifier of the Payment system |
CreationDate Required |
datetime | Date and time of the transaction creation |
LastUpdateDate Required |
datetime | Date and time of the transaction last update |
OperationType Required |
enum TransactionType |
Operation type |
State Required |
enum TransactionStates |
Status of the transaction |
Amount Required |
decimal | Amount of the transaction |
Currency Required |
enum Currency |
Currency code |
MerchantFeeAmount Required |
decimal | Transaction fees charged from a Merchant |
UserFeeAmount Required |
decimal | Transaction fees charged from the User |
MerchantFeePercent Required |
int | Transaction fees charged from a Merchant expressed as a percentage |
UserFeePercent Required |
int | Transaction fees charged from the User expressed as a percentage |
MerchantUserID Required |
int | Identifier of the User provided by the Merchant |
Sample Response
{
"Id": 4057467,
"MerchantTransactionID": "444_1",
"PaymentSystem": 19,
"CreationDate": "2020-12-08T17:24:18.25736",
"LastUpdateDate": "2020-12-08T17:24:37.479132",
"OperationType": 2,
"State": 4,
"Amount": 1.00,
"Currency": 860,
"MerchantFeeAmount": 0.05,
"UserFeeAmount": 0.05,
"MerchantFeePercent": 5,
"UserFeePercent": 2,
"MerchantUserID": 2057
}
Objects
Information about the User on the Payment System side.
Name | Type | Description |
---|---|---|
firstName Required |
string | First name of the User |
lastName Required |
string | Last name of the User |
phoneNumber Required |
string | Phone number of the User |
passportId Required |
string | Passport identifier of the User |
{
"psUserInfo": {
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "86353763224",
"passportId": "1234584736"
}
}
Public Class: FinalizeTransactionRequestModel
Name | Type | Description |
---|---|---|
TransactionID Required |
int | Identifier of the Payment Gateway transaction |
MerchantTransactionId Required |
string | Identifier of the transaction provided by the Merchant |
PSTransactionId Optional |
string | Identifier of the transaction in the Payment System side |
Amount Required |
decimal | Amount of the transaction |
Currency Required |
Currency | Currency of the transaction |
PaymentSystem Required |
int | Identifier of the Payment system |
OperationType Required |
enum TransactionType |
Operation type |
PsUserInfo Optional |
PsUserInfo | User credentials on the Payment System side |
VoucherInfo Optional |
VoucherInfo | Credentias of the voucher. The object is returned only for voucher payments methods |
State Required |
enum TransactionStates |
Status of the transaction |
TransactionDetails Optional |
int | Additional information related to the payment |
{
"FinalizeTransactionRequestModel": {
"TransactionId": 187653,
"MerchantTransactionId": "3468204",
"Amount": 12.00,
"Currency": 51,
"PaymentSystem": 146,
"OperationType": 2,
"PsUserInfo": {
"firstName": "John",
"lastName": "Doe",
"phoneNumber": "86353763224",
"passportId": "1234584736"
},
"VoucherInfo": {
"VoucherNum": "43567763",
"VoucherCode": "2323yhnbgry32g3v"
},
"State": 3
}
}
Information about the User on the Payment System side.
Name | Type | Description |
---|---|---|
VoucherNum Required |
string | First name of the User |
VoucherCode Required |
string | Last name of the User |
{
"VoucherInfo": {
"VoucherNum": "246362722425",
"VoucherCode": "D2hsf46ho47hg49hd27bu472hbmvnoe"
}
}
Enum
Currently, the following currencies are supported:
Enum ID | ISO Code | Description |
---|---|---|
0 | INVALID | Invalid or unknown currency |
36 | AUD | Australian Dollar |
51 | AMD | Armenian Dram |
124 | CAD | Canadian Dollar |
156 | CNY | Chinese Yuan |
208 | DKK | Danish Krone |
344 | HKD | Hong Kong Dollar |
356 | INR | Indian Rupee |
364 | IRT | Iranian Tuman |
365 | IRR | Iranian Rial |
368 | IQD | Iraqi Dinar |
376 | ILS | Israeli New Shekel |
392 | JPY | Japanese Yen |
398 | KZT | Kazakhstani Tenge |
404 | KES | Kenyan Shilling |
410 | KRW | South Korean Won |
458 | MYR | Malaysian Ringgit |
504 | MAD | Moroccan dirham |
566 | NGN | Nigerian Naira |
578 | NOK | Norwegian Krone |
586 | PKR | Pakistani Rupee |
643 | RUB | Russian Ruble |
702 | SGD | Singapore Dolla |
710 | ZAR | South African Rand |
752 | SEK | Swedish Krona |
756 | CHF | Swiss Franc |
764 | THB | Thai Baht |
788 | TND | Tunisian Dinar |
800 | UGX | Uganda Shilling |
826 | GBP | Pound Sterling |
840 | USD | United Stated Dollar |
860 | UZS | Uzbekstan Sum |
934 | TMT | Turkmenistan Manat |
944 | AZN | Azerbaijanian Manat |
949 | TRY | Turkish Lira |
974 | BYR | Belarusian Ruble |
978 | EUR | Euro (European Union currency) |
977 | BAM | Bosnyan Mark |
980 | UAH | Ukrainian Hryvnia |
986 | BRL | Brazilian Real |
ID | Name |
---|---|
0 | Both |
1 | Deposit |
2 | Withdrawal |
The supported langauges are listed below.
Enum ID | Code | Description |
---|---|---|
0 | invalid | Invalid or unknown language |
1029 | cs | Czech |
1031 | de | German |
1033 | en | English |
1034 | es | Spanish |
1035 | fi | Finnish |
1036 | fr | French |
1040 | it | Italian |
1041 | ja | Japanese |
1042 | ko | Korean |
1045 | pl | Polish |
1049 | ru | Russian |
1053 | sv | Swedish |
1055 | tr | Turkish |
1057 | id | Indonesian |
1058 | uk | Ukrainian |
1059 | be | Belarusian |
1061 | et | Estonian |
1065 | fa | Parsi |
1067 | hy | Armenian |
1068 | az | Azerbaijani |
1079 | ka | Georgian |
1087 | kk | Kazakh |
2052 | zh | Chinese |
3098 | sr | Serbian |
14337 | ar | Arabic |
The following table represents the available states of the transaction.
Code | State |
---|---|
1 | Initialized |
2 | InProcess |
3 | Success |
4 | Failed |
Available error codes.
HTTP Status | Code | Message | Player/Merchant/ |
---|---|---|---|
200 | 500 | Request processed successfully. | Merchant |
400 | 6 | Transaction not found in payment system side. | Merchant |
400 | 10 | Internal Error | Merchant |
400 | 15 | User is blocked. | Merchant |
400 | 17 | A parameter in the request sent has invalid values. | Merchant |
400 | 18 | Merchant not found. | Merchant |
400 | 20 | Invalid Account Credentials. | Merchant |
400 | 29 | Permission access. Please check your account credentials. | Merchant |
400 | 31 | Transaction already executed. | Merchant |
400 | 50 | Check in your account profile that the API is enabled and you are posting your requests from the IP address specified. | Merchant |
400 | 51 | Payment method is not enabled. | Merchant |
400 | 53 | Missing {0}. | Merchant |
400 | 54 | Request from unauthorized user. | Merchant |
400 | 55 | Transaction refunded. | Merchant |
400 | 56 | {0} Setting is missing. | Merchant |
400 | 58 | Invalid transaction type. | Merchant |
400 | 60 | Empty callback received from payment system. | Merchant |
400 | 61 | An error occured in payment system side. | Merchant |
400 | 64 | Acccount locked for withdrawals. | Merchant |
400 | 66 | Transaction declined by customer. | Merchant |
400 | 68 | Transaction cancelled due to time out. | Merchant |
400 | 84 | Invalid checksum. | Merchant |
400 | 90 | The merchant is inactive on payment system side. | Merchant |
400 | 97 | Invalid {0}. | Merchant |
400 | 98 | The merchant could not be found. | Merchant |
400 | 104 | Communication request error. | Merchant |
400 | 105 | Request limit exceeded. | Merchant |
400 | 110 | Payment service is unavailable. | Merchant |
400 | 111 | Transaction already cancled. | Merchant |
400 | 112 | Transaction already rejected. | Merchant |
400 | 113 | Transaction already rejected. | Merchant |
400 | 114 | Invalid request opeartion. | Merchant |
400 | 115 | Invalid response received from payment system. | Merchant |
400 | 117 | The payment method is invalid. | Merchant |
400 | 118 | Unknown. | Merchant |
400 | 121 | In Blacklist IBAN. | Merchant |
400 | 122 | Withdraw Is Not Available. | Merchant |
400 | 124 | Fraud Detection. | Merchant |
400 | 125 | Data Incompatibility. | Merchant |
400 | 126 | Transaction Canceled By The Merchant. | Merchant |
400 | 127 | Technical Error On System. | Merchant |
400 | 128 | Blocked By Popup Blocker. | Merchant |
400 | 129 | BadRequest. | Merchant |
400 | 131 | SecurityError. | Merchant |
400 | 132 | Unexpected Issue. | Merchant |
400 | 134 | Unauthorized Firm. | Merchant |
400 | 135 | No Row Updated. | Merchant |
400 | 136 | Request Stopped. | Merchant |
400 | 143 | Maintenance Break. | Merchant |
400 | 145 | Account does not have enough balance to perform transaction. | Merchant |
400 | 147 | Transaction Has Timeout. | Merchant |
400 | 149 | Keep Waiting The Transaction. | Merchant |
400 | 152 | Transaction Detected As Critical. | Merchant |
400 | 153 | Ip address rejected. | Merchant |
400 | 155 | Inactive Session Id. | Merchant |
400 | 156 | Error sended to payment system from merchant. | Merchant |
400 | 160 | Payment system amount dont match with payment gateway amount. | Merchant |
400 | 3 | Invalid Amount. | Player |
400 | 5 | Invalid Date. | Player |
400 | 7 | Transaction declined by payment system. | Player |
400 | 16 | User is blocked. | Player |
400 | 19 | Invalid Currecncy Code. | Player |
400 | 22 | Not supported country code. | Player |
400 | 33 | The payment amount is greater than the maximum amount. | Player |
400 | 34 | Invalid email address. | Player |
400 | 48 | Your account email address needs to be verified. | Player |
400 | 57 | Customer not found. | Player |
400 | 71 | Reached maximum number of credit card payment options. | Player |
400 | 73 | Credit Card number is duplicated. | Player |
400 | 76 | Invalid mobile number. | Player |
400 | 82 | Card number is invalid. | Player |
400 | 83 | Invalid expiration date. | Player |
400 | 91 | Invalid CVV2 number. | Player |
400 | 93 | Invalid firstname. | Player |
400 | 94 | Invalid lasttname. | Player |
400 | 96 | Invalid City. | Player |
400 | 107 | Card format is invalid.. | Player |
400 | 119 | Invalid Bank Code. | player |
400 | 130 | Customer Has Pending Deposit. | Player |
400 | 138 | Verification Error. | Player |
400 | 141 | Invalid IBAN. | Player |
400 | 148 | Invalid Or Missing Verification Code. | Player |