Получение ответа в формате JSON
Для получения ответа в JSON передайте в запросе type=json
Пример запроса
https://www.free-kassa.ru/api.php?merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=get_balance&type=json
Пример ответа:
{
"type": "info",
"desc": "Merchant balance",
"data": {
"balance": "6440.00"
}
}
Настройка учетной записи
Для начала работы необходимо заполнить следующую форму в личном кабинете на странице "
технические данные"
Необходимые параметры:
Название сайта |
Отображаемое имя Вашего сайта на странице оплаты |
URL сайта |
URL Вашего сайта |
Секретное слово |
Секретное слово для формирования подписи для формы оплаты |
Секретное слово 2 |
Секретное слово для формирования подписи для проверки данных (которые отправляются на Ваш Result Url) после оплаты |
URL оповещения |
Страница Вашего сайта, на который будут отправлены данные с информацией о платеже |
Метод оповещения |
Здесь и ниже - способ передачи данных на Ваш сайт (GET или POST) |
URL возврата в случае успеха |
На эту страницу будет перенаправлен покупатель в случае успешной оплаты |
URL возврата в случае неудачи |
На эту страницу будет перенаправлен покупатель, если при оплате возникла какая-либо ошибка |
Режим интеграции |
По умолчанию НЕТ. Режим сделан для упрощения переноса сайта от другого сервиса приема платежей. Подробнее |
Кто платит комиссию |
Выберите, кто платит комиссию при осуществлении платежей |
Способы выплат |
Онлайн - деньги сразу переводятся на Ваши кошельки (доступно не для всех валют). Вручную - выплату необходимо заказывать |
Настройка формы оплаты
Форма оплаты содержит все необходимые данные для оплаты заказа. Передается методом
GET на адрес
https://www.free-kassa.ru/merchant/cash.php
Необходимые параметры:
Необязательные параметры:
i |
Предлагаемая валюта платежа (список валют). Плательщик сможет изменить ее в процессе оплаты. |
phone |
Телефон плательщика |
em |
Email плательщика |
lang |
Язык интерфейса оплаты (en/ru) |
us_key |
Так же Вы можете передавать свои параметры, которые наш сервер вернет на Ваш URL оповещения. Ключи параметров должны начинаться с us_ и содержать только латинские символы и цифры. Значения параметров могут содержать только латинские буквы, цифры и символы '-', '_'. Например:
<input type="text" name="us_name" value="ivanov">
<input type="text" name="us_login" value="ivanov1971">
Внимание! Для передачи значений параметров на русском языке, необходимо передавать их в кодировке windows-1251
|
Оповещение о платеже
После успешной оплаты, на Ваш
URL оповещения будут отправлены следующие данные
MERCHANT_ID |
ID Вашего магазина |
AMOUNT |
Сумма заказа |
intid |
Номер операции Free-Kassa |
MERCHANT_ORDER_ID |
Ваш номер заказа |
P_EMAIL |
Email плательщика |
P_PHONE |
Телефон плательщика (если указан) |
CUR_ID |
ID электронной валюты, который был оплачен заказ (список валют) |
SIGN |
Подпись (методика формирования подписи в данных оповещения) |
us_key |
Дополнительные параметры с префиксом us_, переданные в форму оплаты |
Подтверждение заявки
Если Вы хотите быть уверены, что подтверждение на
URL оповещения дошло успешно и обработано верно, добавьте в скрипт
URL оповещения
вывод слова
YES и обратитесь в техподдержку для включения функции проверки.
После этого наш сервер будет передавать информацию о платеже на ваш
URL оповещения до тех пор, пока не получит ответ
YES.
Проверка IP
Рекомендуем так же проверять IP сервера отправляющего Вам информацию, наши IP - 136.243.38.147 136.243.38.149 136.243.38.150 136.243.38.151 136.243.38.189, 136.243.38.108
Пример функции на PHP
function getIP() {
if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
return $_SERVER['REMOTE_ADDR'];
}
if (!in_array(getIP(), array('136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '136.243.38.108'))) {
die("hacking attempt!");
}
Пример обработчика платежа
$merchant_id = '177';
$merchant_secret = 'supersecret';
function getIP() {
if(isset($_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
return $_SERVER['REMOTE_ADDR'];
}
if (!in_array(getIP(), array('136.243.38.147', '136.243.38.149', '136.243.38.150', '136.243.38.151', '136.243.38.189', '136.243.38.108'))) {
die("hacking attempt!");
}
$sign = md5($merchant_id.':'.$_REQUEST['AMOUNT'].':'.$merchant_secret.':'.$_REQUEST['MERCHANT_ORDER_ID']);
if ($sign != $_REQUEST['SIGN']) {
die('wrong sign');
}
//Так же, рекомендуется добавить проверку на сумму платежа и не была ли эта заявка уже оплачена или отменена
//Оплата прошла успешно, можно проводить операцию.
die('YES');
Интеграция
Если у Вас уже был настроен прием платежей через платежные системы Robokassa, Interkassa или Payeer, то Вы можете с минимальными усилиями переключить прием платежей на наш сервис.
Для этого в личном кабинете на странице "
технические данные" выберите в поле "
Режим интеграции" свою старую платежную систему и внесите несколько измнений в свои скрипты оплаты:
Robokassa:
URL перехода |
В платежной форме измените урл перехода, вместо - https://auth.robokassa.ru/Merchant/Index.aspx, надо использовать - https://www.free-kassa.ru/merchant/cash.php |
MrchLogin |
ID Вашего магазина на сервисе Free-kassa.ru |
Пароль #1 |
Секретное слово на сервисе Free-kassa.ru |
Пароль #2 |
Секретное слово 2 на сервисе Free-kassa.ru |
|
Все остальные данные оставьте без изменений
|
Внимание! |
Сумму оплаты необходимо передавать (а так же использовать в подписи) без лишних нулей в дробной части. Например: 1 вместо 1.00, 1.1 вместо 1.10 |
Interkassa:
URL перехода |
В платежной форме измените урл перехода, вместо - http://www.interkassa.com/lib/payment.php, надо использовать - https://www.free-kassa.ru/merchant/cash.php |
ik_co_id |
ID Вашего магазина на сервисе Free-kassa.ru |
ik_pm_no |
Номер или описание заказа нужно указывать обязательно! |
Sign Key |
Секретное слово на сервисе Free-kassa.ru. Секретное слово 1 и секретное слово 2 на Free-kassa.ru должны быть одинаковы. Важно! Если Вы не использовали проверку цифровой подписи, ее необходимо настроить, согласно документации Interkassa:
Цифровая подпись формируется путем объединения значений всех параметров формы с префиксом "ik_" в алфавитном порядке их имен (без учета регистра), с добавлением в конец «секретного ключа» кассы. Конкатенация идет через символ ":". Если форма содержит несколько полей с одинаковыми именами, такие поля сортируются в алфавитном порядке их значений.
ksort($dataSet, SORT_STRING);
array_push($dataSet, $key); // добавляем в конец массива "секретный ключ"
$signString = implode(':', $dataSet); // конкатенируем значения через символ ":"
$sign = base64_encode(md5($signString, true)); // берем MD5 хэш в бинарном виде по
|
|
Все остальные данные оставьте без изменений
|
Payeer:
URL перехода |
В платежной форме измените урл перехода, вместо - http://payeer.com/merchant/, надо использовать - https://www.free-kassa.ru/merchant/cash.php |
m_shop |
ID Вашего магазина на сервисе Free-kassa.ru |
m_key |
Секретное слово на сервисе Free-kassa.ru. Секретное слово 1 и секретное слово 2 на Free-kassa.ru должны быть одинаковы |
|
Все остальные данные оставьте без изменений
|
InSales:
В разеделе "Оплата", панели управления Вашего магазина, необходимо добавить новый способ оплаты "Внешний способ оплаты" и внести следующие данные
Идентификатор магазина |
ID Вашего магазина на сервисе Free-kassa.ru |
Пароль |
Секретное слово на сервисе Free-kassa.ru. Секретное слово 1 и секретное слово 2 на Free-kassa.ru должны быть одинаковы |
URL внешнего сервиса |
https://www.free-kassa.ru/merchant/cash.php
|
Внимание! В личном кабинете https://www.free-kassa.ru/merchant/cabinet/profile/tech.php необходимо внести следующие настройки:
URL оповещения |
http://ВАШ_САЙТ/payments/external/server |
Метод оповещения |
POST |
URL возврата в случае успеха |
http://ВАШ_САЙТ/payments/external/success |
Метод отсылки URL возврата в случае успеха |
POST |
URL возврата в случае неудачи |
http://ВАШ_САЙТ/payments/external/fail |
Метод отсылки URL возврата в случае неудачи |
GET |
Режим интеграции |
InSales |
Формирование подписи в платежной форме
Подпись для платежной формы формируется путем нахождения MD5-хеша от строки
"
ID Вашего магазина:Сумма платежа:Секретное слово:Номер заказа", пример на PHP:
md5('7012:100.11:secret:154')
Пример платежной формы:
<?php
$merchant_id = '7012';
$secret_word = 'secret';
$order_id = '154';
$order_amount = '100.11';
$sign = md5($merchant_id.':'.$order_amount.':'.$secret_word.':'.$order_id);
$user_login = 'test_1';
?>
<form method='get' action='https://www.free-kassa.ru/merchant/cash.php'>
<input type='hidden' name='m' value='<?php=$merchant_id?>'>
<input type='hidden' name='oa' value='<?php=$order_amount?>'>
<input type='hidden' name='o' value='<?php=$order_id?>'>
<input type='hidden' name='s' value='<?php=$sign?>'>
<input type='hidden' name='i' value='1'>
<input type='hidden' name='lang' value='ru'>
<input type='hidden' name='us_login' value='<?php=$user_login?>'>
<input type='submit' name='pay' value='Оплатить'>
</form>
Формирование подписи в скрипте оповещения
Подпись для скрипта оповещения формируется путем нахождения MD5-хеша от строки
"
ID Вашего магазина:Сумма платежа:Секретное слово 2:Номер заказа", пример на PHP:
md5($_REQUEST['MERCHANT_ID'].':'.$_REQUEST['AMOUNT'].':secret2:'.$_REQUEST['MERCHANT_ORDER_ID'])
Список доступных валют
201 |
СБП |
199 |
OnBank |
133 |
FK WALLET RUB |
134 |
FK WALLET USD |
194 |
VISA/MASTERCARD/WORLD FKW |
155 |
QIWI WALLET |
186 |
VISA/MASTERCARD KZT |
80 |
Сбербанк RUR |
197 |
Piastrix FKW |
179 |
MASTERCARD/VISA RUB |
63 |
QIWI кошелек |
161 |
QIWI EURO |
123 |
QIWI USD |
162 |
QIWI KZT |
45 |
Яндекс.Деньги |
175 |
Яндекс-Деньги |
153 |
VISA/MASTERCARD+ RUB |
159 |
CARD P2P |
94 |
VISA/MASTERCARD RUB |
100 |
VISA/MASTERCARD USD |
124 |
VISA/MASTERCARD EUR |
160 |
VISA/MASTERCARD |
67 |
VISA/MASTERCARD UAH |
198 |
VISA/MASTERCARD UAH |
181 |
Tether USDT |
188 |
Google Pay |
187 |
Apple Pay |
184 |
ADVCASH KZT |
136 |
ADVCASH USD |
150 |
ADVCASH RUB |
183 |
ADVCASH EUR |
192 |
ADVCASH RUB FKW |
193 |
ADVCASH USD FKW |
180 |
Exmo RUB |
174 |
Exmo USD |
147 |
Litecoin |
166 |
BitcoinCash |
172 |
Monero |
173 |
Ripple |
163 |
Ethereum |
167 |
Blackcoin BLK |
168 |
Dogecoin DOGE |
169 |
Emercoin EMC |
170 |
Primecoin XMP |
171 |
Reddcoin RDD |
165 |
ZCASH |
164 |
DASH |
116 |
Bitcoin |
154 |
Skin pay |
131 |
WMZ-bill |
122 |
WMZ |
2 |
WebMoney WMZ |
189 |
WMP |
3 |
WebMoney WME |
195 |
VISA/MASTERCARD/WORLD |
114 |
PAYEER RUB |
190 |
PAYEERRUB FKW |
115 |
PAYEER USD |
191 |
PAYEERUSD FKW |
64 |
Perfect Money USD |
69 |
Perfect Money EUR |
79 |
Альфа-банк RUR |
110 |
Промсвязьбанк |
113 |
Русский стандарт |
82 |
Мобильный Платеж Мегафон |
84 |
Мобильный Платеж МТС |
132 |
Мобильный Платеж Tele2 |
83 |
Мобильный Платеж Билайн |
99 |
Терминалы России |
158 |
VISA/MC INT |
157 |
VISA UAH CASHOUT |
118 |
Салоны связи |
117 |
Денежные переводы |
70 |
PayPal |
137 |
Мобильный Платеж МегаФон Северо-Западный филиал |
138 |
Мобильный Платеж МегаФон Сибирский филиал |
139 |
Мобильный Платеж МегаФон Кавказский филиал |
140 |
Мобильный Платеж МегаФон Поволжский филиал |
141 |
Мобильный Платеж МегаФон Уральский филиал |
142 |
Мобильный Платеж МегаФон Дальневосточный филиал |
143 |
Мобильный Платеж МегаФон Центральный филиал |
Экспорт заказов в XML
Для получения списка заказов, необходимо отправить запрос на URL https://www.free-kassa.ru/export.php со следующими параметрами:
Обязательные параметры:
merchant_id |
ID Вашего магазина на сервисе Free-kassa.ru |
s |
Контрольная подпись MD5, формируется из вашего Merchant ID и Секретного слова 2, например
md5('7012'.'secret') |
action |
get_orders |
Дополнительные параметры:
date_from |
С какой даты показать результаты, в формате гггг-мм-дд |
date_to |
До какой даты, в формате гггг-мм-дд |
status |
Статус заявки, new - новые, paid - оплаченные, completed - выполненные, all - все |
limit |
Сколько результатов показать (максимум 100) |
offset |
С какой позиции показывать заявки |
Пример запроса
https://www.free-kassa.ru/export.php?merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=get_orders&date_from=2014-01-01&limit=100&offset=100&status=completed
Пример ответа:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<answer>info</answer>
<desc>Orders list</desc>
<action_data>
<item>
<intid>1863442123</intid>
<id>1384336695</id>
<status>completed</status>
<date>2014-01-01 04:32:41</date>
<amount>200</amount>
<description>Оплата заявки</description>
<email>mail@yandex.ru</email>
</item>
</action_data>
</root>
Проверка баланса
Для получения баланса, необходимо отправить запрос на URL https://www.free-kassa.ru/api.php со следующими параметрами:
Обязательные параметры:
merchant_id |
ID Вашего магазина на сервисе Free-kassa.ru |
s |
Контрольная подпись MD5, формируется из вашего Merchant ID и Секретного слова 2, например
md5('7012'.'secret') |
action |
get_balance |
Пример запроса
https://www.free-kassa.ru/api.php?merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=get_balance
Пример ответа:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<answer>info</answer>
<desc>Merchant balance</desc>
<balance>12.73</balance>
</root>
Проверка заказа
Для получения информации о заказе, необходимо отправить запрос на URL https://www.free-kassa.ru/api.php со следующими параметрами:
Обязательные параметры:
merchant_id |
ID Вашего магазина на сервисе Free-kassa.ru |
s |
Контрольная подпись MD5, формируется из вашего Merchant ID и Секретного слова 2, например
md5('7012'.'secret') |
intid |
Номер заказа на сервисе Free-kassa.ru (необходимо использовать или intid или order_id) |
order_id |
Номер заказа магазина (необходимо использовать или intid или order_id) |
action |
check_order_status |
Пример запроса
https://www.free-kassa.ru/api.php?merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=check_order_status&order_id=123
Пример ответа:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<answer>info</answer>
<desc>Order Inf</desc>
<status>completed</status>
<intid>165354</intid>
<id>123</id>
<date>2015-03-10 16:08:32</date>
<amount>37</amount>
<description>Payment #123</description>
<email>user@email.ru</email>
</root>
Вывод средств
Для вывода средств, необходимо отправить запрос на URL https://www.free-kassa.ru/api.php со следующими параметрами:
Обязательные параметры:
merchant_id |
ID Вашего магазина на сервисе Free-kassa.ru |
currency |
Тип кошелька, варианты:
yandex 410012******** 50-15000р
qiwi +79261234567 50-15000р
card (VISA/MASTERCARD) 4012888888881881 1100-15000р
wmr R12345678912 50-15000р
wmz Z12345678912 50-15000р
fkw (Free-kassa Wallet) F12345678 50-150000р
cardint (VISA/MASTERCARD Int) 4012888888881881 1100-15000р
|
amount |
Сумма платежа |
s |
Контрольная подпись MD5, формируется из вашего Merchant ID и Секретного слова 2, например
md5('7012'.'secret') |
action |
payment |
Пример запроса
https://www.free-kassa.ru/api.php?currency=yandex&merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=payment&amount=12
Пример ответа:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<answer>info</answer>
<desc>Заявка отправлена</desc>
<PaymentId>473632</balance>
</root>
Пример отправки большой суммы с разбивкой
$amount = 105000; //Сумма к отправке
$max_amount = 10000; //Нужно отправить за один раз
$payments_count = floor($amount/$max_amount);
$rest_amount = bcmod($amount,$max_amount);
//Отправляем
for ($i=0;$i<$payments_count;$i++) $res = file_get_contents('https://www.free-kassa.ru/api.php?currency=yandex&merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=payment&amount='.$max_amount);
//И остаток
if ($rest_amount>0) $res = file_get_contents('https://www.free-kassa.ru/api.php?currency=yandex&merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=payment&amount='.$rest_amount);
Выставление счета
Для выставления счета необходимо отправить запрос на URL https://www.free-kassa.ru/api.php со следующими параметрами:
Обязательные параметры:
merchant_id |
ID Вашего магазина на сервисе Free-kassa.ru |
email |
Email получателя счета (если отправляете GET запрос, не забудьте выполнить url encode) |
amount |
Сумма платежа |
desc |
Номер заказа или описание платежа (если отправляете GET запрос, не забудьте выполнить url encode) |
s |
Контрольная подпись MD5, формируется из вашего Merchant ID и Секретного слова 2, например
md5('7012'.'secret') |
action |
create_bill |
Пример запроса
https://www.free-kassa.ru/api.php?merchant_id=7012&s=c4ca4238a0b923820dcc509a6f75849b&action=create_bill&amount=12&email=user@site.ru&desc=11
Пример ответа:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<answer>info</answer>
<desc>Success</desc>
</root>
Генерация ссылки на оплату онлайн и тестирование оплаты
Для использования данной функции необходимо выполнить вход в систему
API для работы с кошельком
Для работы с API кошелька необходимо сгенерировать ключ для доступа на странице
https://my.fkwallet.ru/settings/
Все запросы отправляются методом POST на URL https://my.fkwallet.ru/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://my.fkwallet.ru/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":{"RUR":"50.00","USD":"0.00","EUR":"0.00"}}
Вывод средств из кошелька
Обязательные параметры:
wallet_id |
Ваш номер кошелька |
purse |
Кошелек для вывода |
amount |
Сумма вывода |
desc |
Примечание |
disable_exchange |
1 - чтобы отключить автоматический обмен |
currency |
Валюта для вывода |
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://my.fkwallet.ru/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 = ceil($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://my.fkwallet.ru/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);
}
Список доступных валют
201 |
СБП (комиссия 3.00%) |
133 |
FK WALLET RUB (комиссия 0.00%) |
186 |
VISA/MASTERCARD KZT (комиссия 4.00%) |
63 |
QIWI кошелек (комиссия 4.00%) |
45 |
Яндекс.Деньги (комиссия 3.00%) |
94 |
VISA/MASTERCARD RUB (комиссия 4.00%) |
2 |
WebMoney WMZ (комиссия 2.00%) |
114 |
PAYEER RUB (комиссия 17.00%) |
115 |
PAYEER USD (комиссия 15.00%) |
64 |
Perfect Money USD (комиссия 15.00%) |
69 |
Perfect Money EUR (комиссия 6.50%) |
82 |
Мобильный Платеж Мегафон (комиссия 1.00%) |
84 |
Мобильный Платеж МТС (комиссия 1.00%) |
132 |
Мобильный Платеж Tele2 (комиссия 1.00%) |
83 |
Мобильный Платеж Билайн (комиссия 1.00%) |
Получение статуса операции вывода из кошелька
Обязательные параметры:
wallet_id |
Ваш номер кошелька |
payment_id |
Номер операции полученный при отправке запроса |
sign |
Контрольная подпись MD5, формируется из параметров wallet_id, payment_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://my.fkwallet.ru/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://my.fkwallet.ru/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"}
Форма оплаты
Чтобы разместить форму оплаты, вставьте на страницу следующий код
<a href="#" onclick="load_form()">Оплатить</a>
<script src="//www.free-kassa.ru/widget/w.js"></script>
<script type="text/javascript">
function load_form() {
var form = new FK();
form.loadWidget({
merchant_id: 'MERCHANT_ID',
amount: 'AMOUNT',
order_id: 'ORDER_ID',
email: 'EMAIL',
phone: 'PHONE',
sign: 'SIGN',
us_user: 1,
us_desc: 'Test',
});
}
</script>
Внимание! В связи с особенностями работы данного варианта платежа, обязательно проверяйте сумму оплаты, которую присылает наш сервер на Ваш Result Url
Обязательные параметры:
MERCHANT_ID |
ID Вашего магазина на сервисе Free-kassa.ru |
AMOUNT |
Сумма оплаты |
ORDER_ID |
Номер заказа |
sign |
Контрольная подпись MD5, формируется из вашего Merchant ID и Секретного слова 1, например
md5('1011'.'SECRETWORD') |
Необязательные параметры:
EMAIL |
Email клиента |
PHONE |
Телефон клиента |
us_* |
Дополнительные поля, которые наш сервер вернет на Ваш URL оповещения |
Оплата онлайн услуг
Обязательные параметры:
wallet_id |
Ваш номер кошелька |
service_id |
ID услуги |
account |
Кошелек для перевода |
amount |
Сумма перевода |
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://my.fkwallet.ru/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://my.fkwallet.ru/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 |
Номер платежа, полученный при отправке |
sign |
Контрольная подпись MD5, формируется из параметров wallet_id, payment_id и API ключа, например
md5('F123456789'.'6532323'.'JG68NC68DJC8S0DCH6') |
action |
check_online_payment |
Пример запроса:
$data = array(
'wallet_id'=>'F123456789',
'sign'=>md5('F123456789'.'6532323'.'JG68NC68DJC8S0DCH6'),
'action'=>'check_online_payment',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://my.fkwallet.ru/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 адреса
Обязательные параметры:
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://my.fkwallet.ru/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://my.fkwallet.ru/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"}]}
Уведомление о новой 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',
'sign'=>md5('F123456789'.'gb56yu3txdy237dy2xu8d2983tdxy23dux2873d7yx20d'.'JG68NC68DJC8S0DCH6'),
'action'=>'get_btc_address',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://my.fkwallet.ru/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"
}
]
}