Keys
To start working with the API, you need to generate keys. This can be done in the user panel, in the "API keys" section.
You will receive an API key and a secret key. The first one you can always see in the list of your keys, while the secret key will be shown only at the moment of its generation.
Signature
The signature for sending a request and for authenticating a callback is generated in the same way:
hex(HMAC_SHA512(jsondata), key=api_secret)
jsondata - all passed parameters in json format
api_secret - secret key
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'balances' must be passed |
| currency |
String |
No |
Balance currency code, e.g. 'USD'. If the parameter is not passed - all balances are output. |
Request parameters example in json:
{
"action":"balances",
"currency":"USD"
}
Response
Response parameters:
| Parameter |
Type |
Description |
| USDT |
Numeric |
Your balance in USDT |
| RUB |
Numeric |
Your balance in RUB |
| LTC |
Numeric |
Your balance in LTC |
| BTC |
Numeric |
Your balance in BTC |
| KZT |
Numeric |
Your balance in KZT |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"USD":10.45,
"success":true
}
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'invoice' must be passed in |
| uniqueid |
String |
Yes |
A unique identifier in your system. Must not be repeated. |
| paysys |
String |
Yes |
The code of the payment system to which payment will be made after payment of the invoice. Codes of available systems can be viewed in the "Payment system codes" section. |
| amount |
Numeric |
Yes, if pay_amount is not passed |
Invoice amount (amount to receive in paysys currency) |
| pay_amount |
Numeric |
No |
The amount whose equivalent you want to receive (in the payment system currency from paylist). If passed, amount (in paysys currency) is calculated automatically. The actual amount to pay will differ and is usually higher for comis='payer' due to direction fees. |
| purse |
String |
Yes |
The account to which the funds will be sent. Depending on the payment system, it can be login, account, wallet, address or card number. Not required for the internal balance of the system. |
| paylist |
String |
No |
List of payment systems from which the invoice payment is available. The separator is a comma. If not specified - no restrictions. If pay_amount is passed, paylist must contain exactly one code. |
| comis |
String |
No |
Who pays the fee. 'payer' - payer, 'payee' - you. Default is 'payer'. |
| dtag |
String |
No |
Destination Tag or Memo, if one is required. |
| email |
String |
No |
User's email |
| name |
String |
No |
Username. Mandatory for transfers to cards. |
| surname |
String |
No |
Last name of the user. Mandatory for transfers to cards. |
| desc |
String |
No |
Invoice descriptions. Will be shown to the payer. |
| callbackurl |
String |
No |
The URL to which the invoice payment notification will be sent. Please refer to the Callback section for more details. |
| successurl |
String |
No |
The URL that returns the user to after paying the invoice. |
| failurl |
String |
No |
The URL to which it returns the user if the invoice payment fails. |
Request parameters example in json:
{
"action":"invoice",
"uniqueid":"125",
"paysys":"WMZ",
"amount":1.00,
"purse":"Z123456789012",
"paylist":"WMZ,WMR,WME",
"comis":"payer",
"desc":"Description"
}
Request example with pay_amount (when you need to fix the receive amount expressed in the payment currency):
{
"action":"invoice",
"uniqueid":"126",
"paysys":"USDTTRC20",
"pay_amount":1500.00,
"purse":"TQWv7b8JmYV8m7...",
"paylist":"SBP_RUB",
"comis":"payer",
"desc":"Description"
}
Response
Response parameters:
| Parameter |
Type |
Description |
| invoice |
String |
URL for invoice payment |
| requisites |
Array |
Payment details. May be missing if payment is only possible via URL. |
| requisites.amount |
Numeric |
Payment amount |
| requisites.currency |
String |
Payment currency |
| requisites.type |
String |
Payment type. Possible values: card - payment to card, phone - payment by phone number (SBP), account - bank account number, qr - QR for payment, crypto - crypto address |
| requisites.wallet |
String |
Card number, phone number, account number, QR or address for payment |
| requisites.payment_url |
String |
Payment page/QR URL (relevant for qr-type methods, e.g. nspk). May be missing. |
| requisites.info |
String |
Additional information: bank, card owner, etc. |
| requisites.country |
String |
Country (if provided by payment system) |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"invoice":"https://bitloga.com/exchange/id-487142ef9e5e2f2cbc9c1dca214f44/step-4",
"requisites":{
"amount":2438,
"currency":"RUB",
"type":"phone",
"wallet":"790888899999",
"info":"Bank: any bank. Recipient: Guora G.",
"country":"Tajikistan"
},
"success":true
}
Callback
Once the invoice is paid, if the 'callbackurl' parameter was specified when the invoice was created, a notification request will be sent to that url.
If the request does not receive a success code (200) in response, it will be repeated, with increasing pauses, up to 10 times.
The request sends all invoice data in json format using POST method.
The request signature is encrypted and sent in the same way as for incoming requests - in the 'X-SIGNATURE' headers parameter.
Callback parameters:
| Parameter |
Type |
Description |
| to |
String |
The payment system to which the funds were transferred. |
| amount |
Numeric |
Invoice Amount. |
| purse |
String |
The account to which the funds are sent. |
| type |
String |
Transaction Type. Invoice - billed invoice. |
| status |
String |
Transaction Status. Payed - the invoice has been paid. |
| dtag |
String |
Destination Tag or Memo. Passed only if specified when creating the invoice. |
| name |
String |
User name. Passed only if it was specified when creating the invoice. |
| surname |
String |
Last name of the user. Passed only if it was specified when creating the invoice. |
| invoiceid |
Numeric |
Numeric identifier of the invoice. Corresponds to the identifiers in the list of invoices in the user panel. |
| uniqueid |
String |
A unique identifier in your system. |
Example of callback parameters:
{
"to":"WMZ",
"amount":1.00,
"purse":"Z123456789012",
"type":"Invoice",
"status":"Payed",
"invoiceid":5,
"uniqueid":"125"
}
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'withdraw' must be passed |
| uniqueid |
String |
Yes |
A unique identifier in your system. Must not be repeated. |
| currency |
String |
Yes |
The currency code of the balance currency from which the payment is made. For example, 'USD'. |
| paysys |
String |
Yes |
The code of the payment system to which the payment will be made. Codes of available systems can be viewed in the section "Codes of payment systems". |
| amount |
Numeric |
Yes |
Amount of payment in the currency of the payment system transferred to 'paysys' |
| purse |
String |
Yes |
The account to which the funds will be sent. Depending on the payment system, this can be a login, account, wallet, address or card number. |
| dtag |
String |
No |
Destination Tag or Memo if one is required. |
| name |
String |
No |
First name of the user. Mandatory for transfers to cards. |
| surname |
String |
No |
Last name of the user. Mandatory for transfers to cards. |
Request parameters example in json:
{
"action":"withdraw",
"uniqueid":"135",
"currency":"USD",
"paysys":"WMZ",
"amount":10.00,
"purse":"Z123456789012"
}
Response
Response parameters:
| Parameter |
Type |
Description |
| from |
String |
The currency from which the payment was made. |
| to |
String |
The payment system to which the payment was made. |
| amount_from |
Numeric |
The amount of payment in the balance currency, excluding the service commission. |
| amount_from_comis |
Numeric |
The amount of payment in the balance currency, taking into account the service commission. This amount was debited from the balance. |
| amount_to |
Numeric |
The amount of the payout sent to the specified account. |
| purse |
String |
The account to which the funds are sent. |
| status |
String |
Payment status. 'Complete' - completed. |
| dtag |
String |
Destination Tag or Memo. |
| name |
String |
User's first name. |
| surname |
String |
User's last name. |
| orderid |
String |
Internal transaction identifier. Corresponds to the identifiers in the list of transactions in the user panel. |
| transid |
String |
The unique identifier of the transaction in our system. |
| uniqueid |
String |
A unique identifier in your system. |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"from":"USD",
"to":"WMZ",
"amount_from":10.10,
"amount_from_comis":10.10,
"amount_to":10.00,
"purse":"Z123456789012",
"status":"Complete",
"orderid":29,
"transid":"436fd74c6ec5d1bde1b7969190f81e50",
"uniqueid":"135",
"success":true
}
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'details' must be passed. |
| uniqueid |
String |
Yes |
A unique identifier in your system. |
Request parameters example in json:
{
"action":"details",
"uniqueid":"135"
}
Response
Response parameters:
| Parameter |
Type |
Description |
| from |
String |
Currency from which the payment was made. Only for type='Withdraw'. |
| to |
String |
The payment system to which the funds were transferred. |
| amount |
Numeric |
Invoice Amount. Only for type='Invoice'. |
| amount_from |
Numeric |
The amount of payment in the currency of the balance, without taking into account the service commission. Only for type='Withdraw'. |
| amount_from_comis |
Numeric |
The amount of payment in the balance currency, taking into account the service commission. This amount was debited from the balance. Only for type='Withdraw'. |
| amount_to |
Numeric |
The amount of payment sent to the specified account. Only for type='Withdraw'. |
| purse |
String |
The account to which the funds are sent. |
| type |
String |
Transaction Type. Withdraw or Invoice. |
| status |
String |
Transaction Status. Payed, Created, Pending, Complete, Canceled, Error. |
| dtag |
String |
Destination Tag or Memo. |
| name |
String |
User's first name. |
| surname |
String |
User's last name. |
| invoiceid |
String |
Internal identifier of the invoice. Corresponds to the identifiers in the invoice list in the user panel. Only for type='Invoice'. |
| orderid |
String |
Internal transaction identifier. Corresponds to the identifiers in the list of transactions in the user panel. Only for type='Withdraw'. |
| transid |
String |
Unique transaction identifier in our system. Only for type='Withdraw'. |
| uniqueid |
String |
A unique identifier in your system. |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"from":"USD",
"to":"WMZ",
"amount_from":10.10,
"amount_from_comis":10.10,
"amount_to":10.00,
"purse":"Z123456789012",
"type":"Withdraw",
"status":"Complete",
"orderid":29,
"transid":"436fd74c6ec5d1bde1b7969190f81e50",
"uniqueid":"135",
"success":true
}
{
"to":"WMZ",
"amount":1.00,
"purse":"Z123456789012",
"type":"Invoice",
"status":"Payed",
"invoiceid":5,
"uniqueid":"125",
"success":true
}
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'create' must be passed. |
| amount |
Numeric |
Yes |
Code amount. |
| currency |
String |
Yes |
Code currency, e.g. 'USD'. |
| pass |
String |
No |
Code Password. If specified - required to activate the code. |
| desc |
String |
No |
Code Description |
Request parameters example in json:
{
"action":"create",
"amount":1.00,
"currency":"USD",
"pass":"mypassword",
"desc":"Code description"
}
Response
Response parameters:
| Parameter |
Type |
Description |
| code |
String |
Created code |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"code":"wf9g-amrf-2o9t-831u",
"success":true
}
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'apply' must be passed. |
| code |
String |
Yes |
Code value |
| pass |
String |
No |
Code Password. Required if it was specified at creation. |
Request parameters example in json:
{
"action":"apply",
"code":"wf9g-amrf-2o9t-831u",
"pass":"mypassword"
}
Response
Response parameters:
| Parameter |
Type |
Description |
| amount |
Numeric |
Code amount |
| currency |
String |
Code currency |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"amount":1.00,
"currency":"USD",
"success":true
}
Request
Request parameters:
| Parameter |
Type |
Mandatory |
Description |
| action |
String |
Yes |
The value 'get' must be passed. |
| code |
String |
No |
Code. Use to get details on a specific code. |
| amount |
Numeric |
No |
Code Amount. Use to retrieve all codes for the specified amount. |
| currency |
String |
No |
Code Currency. Use to retrieve all codes in the specified currency. |
| status |
String |
No |
Code Status. Possible values: 'Active', 'Redeemed', 'Disabled'. |
| offset |
Numeric |
No |
Number of skipped codes from the beginning of the list. |
| limit |
Numeric |
No |
Limit on the number of codes that can be issued. Maximum 100. |
Request parameters example in json:
{
"action":"get",
"status":"Active",
"limit":10
}
Response
Response parameters:
| Parameter |
Type |
Description |
| data |
Array |
Array of codes |
| code |
String |
Code |
| amount |
Numeric |
Code amount |
| currency |
String |
Code currency |
| pass |
String |
If a password is required for activation - set to 'Required'. |
| desc |
String |
Code Description |
| status |
String |
Code Status. Possible values: 'Active', 'Redeemed', 'Disabled'. |
| createtime |
String |
Date and time of code creation. |
| applytime |
String |
Date and time of code activation, if activated. |
| success |
Boolean |
true - request is successful, false - not successful |
Response example in json:
{
"data":[{
"code":"wf9g-amrf-2o9t-831u",
"amount":1.00,
"currency":"USD",
"pass":"Required",
"desc":"Code description",
"status":"Active",
"createtime":"2022-07-11 15:27"
}],
"success":true
}
07.02.2026
The 'invoice' method response can include the 'requisites' object (payment details for direct payment). The requisites.type field can be: card, phone, account, qr, crypto. For qr methods, requisites.payment_url can also be returned.
15.08.2022
The 'paylist' parameter has been added to the 'invoice' method, allowing you to specify the payment systems available for invoice payment.
Added methods for working with codes: code creation (create), code activation (apply) and code details (get).