Developers

General information

API URL: https://api.paymaster24.com/v1.0

Depending on the type of operation, certain URLs are added to this address. Each url is registered in method. The format of the service messages is the JSON object (application / json). Character encoding - UTF-8.

Each method is accompanied by an example api request and described what type it is. All enumerable fields and their values can be obtained from the service, they are also presented in the documentation.

  • Decimal number separator - point
  • All fractional numbers are transmitted in a format with two decimal places, if they contain a fractional part. It is possible to transfer a number without a fractional part. Example: 1500.76; 5; 5.00,
  • Date format for transmission (UTC+3) - dd.MM.yyyy HH:mm:ss
  • Boolean fields are passed as true\false
  • The mobile phone is transmitted in international format as a number. No other characters like: plus, dots, parentheses, spaces, etc are not allowed
  • All parameters of the integer type are defaulted to - 0, fractional - 0.00, logical - false, date - 01.01.0001

Each request must contain the Login and Signature fields. Login is the username in the Payouts.Paymaster24 service.

Requests flow

Payouts.Paymaster24 requests flow

Example query in which the required fields are defined


{
  "request": {
    "Login":"admin@paymaster24.com",
    "Signature":"Y4mab0rwOLXedtLfUf7AwIMhdGitxUkkX2+0BimWazg="
  }
}

Each request should have Signature. It consists of three parts

  • Url method
  • Formalized request body (deletes line breaks, extra spaces and tabs)
  • Secret client key
The secret client key is unique for each client and is taken from the service by the transmitted Login client (https://client.paymaster24.com/apisettings/index).

Example: We want to call /transaction/new with a query

                        {
    "request":{
        "ClientTransactionId":"abcd1234",
        "AccountId":"1",
        "AccountNumber":"79093222111",
        "Amount":100.03,
        "Currency":"USD",
        "TypePaymentMethod":20,
        "Passport":"023477812",
        "Address":"221B Baker Street, London NW1 6XE",
        "TaxId":"16500101012",
        "Login":"admin@paymaster24.com"
    }
}
                    

Secret key - 9DRQ3EcGP4ovAdzr

Secret line:

/transaction/new{"request":{"ClientTransactionId":"abcd1234","AccountId":"1","AccountNumber":"79093222111","Amount":100.03,"Currency":"USD","TypePaymentMethod":20,"Passport":"023477812","Address":"221B Baker Street, London NW1 6XE","TaxId":"16500101012","Login":"admin@paymaster24.com"}}9DRQ3EcGP4ovAdzr

Devided:

  1. /transaction/new - method URL
  2. {"request":{"ClientTransactionId":"abcd1234","AccountId":"1","AccountNumber":"79093222111","Amount":100.03,"Currency":"USD","TypePaymentMethod":20,"Passport":"023477812","Address":"221B Baker Street, London NW1 6XE","TaxId":"16500101012","Login":"admin@paymaster24.com"}} - request body formalized
  3. 9DRQ3EcGP4ovAdzr - secret key

And from this line get a hash using the SHA-256 algorithm. Then the resulting value is converted to the Base64 format. This is the line you want to add to the Signature field

Similarly, each response from the service contains two required fields and a Signature field, which is returned only if the request signature is successfully verified

- ErrorCode - error code. In case of failure of the operation, this code will be different from 0. The decoding of all error codes can be found in the Appendix "Types of errors".

- ErrorMessage - error message

- Signature - the signature of the response from the server.

If the response is successful, ErrorCode will be set to 0, and ErrorMessage will be an empty string

If the error occurred while the query was running on the server, ErrorCode would be -1, and ErrorMessage "Internal service error"

If the request signature is incorrectly verified, ErrorCode will be set to 30, and ErrorMessage will have an "Authentication error." The hash check failed, and returns a string from which the service received the hash

If the login is incorrect, ErrorCode will be 40, and ErrorMessage will have an "Incorrect login"

Response example api

                
{
    "response":{
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature": "692lzInUZShCjdUnScA0rhJu8ybmc8lPvpAlflpjkxw"
    }
}
                    
                

The response signature is formed similarly

/transaction/new{"response":{"ErrorCode":0,"ErrorMessage":""}}9DRQ3EcGP4ovAdzr

Devided:

  1. /transaction/new - method URL
  2. {"response":{"ErrorCode":0,"ErrorMessage":""}} - request body formalized
  3. 9DRQ3EcGP4ovAdzr - secret key

Check signature creation [/test/check_sign]

Method for verifying the creation of a signature.

Request example api


{
    "request":{
        "Signature":"P/7yB8dqtdPN3L7uwH8hhX78DzUpIEIlK0dNkOFI/HU=",
        "Login":"admin@paymaster24.com"
    }
}
                    

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


    string s = "/test/check_sign" + "{\"request\":{\"Login\":\"admin@paymaster24.com\"}}" + "9DRQ3EcGP4ovAdzr";
    byte[] hash;
    using (var sha256 = new SHA256Managed())
    {
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
    }
    string signature = Convert.ToBase64String(hash); // KJjCMAnkRLaDJmB+0tmkENlCNMI9kM5EVs/BbBPWW0E=

                



Response

If the method is successfully executed, ie the signature check is successful, the response will return, in which ErrorCode will be 0, and ErrorMessage will be an empty string.

Response example api


{
    "response": {
        "ErrorCode": 0,
        "ErrorMessage": "",
        "Signature": "jXx3BBLsATXoC1+M/B2eHEAomypivRYwQp0hLYYQ7L4=",
        "TransactionId": 43453,
        "TypeTransactionStatus": 0
    }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is. If the signature is not formed correctly, a response will be returned in which ErrorCode will be set to 30. And ErrorMessage will contain the string on the basis of which the hash was received.

Response example api


{
    "response": {
        "ErrorCode":30,
        "ErrorMessage":"Authentication error: incoprrect login or unsuccessful hash verification."
    }
}
                

Create new transaction [/transaction/new]

This method is responsible for creating a new transaction. And contains the following fields:
Parameter Description Type Regular
expression
Obligatory
ClientTransactionId External transaction ID String ^.{0,255}$
AccountId Account ID in Payouts.Paymaster24 String ^\d{1,19}$
Amount Transaction amount Float
Currency Transaction currency (available types in Appendix) String ^(USD|EUR)$
TopupCurrency Topup currency
(available types in Appendix)
String ^(USD|EUR)$ (only for cross-currency payments)
TypePaymentMethod Payment method (available types in Appendix) Integer
Name Cardholder name String ^.{0,255}$
Surname Cardholder surname String ^.{0,255}$
MiddleName Recepient middle name String ^.{0,255}$
BirthDate Cardholder birth date String ^\d{4}\-(?:0[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$ (required for payments to cards)
Passport Recepient passport data String ^.{0,1024}$
Address Cardholder address String ^.{0,1024}$ (required for payments to cards)
AddressCountryCode Country сode(ISO 3166-1 alpha-2) String ^[A-Z]{2}$
AddressCity City String ^.{0,255}$ (required for payments to cards)
Email Recepient email String ^.{0,255}$
Phone Recepient phone String ^.{0,50}$
TaxId Recepient tax id String ^.{0,50}$
Bik Recepient bank bik String ^.{0,50}$
AccountNumber Recepeint account number. This can be a mobile phone number ('+' sign is required), card number, Bank account, and so on depending on the payment method. String ^.{0,255}$
CardExpiryMonth Month of card expiry date String ^(?:0[1-9]|1[012]$ (required for payments to cards)
CardExpiryYear Year of card expiry date String ^\d{4}$ (required for payments to cards)
ApiBehavior Api behavior
Default type is Legacy (available types in Appendix)
Integer
Signature Request signature String
Login Payouts.Paymaster24 user login String
Comment Comment String ^.{0,2048}$
(for payments to WebMoney purses ^.{0,150}$)
ContractorId Provider id for payments to personal accounts. For example api: payment for mobile communications. The list of available operators can be found here Integer

Request example api


    {
        "request":{
        "ClientTransactionId":"abcd1234",
        "AccountId":"1",
        "Amount":100.03,
        "Fee":0.00,
        "Currency":"USD",
        "TopupCurrency":"EUR",
        "Name":"John",
        "Surname":"Smith",
        "BirthDate":"1990-12-02",
        "Passport":"023477812",
        "Address":"221B Baker Street, London NW1 6XE",
        "AddressCity":"London",
        "AddressCountryCode":"GB",
        "Email":"",
        "Phone":"79093222111",
        "TaxId":"123456789123",
        "Bik":"",
        "BankAccount":"",
        "TypePaymentMethod":20,
        "AccountNumber":"79093222111",
        "IncludeTax":false,
        "CardExpiryMonth":"09",
        "CardExpiryYear":"2020",
        "Signature":"w8NPV4cOzbjePIFR0UJJ8oU+10Nu22UT9CO7fd/YNKg=",
        "Login":"admin@paymaster24.com",
        "ContractorId":1
        }
    }

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

JavaScript

Java


    string s = "/transaction/new" + "{\"request\":{\"ClientTransactionId\":\"abcd1234\",\"AccountId\":\"1\",\"Amount\":100.03,\"Fee\":0.00,\"Currency\":\"USD\",\"TopupCurrency\":\"USD\",\"Name\":\"John\",\"Surname\":\"Smith\",\"Passport\":\"023477812\",\"Address\":\"221B Baker Street, London NW1 6XE\",\"Email\":\"\",\"Phone\":\"79093222111\",\"TaxId\":\"123456789123\",\"Bik\":\"\",\"BankAccount\":\"\",\"TypePaymentMethod\":20,\"AccountNumber\":\"79093222111\",\"IncludeTax\":false,\"Login\":\"admin@paymaster24.com\"}}" + "9DRQ3EcGP4ovAdzr"
    byte[] hash;
    using (var sha256 = new SHA256Managed())
    {
        hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
    }
    string signature = Convert.ToBase64String(hash); // w8NPV4cOzbjePIFR0UJJ8oU+10Nu22UT9CO7fd/YNKg=

                



Response

If the method is successful, a transaction will be created with the Request status (see Appendix "Transaction Status Reference") and the TransactionId field will contain the value of the transaction identifier in the service Payouts.Paymaster24

Response example api


{
    "response": {
        "TransactionId":"138094",
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"qWGm9ouZ/prm83i9lnu2lUhoQs7BtMnoTeUtRI1ObJQ="
    }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Response example api


{
  "response": {
    "ErrorCode": 70,
    "ErrorMessage": "Incorrect transaction data",
    "Signature": "czUKmf7WabLyOFVfUiUfYfYPBJ+XzwvxW0wOPGi0/Mk=",
    "TransactionId": 0,
    "TypeTransactionStatus": 10
  }
}

Check transaction status [/transaction/status]

This method returns the transaction status.

Response example api


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"40mxIeBty+4AysT0soIJXHW+HI78aRe+t9TuzvxVYRE=",
        "Login":"admin@paymaster24.com"
    }
}           
                    

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


string s = "/transaction/status" + "{\"request\":{\"Login\":\"admin@paymaster24.com\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
string signature = Convert.ToBase64String(hash); // 40mxIeBty+4AysT0soIJXHW+HI78aRe+t9TuzvxVYRE=
                    
                



Response

If the method is successful, the transaction status will be returned (see Appendix "Transaction Status Reference") and transaction failure code (see Appendix "Transaction failure code Reference").

Response example api


    {
        "response": {
        "TypeTransactionStatus":10,
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"PG2GMGUnCu6ZlzsdoqszKXcFNZHlUqzO5BVLgtk6mI4=",
        "TypeFailureCode": 0,
        "TypeFailureMessage": ""
        }
    }

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Get transaction information [/transaction/info]

This method is responsible for returning information on the transaction.

Request example api


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"40mxIeBty+4AysT0soIJXHW+HI78aRe+t9TuzvxVYRE=",
        "Login":"admin@paymaster24.com"
    }
}           
                    

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


    string s = "/transaction/info" + "{\"request\":{\"Login\":\"admin@paymaster24.com\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
    byte[] hash;
    using (var sha256 = new SHA256Managed())
    {
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
    }
    string signature = Convert.ToBase64String(hash); ///4DvqoLWUWdzbgXmPfO3UAuVBQVwW5GQ49lGE720xtE=

                



Response

If the method is successful, a standard response with ErrorCode = 0 and an empty ErrorMessage will be returned. The response will contain information on the transaction.

Parameter Description Type
UserId The account number is received for payment, it can be a wallet, bank account, phone number, etc. String
TypePaymentMethod Payment method (available types in Appendix) Integer
Amount Transaction amount Float
Commission The amount of commission that was withheld by the service Float
Currency Transaction currency (available types in Appendix) String
TypeTransactionStatus Transaction status (available types in Appendix) Integer
DateTime Date and time of the last change in the status of the transaction String
ClientTransactionId External transaction ID String
TopupCurrency Topup currency String
Description Description of the transaction error String
SourceAmount Amount to be debited from the account Float
ExchangeRate Exchange rate Float
Comment Comment String

Response example api


{
   "response":
      {
         "ErrorCode":0,
         "ErrorMessage":"",
         "Signature":"SJAkz7mPfUnb6/zLJC4+vSNw6W7/Biqa+k9vky/R4iQ=",
         "TransactionInfo":
         {
            "UserId":"532100009006211",	
            "TypePaymentMethod":10,
            "Amount":5,
            "Commission":0.01,
            "Currency":"EUR",
            "TypePersonalTaxType":10,
            "TypeTransactionStatus":40,
            "DateTime":"20.11.2019 12:48:48",
            "ClientTransactionId":"81119",
            "TopupCurrency":"USD",
            "Description":"",
            "SourceAmount":0.08,
            "ExchangeRate":69.49,
            "Comment": "Comment"
         }
    }
}

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Cancel transaction [/transaction/cancel]

This method is responsible for canceling a transaction that is in a pending status (see Appendix "Transaction Status Reference"): Request or Pending

Request example api


{
    "request":{
        "ClientTransactionId":"abcd1234",
        "Signature":"aotwTQv4IqvwFrNooR/V5cTpHi+CKk/Gc0rfmRmC/ko=",
        "Login":"admin@paymaster24.com"
    }
}           
                    

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


string s = "/transaction/cancel" + "{\"request\":{\"Login\":\"admin@paymaster24.com\",\"ClientTransactionId\":\"abcd1234\"}}" + "9DRQ3EcGP4ovAdzr";
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
string signature = Convert.ToBase64String(hash); // aotwTQv4IqvwFrNooR/V5cTpHi+CKk/Gc0rfmRmC/ko=
                
                
                

Response

If the method is successfully executed, the transaction will be canceled and a standard response will be returned with ErrorCode = 0 and empty ErrorMessage

Response example api


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"+M1kLlDcFI7csCEBzp4p/7MF5Aa5+T3LKjES/jfqHZk="
    }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Get user info [/user/info]

This method is responsible for obtaining data on the payee.

- UserInfoIdentity responds to which field to look for the recipient in the service (see Appendix "Types of payee filter")

- UserId directly responsible for the user's identifier, which corresponds to UserInfoIdentity

Request example api


{
    "request":{
        "UserInfoIdentity":20,
        "UserId":"79050000001",
        "Signature":"vH5EHYrOPfmnKOtR1kRl6IBtk417fbkHZJZqcPJOp4I=",
        "Login":"admin@paymaster24.com"
    }
}           
                            

How to get Signature (API key 9DRQ3EcGP4ovAdzr)

C#

Javascript

Java


string s = "/user/info" + "{\"request\":{\"Login\":\"admin@paymaster24.com\",\"UserInfoIdentity\":20,\"UserId\":\"79050000001\"}}" + "9DRQ3EcGP4ovAdzr";
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
string signature = Convert.ToBase64String(hash); // vH5EHYrOPfmnKOtR1kRl6IBtk417fbkHZJZqcPJOp4I=
                        
                

Response

If the method is successfully executed, the standard response will be returned with ErrorCode = 0 and empty ErrorMessage. Also if the recipient is found by the transmitted identifier. Then the fields that identify the recipient will be returned in addition

Parameter Description Type
Id Recepeint ID in Payouts.Paymaster24 String
RegistrationDate Registration date String
LastTransactionDate Last transaction date String
TransactionNumber Transactions number Integer

Response example api


{
    "response": {
        "ErrorCode":0,
        "ErrorMessage":"",
        "Signature":"fyQz3Cda8xTPOOd9VcS7YowqLDNLBYaTy9kaFFCzQkY=",
        "Id":"104",
        "TransactionNumber":1,
        "RegistrationDate":"31.11.2015 07:59",
        "LastTransactionDate":"31.11.2015 07:59"
        
        
    }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Get accounts list [/account/list]

This method is responsible for obtaining a list of accounts

Request example api


{
    "request":{
        "Signature":"NW6a97+G/N5mWasOOlsdcLm5QswDRz/fNUzMvqg4nkM=",
        "Login":"admin@paymaster24.com"
    }
}           
                                

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


string s =  "/account/list" + "{\"request\":{\"Login\":\"admin@paymaster24.com\"}}" + "9DRQ3EcGP4ovAdzr";
// string s = "account_list;" + "9DRQ3EcGP4ovAdzr";
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
string signature = Convert.ToBase64String(hash); // NW6a97+G/N5mWasOOlsdcLm5QswDRz/fNUzMvqg4nkM=
                         
                

Response

If the method is successfully executed, the standard response will be returned with ErrorCode = 0 and empty ErrorMessage. The answer will contain a list of accounts. Each account contains fields

Parameter Description Type
Id Account ID in Payouts.Paymaster24 String
Balance Account balance Float
Currency Transaction currency String

Response example api


{
  "response": {
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Signature":"nWMQkJYGb69xraYTptED13altiqkkFIuRxmzl/jrYIs="
    "AccountList": [
      {
        "Balance": 0,
        "Id": "1",
        "Currency": "USD"
      }
    ],
  }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Get financial report [/report/financial]

Parameter Description Type
AccountId Account ID in Payouts.Paymaster24 String
StartDate Start date String
EndDate End date String
CompareDateType Selection by registration date (0), by value date (1). Optional parameter, if not specified then selection by registration date Int

Request example api


{
    "request": {
        "AccountId":"1",
        "StartDate":"09.11.2016 01:00:00",
        "EndDate":"09.11.2016 02:00:00",
        "Signature":"nTMolC4CwGRsKi0N/NtTQnXEN+UiebgkMJsZJ3zTjyM=",
        "Login":"admin@paymaster24.com"
    }
}
                

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


string s = "/report/financial" + "{\"request\":{\"Login\":\"admin@paymaster24.com\",\"AccountId\":\"1\",\"StartDate\":\"09.11.2016 01:00:00\",\"EndDate\":\"09.11.2016 02:00:00\"}}" + "9DRQ3EcGP4ovAdzr";
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
string signature = Convert.ToBase64String(hash); // nTMolC4CwGRsKi0N/NtTQnXEN+UiebgkMJsZJ3zTjyM=
                            
                

Response

If the method is successfully executed, the standard response will be returned with ErrorCode = 0 and empty ErrorMessage. The answer will contain a list of accounts. Each account contains fields

Parameter Description Type
AccountId Account ID in Payouts.Paymaster24 String
BeginBalance Start date balance Float
Commission Total Payouts.Paymaster24 commission amount during the period Float
CompletedTransactions Completed transactions number Integer
EndBalance End date balance Float
StartDate Start date String
EndDate End date String
FundsReceived Funds received by Payouts.Paymaster24 Float
Refunds Refunds amount Float
TotalRequestsNumber Total requests number Integer
Currency Transactions currency String

Response example api


{                     
  "response": {
        "ErrorCode": 0,
        "ErrorMessage": null,
        "Signature": "nTMolC4CwGRsKi0N/NtTQnXEN+UiebgkMJsZJ3zTjyM=",
        "AccountId": "1",
        "BeginBalance": 11240.93,
        "Currency": "USD",
        "TotalRequestsNumber": 0,
        "FundsReceived": 0,
        "CompletedTransactions": 23,
        "Refunds": 0,
        "Commission": 101.12,
        "EndBalance": 944.84,
        "StartDate": "09.11.2016 01:00:00",
        "EndDate": "09.11.2016 02:00:00"
   }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Get transaction list [/report/transaction_list]

Request example api


{
    "request": {
        "AccountId":"1",
        "StartDate":"09.11.2016 01:00:00",
        "EndDate":"09.11.2016 02:00:00",
        "Signature":"tkjadAjOxNb7+aXCeVhiDqyN8NJBo1qeHW54ZeAG1eg=",
        "Login":"admin@paymaster24.com"
    }
}
                

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


string s = "/report/transaction_list" + "{\"request\":{\"AccountId\":\"1\",\"StartDate\":\"09.11.2016 01:00:00\",\"EndDate\":\"09.11.2016 02:00:00\",\"Login\":\"admin@paymaster24.com\"}}" + "9DRQ3EcGP4ovAdzr";
// string s = "1;" + "09.11.2016 01:00:00;" + "09.11.2016 02:00:00;" + "9DRQ3EcGP4ovAdzr";
byte[] hash;
using (var sha256 = new SHA256Managed())
{
    hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
}
string signature = Convert.ToBase64String(hash); // tkjadAjOxNb7+aXCeVhiDqyN8NJBo1qeHW54ZeAG1eg=
                            
                

Response

If the method is successfully executed, the standard response will be returned with ErrorCode = 0 and empty ErrorMessage. The response will contain a list of transactions, if no transactions are found for the submitted period, then this list will be empty.

Parameter Description Type
UserId Recepeint account number. This can be a mobile phone number, card number, Bank account, and so on depending on the payment method. String
TypePaymentMethod Payment method type Integer
Amount Transaction amount Float
Commission Total commission amount Float
Currency Transactions currency String
TypePersonalTaxType Tax type Integer
TypeTransactionStatus Transaction status (available list in Appendix) Integer
DateTime Date and time of the last status change of a transaction String
Comment Comment String

Response example api


{
    "response": {
    "ErrorCode": 0,
    "ErrorMessage": "",
    "Signature": "uXItdlqA/tl8NounqMeRGkePf/5RKPzYNT0qLcdyNAY=",
    "TransactionList": [
            {
            "UserId":"532100009006211",	
            "TypePaymentMethod":10,
            "Amount":5,
            "Commission":0.01,
            "Currency":"EUR",
            "TypePersonalTaxType":10,
            "TypeTransactionStatus":40,
            "DateTime":"20.11.2019 12:48:48",
            "ClientTransactionId":"81119",
            "TopupCurrency":"USD",
            "Description":"",
            "SourceAmount":0.08,
            "ExchangeRate":69.49,
            "Comment": "Comment"
            }
        ]
    }
}
                

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is

Get exchange rate [/contractor/get_exchange_rate]

Request example api


{
    "request": {
        "Login":"1",
        "ContractorId":41, //operator id
        "WmCurrencyId":0, //top up currency id (0-WMZ, 98-WME)
        "Signature":"tkjadAjOxNb7+aXCeVhiDqyN8NJBo1qeHW54ZeAG1eg=",
        "Culture":"ru"
    }
}

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


    string s = "/contractor/get_exchange_rate" + "{\"request\":{\"ContractorId\":\"41\",\"WmCurrencyId\":\"0\",\"Culture\":\"ru\",\"Login\":\"admin@paymaster24.com\"}}" + "9DRQ3EcGP4ovAdzr";
    
    // Get hash with SHA-256
    byte[] hash;
    using (var sha256 = new SHA256Managed())
    {
        hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
    }
    // to Base64
    string signature = Convert.ToBase64String(hash);
    //Finally we have signature equals tkjadAjOxNb7+aXCeVhiDqyN8NJBo1qeHW54ZeAG1eg=

                

Ответ

If the method is successfully executed, the standard response will be returned with ErrorCode = 0 and empty ErrorMessage. The response contains the exchange rate.

Parameter Description Type
PaymentAmount Amount to be exchanged. Always 1 Float
PaymentCurrency Currency to be exchaged (WMZ, WME, WMR) String
PriceAmount Exchange rate Float
PriceCurrencyId Exchanged currency./td> Integer

Response example api


{
    "response": {
        "ErrorCode": 0,
        "ErrorMessage": "",
        "Signature": "kyOc5XsnWmShMvwMLFetbt6Hr8TJGszu73Nn9v5/3xQ=",
        "PaymentAmount": 1,
        "PaymentCurrency":"WMZ",
        "PriceAmount": 26.03,
        "PriceCurrencyId": 980
    }
}

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is.

Account number validation [/check/account_number]

This method is responsible for checking the account number and contains the following fields:
Parameter Description Type Regular
expression
Obligatory
Amount Transaction amount Float
TypePaymentMethod Payment method (available types in Appendix) Integer
AccountNumber Recepeint account number. This can be a mobile phone number ('+' sign is required), card number, Bank account, and so on depending on the payment method. String ^.{0,255}$

Request example api


{
    "request": {
        "AccountNumber":"Z957527778912",
        "TypePaymentMethod":30,
        "Login":"admin@paymaster24.com",
        "Signature": "1jeX0OJD2k3gMMLajBbU+Ea9snjT5DPTaViPnX/j4uI="
    }
}

How to get Signature (API key 9DRQ3EcGP4ovAdzr):

C#

Javascript

Java


    string s = "/check/account_number" + "{\"request\":{\"AccountNumber\":\"Z957527778912\",\"TypePaymentMethod\":30,\"Login\":\"admin@paymaster24.com\"}}" + "9DRQ3EcGP4ovAdzr";

    // Get hash with SHA-256
    byte[] hash;
    using (var sha256 = new SHA256Managed())
    {
        hash = sha256.ComputeHash(Encoding.UTF8.GetBytes(s));
    }
    // to Base64
    string signature = Convert.ToBase64String(hash);
    //Finally we have signature equals 1jeX0OJD2k3gMMLajBbU+Ea9snjT5DPTaViPnX/j4uI=

                

Ответ

If the method is successfully executed, the standard response will be returned with ErrorCode = 0 and empty ErrorMessage. The response will contain the verification status.

Parameter Description Type
IsValid Status check Boolean

Response example api


{
    "response": {
        "ErrorCode": 0,
        "ErrorMessage": "",
        "Signature":"Ks4AIHA7AyKC8NuYhUhv\/mePXQQkc0GZMphGDF5Pplc=",
        "IsValid":true
    }
}

If the operation is unsuccessful, the response will be returned with an error code (see Appendix "Types of errors") and a message in what the problem is.

Appendix

Api errors types

Name Value Description
OK 0 Operation was successful
InternalError 20 Internal service error
FailureAuthentication 30 Operation signature check was unsuccessful
InvalidLogin 40
ClientNotFound 50
SettlementAccountNotFound 60
IncorrectTransaction 70
DuplicateClientTransaction 80
DuplicateTransaction 90
TransactionNotFound 100
IncorrectTransactionStatus 110
IncorrectDateFormat 120
IncorrectCurrency 130
IncorrectAccountNumber 180
InsufficientFunds 190
RequestCountExceeded 200
CardExpired 210
InvalidRecipient 220
MultipleErrors 1005

Currencies list (Currency)

Name Value
USD USD
EUR EUR

Payment methods list (TypePaymentMethod)

Name Value
Card 10
Mobile 20
WM-purse 30, 100 (Specify the type with your manager)

Transaction statuses list (TypeTransactionStatus)

Name Value Description
Request 10 Request
Pending 20 Pending
Executing 30 Executing
Success 40 Success
FailureCheck 50 Failure check
Failure 60 Failure
Dispute 90 Dispute open
Canceled 100 Canceled

Transaction failure code list (TypeFailureCode)

Name Value Description
OK 0 OK
CommonLimitExceeded 10 Common limit exceeded
PaymentLimitExceeded 20 Payment limit exceeded
PaymentDayLimitExceeded 21 Daily limit exceeded
PaymentWeekLimitExceeded 22 Weekly limit exceeded
PaymentMonthLimitExceeded 23 Monthly limit exceeded
RecipientDayLimitExceeded 24 Recipient daily limit exceeded
ProhibitedCountry 25 Prohibited Country
TransactionCountLimitExceeded 30 The limit on number of operations is exceeded
InsufficientFunds 40 Insufficient funds
IncorrectRecipientId 50 Incorrect payment recipient ID
NoComission 60 Comission not found
IncorrectAmount 70 Invalid payment amount
AmountTooLow 80 Top-up amount is under the lower value
AmountTooHigh 90 Top-up amount is over the limit
IncorrectAccountNumber 100 Invalid account number
IncorrectCurrency 110 Invalid currency recharge
TransactionCurrencyDiffersRecipient 111 Transaction currency differs from recipient's purse currency.
NumberRefillDenied 120 Crediting this number is prohibited
Rejected 130 Transaction rejected
RejectedByOperator 131 Request was refused by the operator
PurseOrWmidBlocked 132 Restrictions on the recipient account
ServiceSuspendedWME 133 Payment to this WME account is temporarily not available due to unfulfilled WME Guarantor requirements
RejectedByCompilance 134 Rejected by Compliance
OperatorNotAvailable 140 This operator is not available
NoPaymentOwner 150 Owner was not found
InvalidEmoneyAccount 170 A client should include a payment provider. Please contact Customer Support.
IncorrectParameters 180 Incorrect parameters
RecipientPurseNotFound 181 Recipient’s WM purse is not found.
PaymentToAccountNotAvailable 182 Payment to this account is not available.
PaymentRejectedByTechnicalReasons 183 Payment has been rejected due to technical reasons. Please try again.
PaymentMethodNotAvailable 184 Payment method is unavailable
Other 500 Other failure reason
SystemError 1000 System error
OtherResolved 1001 Other failure reason

Api behavior type list (ApiBehavior)

Name Value Description
Legacy 10 Returning an error in case of a duplicate successful transaction.
When re-sending an unsuccessful transaction, the ClientTransactionId of the unsuccessful transaction is overwritten in the format ClientTransactionId-TransactionId
Idempotent 20 Idempotence by ClientTransactionId

User filters types list (UserInfoIdentity)

Name Value
ByCard 10
ByMobile 20
ByWmPurse 30

Registry example

.xls .csv