API документация

API для работы с кошельком

Для работы с API кошелька необходимо сгенерировать ключ для доступа на странице https://fkwallet.com/settings/

Все запросы отправляются методом POST на URL https://fkwallet.com/api_v1.php, ответ в формате JSON

Получение баланса кошелька

Обязательные параметры:
wallet_id Ваш номер кошелька
sign Контрольная подпись MD5, формируется из вашего wallet_id и API ключа, например
md5('F123456789'.'JG68NC68DJC8S0DCH6')
action get_balance

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'sign'=>md5('F123456789'.'JG68NC68DJC8S0DCH6'),
        'action'=>'get_balance',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Wallet balance","data":{"RUB":"50.00","USD":"0.00","EUR":"0.00"}}

Вывод средств из кошелька

Обязательные параметры:
wallet_id Ваш номер кошелька
purse Кошелек для вывода
amount Сумма вывода
desc Примечание
currency Валюта для вывода
disable_exchange 1 - чтобы отключить автоматический обмен
order_id * не обязательно - ваш номер операции (целое положительное число)
bank_id * не обязательно - id банка для вывода SBP
check_duplicate 1
*при указании номера операции с данным параметром, будет выдана ошибка, если заявка с таким номером операции уже существует
sign Контрольная подпись MD5, формируется из параметров wallet_id, currency, amount, purse и API ключа, например
md5('F123456789'.'64'.'10.23'.'79111111111'.'JG68NC68DJC8S0DCH6')
action cashout

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'purse'=>'79111111111',
        'amount'=>10.23,
        'desc'=>'Test payment',
        'currency'=>64,
        'sign'=>md5('F123456789'.'64'.'10.23'.'79111111111'.'JG68NC68DJC8S0DCH6'),
        'action'=>'cashout',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Payment send","data":{"payment_id":"543273"}}

Пример отправки большой суммы с разбивкой


$from = 'F123456789';
$currency = 64;
$to = '79111111111';
$desc = 'Test payment';
$secret = 'JG68NC68DJC8S0DCH6';


$amount = 105000; //Сумма к отправке
$max_amount = 10000; //Нужно отправить за один раз


$payments_count = floor($amount/$max_amount);

$rest_amount = bcmod($amount,$max_amount);

//Отправляем
for ($i=0;$i<$payments_count;$i++) send_money($from, $to, $max_amount, $desc, $currency);

//И остаток
if ($rest_amount>0) send_money($from, $to, $rest_amount, $desc, $currency);


function send_money($from, $to, $amount, $desc, $currency) {
    global $secret;

    $data = array(
            'wallet_id'=>$from,
            'purse'=>$to,
            'amount'=>$amount,
            'desc'=>$desc,
            'currency'=>$currency,
            'sign'=>md5($from.$currency.$amount.$to.$secret),
            'action'=>'cashout',
        );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);

}
                

Список доступных валют

2 WebMoney WMZ (комиссия 2.00%)
Z12345678912 Мин - 10 руб, Макс - 15000 руб
63 QIWI кошелек (комиссия 4.00%)
+79261234567 Мин - 100 руб, Макс - 15000 руб
64 Perfect Money USD (комиссия 15.00%)
U1234567 Мин - 10 руб, Макс - 15000 руб
45 Яндекс.Деньги (комиссия 3.00%)
410011812345678 Мин - 10 руб, Макс - 15000 руб
69 Perfect Money EUR (комиссия 6.50%)
U1234567 Мин - 10 руб, Макс - 15000 руб
82 Мобильный Платеж Мегафон (комиссия 1.00%)
+79261234567 Мин - 10 руб, Макс - 15000 руб
83 Мобильный Платеж Билайн (комиссия 1.00%)
+79261234567 Мин - 10 руб, Макс - 15000 руб
84 Мобильный Платеж МТС (комиссия 1.00%)
+79261234567 Мин - 10 руб, Макс - 15000 руб
94 VISA/MASTERCARD RUB (комиссия 4.00%)
4012888812345678 Мин - 100 руб, Макс - 10000 руб
132 Мобильный Платеж Tele2 (комиссия 1.00%)
+79261234567 Мин - 10 руб, Макс - 15000 руб
115 PAYEER USD (комиссия 15.00%)
P12345678 Мин - 920 руб, Макс - 46046 руб
P12345678 Мин - 10 USD, Макс - 500 USD
114 PAYEER RUB (комиссия 17.00%)
P12345678 Мин - 10 руб, Макс - 100000 руб
133 FK WALLET RUB (комиссия 0.00%)
F123456789 Мин - 10 руб, Макс - 600000 руб
186 VISA/MASTERCARD KZT (комиссия 4.00%)
4012888812345678 Мин - 208 руб, Макс - 104121 руб
4012888812345678 Мин - 1000 KZT, Макс - 500000 KZT
201 СБП (комиссия 3.00%)
Мин - 10 руб, Макс - 15000 руб

Список банков для SBP

wallet_id Ваш номер кошелька
sign Контрольная подпись MD5, формируется из параметров wallet_id и API ключа, например
md5('F123456789'.'JG68NC68DJC8S0DCH6')
action sbp_list

Уведомление о выводе

Для получения уведомлений, укажите в настройках API свой URL для уведомлений
На данный урл, при изменении статуса, будут отправлены следующие данные

Параметры:
wallet_id Ваш номер кошелька
order_id Номер операции
status Статус операции
amount Сумма
user_order_id Ваш номер операции
sign Контрольная подпись MD5, формируется из параметров wallet_id, order_id, user_order_id, status, amount и API ключа, например
md5('F123456789'.'123'.'321'.'1'.'100.12'.'JG68NC68DJC8S0DCH6')

Список Статусов

1 Успешно выполнен
7 В процессе
9 Ошибка

Получение статуса операции вывода из кошелька

Обязательные параметры:
wallet_id Ваш номер кошелька
payment_id Номер операции полученный при отправке запроса
user_order_id или ваш номер операции
sign Контрольная подпись MD5, формируется из параметров wallet_id, payment_id (или user_order_id) и API ключа, например
md5('F123456789'.'543273'.'JG68NC68DJC8S0DCH6')
action get_payment_status

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'payment_id'=>'543273',
        'sign'=>md5('F123456789'.'543273'.'JG68NC68DJC8S0DCH6'),
        'action'=>'get_payment_status',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Order status","data":{"payment_id":"543273","status":"Canceled"}}

Список Статусов

New Новая
In process В процессе
Completed Выполнена
Canceled Отменена

Перевод на другой кошелек

Обязательные параметры:
wallet_id Ваш номер кошелька
purse Кошелек для перевода
amount Сумма перевода
sign Контрольная подпись MD5, формируется из параметров wallet_id, purse, amount и API ключа, например
md5('F123456789'.'10.23'.'F123456710'.'JG68NC68DJC8S0DCH6')
action transfer

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'purse'=>'F123456710',
        'amount'=>10.23,
        'sign'=>md5('F123456789'.'10.23'.'F123456710'.'JG68NC68DJC8S0DCH6'),
        'action'=>'transfer',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Payment send"}

Оплата онлайн услуг

Обязательные параметры:
wallet_id Ваш номер кошелька
service_id ID услуги
account Кошелек для перевода
amount Сумма перевода
order_id * не обязательно - ваш номер операции (целое положительное число)
check_duplicate 1
*при указании номера операции с данным параметром, будет выдана ошибка, если заявка с таким номером операции уже существует
sign Контрольная подпись MD5, формируется из параметров wallet_id, amount, account и API ключа, например
md5('F123456789'.'10.23'.'79261233212'.'JG68NC68DJC8S0DCH6')
action online_payment

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'service_id'=>3,
        'account'=>'79261233212',
        'amount'=>10.23,
        'sign'=>md5('F123456789'.'10.23'.'79261233212'.'JG68NC68DJC8S0DCH6'),
        'action'=>'online_payment',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Payment send","data":{"payment_id":"543273"}}

Список сервисов для онлайн оплаты

Обязательные параметры:
wallet_id Ваш номер кошелька
sign Контрольная подпись MD5, формируется из параметров wallet_id и API ключа, например
md5('F123456789'.'JG68NC68DJC8S0DCH6')
action providers

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'sign'=>md5('F123456789'.'JG68NC68DJC8S0DCH6'),
        'action'=>'providers',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    
    {
    "status": "info",
    "desc": "Providers list",
    "data": [
            {
                "id": "1",
                "name": "МТС",
                "min_amount": "5.00",
                "commission": "0"
            },
            {
                "id": "2",
                "name": "Билайн",
                "min_amount": "5.00",
                "commission": "0"
            },
        ]
    }

    

Проверка статуса онлайн платежа

Обязательные параметры:
wallet_id Ваш номер кошелька
payment_id Номер платежа, полученный при отправке
user_order_id или ваш номер операции
sign Контрольная подпись MD5, формируется из параметров wallet_id, payment_id (или user_order_id) и API ключа, например
md5('F123456789'.'6532323'.'JG68NC68DJC8S0DCH6')
action check_online_payment

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'payment_id'=>'6532323',
        'sign'=>md5('F123456789'.'6532323'.'JG68NC68DJC8S0DCH6'),
        'action'=>'check_online_payment',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Order status","data":{"payment_id":"6532323","status":"Canceled"}}

Список Статусов

New Новая
In process В процессе
Completed Выполнена
Canceled Отменена

Создание BTC/LTC/ETH адреса

Адрес резервируется на 3 дня, для продления резерва необходимо повторно отправить данный запрос (не ранее, чем через 24 часа с момента резерва). Пожалуйста не спамьте запросами, достаточно отправлять запрос раз в 2 дня, чтобы адрес постоянно был зарезервирован за вами



Обязательные параметры:
wallet_id Ваш номер кошелька
sign Контрольная подпись MD5, формируется из параметров wallet_id и API ключа, например
md5('F123456789'.'JG68NC68DJC8S0DCH6')
action create_btc_address (BTC) / create_ltc_address(LTC) / create_eth_address(ETH)

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'sign'=>md5('F123456789'.'JG68NC68DJC8S0DCH6'),
        'action'=>'create_btc_address',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"Address created","data": [{"address": "4eftk98j9h76g5454er5ty8uh3dwec"}]}

Получение BTC/LTC/ETH адреса

Обязательные параметры:
wallet_id Ваш номер кошелька
sign Контрольная подпись MD5, формируется из параметров wallet_id и API ключа, например
md5('F123456789'.'JG68NC68DJC8S0DCH6')
action get_btc_address (BTC) / get_ltc_address (LTC) / get_eth_address (ETH)

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'sign'=>md5('F123456789'.'JG68NC68DJC8S0DCH6'),
        'action'=>'get_btc_address',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    {"status":"info","desc":"","data":{"address":"46D98a09Fd204C9C72d2A2Dd3563fF5495aD41D0","valid":"2020-05-16 14:54:52"}}

Уведомление о новой Bitcoin/Litecoin/Ethereum транзакции

Для получения уведомлений, укажите в настройках API свой URL для уведомлений

На данный урл, при появлении новой транзакции, будут отправлены следующие данные
wallet_id Ваш номер кошелька
address Адрес
transaction_id ID транзакции
amount Сумма
fee Комиссия
confirmations Количество подтверждений
date Дата
sign Контрольная подпись MD5, формируется из параметров wallet_id, address, transaction_id, amount, fee, confirmations, date и API ключа, например
md5('F123456789'.'567897688tgydscsd8985'.'gb56yu3txdy237dy2xu8d2983tdxy23dux2873d7yx20d'.'0.001'.'0'.'0'.'2017-01-01 23:32:33'.'JG68NC68DJC8S0DCH6')

Получение информации по Bitcoin/Litecoin/Ethereum транзакции

Обязательные параметры:
wallet_id Ваш номер кошелька
transaction_id ID транзакции
sign Контрольная подпись MD5, формируется из параметров wallet_id, transaction_id и API ключа, например
md5('F123456789'.'gb56yu3txdy237dy2xu8d2983tdxy23dux2873d7yx20d'.'JG68NC68DJC8S0DCH6')
action get_btc_transaction (BTC) / get_ltc_transaction (LTC) / get_eth_transaction (ETH)

Пример запроса:
    $data = array(
        'wallet_id'=>'F123456789',
        'transaction_id'=>'gb56yu3txdy237dy2xu8d2983tdxy23dux2873d7yx20d',
        'sign'=>md5('F123456789'.'gb56yu3txdy237dy2xu8d2983tdxy23dux2873d7yx20d'.'JG68NC68DJC8S0DCH6'),
        'action'=>'get_btc_transaction',
    );
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://fkwallet.com/api_v1.php');
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $result = trim(curl_exec($ch));
    $c_errors = curl_error($ch);
    curl_close($ch);
                

Пример ответа:
    
    {
    "status":"info",
    "desc":"",
    "data": [
        {
            "address": "4eftk98j9h76g5454er5ty8uh3dwec",
            "transaction_id": "gb56yu3txdy237dy2xu8d2983tdxy23dux2873d7yx20d",
            "amount": "0.001",
            "fee": "0",
            "confirmations": "4",
            "date": "2017-01-01 23:32:33"
        }
    ]
    }