Structure of the callback request

POST request is made for each event to your given address(-es). 2 parameters are passed:

  • data - encoded data about the event that occurred.
  • sign - encoded signature of data parameter.

To process the callback, you must check if the sign passes the verification and, if it does, decode the data parameter.

Both parameters are encoded using the base64 encoding scheme.

Afterwards, symbol + is replaced with -, and / with _. You have to decode the parameters applying the reverse actions:

  1. Replace the symbols in the text: - to +, _ to /;
  2. Decode the result using base64 encoding scheme.

Signature of data parameter is signed with RSA key, using SHA1 hash function. Certificate, related to the key of the signature, is available via the address:

Data about the event is URL-encoded before encoding with base64 and replacing special symbols. To get an array of data, use URL decoding.

Example code in PHP, how to handle the callback:


$publicKey = loadFromWeb();
$sign = $_POST['sign'];
$data = $_POST['data'];

$signReplaced = strtr($sign, array('-' => '+', '_' => '/'));
$signDecoded = base64_decode($signReplaced);

if (openssl_verify($data, $signDecoded, $publicKey, OPENSSL_ALGO_SHA1) === 1) {
    $dataReplaced = strtr($data, array('-' => '+', '_' => '/'));
    $dataDecoded = base64_decode($dataReplaced);
    parse_str($dataDecoded, $params);

    // use $params

    echo 'OK';
Info If PHP is your choice of programming language, we recommend using the provided library.
Info In case of success, callback script must return a response beginning with or equal to 'OK'.

Values from the given example

Agªâ€“å¨óüXÄo„û½¥=*ðÍzMÊûRïÍp¥þö?®@‘ëòç.áIpÈ-ïcZâ„¢4-Æùz²ùK¤nˆ^y335¨Î¢LÍÍ®KN#_¾×¹•wRVÆ¢(Z/Mâ„¢zï&,èCI]*Æ’j.ÜPµô-!/—R@‹I=»Å’U­¸dÕÞ»y’‡û:ɺ§laþù8¿ÅØd…“NV}©[á6ԍ§H…uÁÌBÈ2â„¢{í;¢ã½rñ†™uJ#%/*ß%Ÿ¤¥ /L/Æ:¹r±4…qiøé$)ÀZéôø¹â„¢8Fl`Uÿ1CÆ.4Ž~×\0Ke·Þ
array(8) {
    string(2) "MK"
    string(1) "1"
    string(16) "EVP0000000000001"
    string(5) "23.09"
    string(3) "EUR"
    string(16) "EVP0000000000002"
    string(7) "Details"
    string(8) "99999999"
    string(9) "123456789"

Event parameters

After checking the signature and decoding the data, you get the actual parameters about the event. If any of the parameters is empty, it will not be included in the URL-encoded string.

Parameter name Details Example
type Type identifiers:
  • MK - Payment
  • HO - Deposits
  • FX - Currency exchange
  • MM - Other transaction
credit 1 if it is incoming funds, 0 if it is outgoing funds. Not provided if it is currency exchange 1
account Account number. It is the subject of the event EVP0000000000001
amount Amount of incoming/outgoing funds. Always positive. Decimal part is separated with dot ("."). Not provided if it is currency exchange 29.99
currency Currency of the amount provided. Always comes with amount EUR
from_amount Provided only in currency exchange. Amount of outgoing funds 10.00
from_currency Always comes with from_amount EUR
to_amount Provided only in currency exchange. Amount of incoming funds 34.54
to_currency Always comes with to_amount EUR
beneficiary_name Only for outgoing transfers. Name of the beneficiary. Not provided if unavailable John Smith
beneficiary_code Only for outgoing transfers. Code (personal or company) of the beneficiary. Not provided if unavailable 38001010000
beneficiary_account Only for outgoing transfers. Account number of the beneficiary LT001100000111100000
payer_name Only for incoming transfers. Name of the payer. Not provided if unavailable John Smith
payer_code Only for incoming transfers. Code (personal or company) of the payer. Not provided if unavailable 38001010000
payer_account Only for incoming transfers. Account number of the payer. Not provided if unavailable LT001100000111100000
details Details text of the transfer Payment for request no. 123456
transfer_id Identifier of the transfer in our system 123456
reference_number Reference number provided in the transfer. Not provided if unavailable AB12345
reference_to_beneficiary Reference to the beneficiary provided in the transfer. Not provided if unavailable AB12345
reference_to_payer Reference to the payer provided in the transfer. Not provided if unavailable AB12345
statement_id Unique statement id in our system.
Important. Check statement id. If the message was not received before, save this number
created_at Transfer creation date 1448615390