https://lk.rukassa.io/api/v1/create| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
shop_id |
Int | ID магазина. | |
order_id |
Int | Уникальный номер платежа в вашей системе. | |
amount |
Float | Сумма платежа. | |
token |
String | API токен из настроек вашего мерчанта. | |
data |
Json | Объект, передаваемый на сервер вместе с уведомлением об успешном платеже. | |
method |
String | Метод оплаты, если хотите чтобы оплата была сделана через определённый метод. Методы: card, card_kzt, card_azn, skinpay, crypta, sbp, clever, sbp_qr, | |
list |
Array | Методы оплаты, отображаемые на странице выбора способы оплаты. Методы: card, card_kzt, card_azn, skinpay, crypta, sbp, clever, sbp_qr, | |
currency |
String | В какой валюте указываете параметр amount. По умолчанию RUB. Валюты: RUB, USD | |
user_code |
String | Для H2H, Anti-Fraud - обязателен. Идентификатор клиента (можно использовать IP адрес или ID Telegram пользователя). | |
json |
Bool | Только для H2H интеграции. Просто true. |
$token = 'ВАШ ТОКЕН';
$order_id = time() . mt_rand();
$amount = 300;
$params = [
'param1' => 'Ваше значение',
'param2' => 'Ваше значение',
'param3' => 'Ваше значение',
];
$data = [
'shop_id' => 0, // ID Вашего мерчанта
'token' => $token,
'order_id' => $order_id,
'amount' => $amount,
'data' => json_encode($params),
];
// Дополнительные параметры (НЕ ОБЯЗАТЕЛЬНЫЕ) (Можно НЕ копировать)
$data += [
'user_code' => '123', // Индефикатор клиента (Обязательный при анти-фрод защите)
'list' => ['card', 'sbp'], // Отображение только карт и сбп на форме оплаты. Не забудьте включить методы в настройках мерчанта!
'currency' => 'RUB', // Можно в USD выставлять счёт.
'json' => false, // Если у Вас интеграция H2H, тогда true
];
$ch = curl_init('https://lk.rukassa.io/api/v1/create');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
header('Location: ' . $result->url); // Редирект на страницу оплаты
Результатом вернет id, hash и url в формате JSON.id - номер операции в нашей системе. hash - хэш оплаты. url - ссылка на оплату. h2h, то результатом вернет card, bank, receiver, amount и другое, в формате JSON.error и message.error - код ошибки. message - сообщение ошибки. https://lk.rukassa.io/api/v1/getPayInfo| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
id |
Int | Номер платежа в нашей системе. | |
order_id |
Int | Номер платежа в Вашей системе | |
status |
String | Поиск по статусу платежа: PAID если платёж прошёл успешно, WAIT если платёж ещё не прошел, CANCEL если платёж отменён. | |
shop_id |
Int | ID магазина. | |
token |
String | API токен из настроек вашего мерчанта. |
id, order_id, amount, status, data в формате JSON.id - номер операции в нашей системе. order_id - номер операции в вашей системе. amount - сумма платежа. in_amount - сумма платежа, оплаченная клиентом по факту. currency - валюта, в которой создан платёж. method - метод, с помощью которого произведена оплата. status - статус платежа: PAID если платёж прошёл успешно, WAIT если платёж ещё не прошел, CANCEL если платёж отменён.data - значение переданное при создании платежа в data. https://lk.rukassa.io/api/v1/getWithdrawInfo| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
id |
Int | Номер выплаты в нашей системе. | |
order_id |
Int | Номер выплаты в Вашей системе. | |
status |
String | Поиск по статусу выплаты: PAID если вывод прошёл успешно, IN PROCESS вывод отправлен и ожидает зачисления, WAIT вывод ожидает выплаты, CANCEL если вывод отменён. | |
shop_id |
Int | ID магазина. | |
token |
String | API токен из настроек вашего мерчанта. |
id, amount, status в формате JSON.id - номер операции в нашей системе. order_id - номер операции в вашей системе. amount - сумма платежа. fee - комиссия вывода. way - название платёжного шлюза, куда будет осуществлен вывод.who_fee - откуда спишется комиссия: INVOICE спишется со счёта, BALANCE спишется с баланса. status - статус выплаты: PAID если вывод прошёл успешно, IN PROCESS вывод отправлен и ожидает зачисления, WAIT вывод ожидает выплаты, CANCEL если вывод отменён.https://lk.rukassa.io/api/v1/revoke| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
shop_id |
Int | ID магазина. | |
token |
String | API токен из настроек вашего мерчанта. | |
id |
Int | Уникальный номер платежа в нашей системе. |
$token = 'ВАШ ТОКЕН';
$data = [
'shop_id' => 0, // ID Вашего мерчанта
'token' => $token,
'id' => 0, // ID платежа
];
$ch = curl_init('https://lk.rukassa.io/api/v1/revoke');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
Результатом вернет id в формате JSON.id - номер операции в нашей системе. error и message.error - код ошибки. message - сообщение ошибки. | Поле | Тип | Описание |
|---|---|---|
id |
Int | Номер операции в нашей системе. |
order_id |
Int | Уникальный номер платежа в вашей системе. |
amount |
Float | Сумма платежа. |
in_amount |
Float | Сумма, которая была оплачена клиентом. |
data |
Json | Объект, передаваемый на сервер вместе с уведомлением об успешном платеже. |
createdDateTime |
String | Время создания платежа. |
status |
String | Статус платежа - PAID если платёж прошёл успешно. |
$token = 'ВАШ ТОКЕН';
$sign = $_SERVER['HTTP_SIGNATURE'];
$sign2 = hash_hmac('sha256', $_POST['id'] . '|' . $_POST['createdDateTime'] . '|' . $_POST['amount'], $token);
if($sign == $sign2) {
if($_POST['in_amount'] >= $_POST['amount']) {
// Код в случае успешной оплаты
// Для получения data используйте html_entity_decode($_POST['data']);
echo 'OK'; // Вернуть ответ серверу
} else {
echo 'ERROR AMOUNT';
}
} else {
echo 'ERROR SIGN';
}
| Поле | Тип | Описание |
|---|---|---|
id |
Int | Номер операции в нашей системе. |
order_id |
Int | Уникальный номер выплаты в вашей системе. |
amount |
Float | Сумма выплаты. |
way |
String | Название платёжного шлюза, куда будет осуществлен вывод. |
status |
String | Статус выплаты - PAID если платёж прошёл успешно, IN PROCESS если платёж обрабатывается, WAIT если платёж ещё не прошел, CANCEL если выплата отменена. |
https://lk.rukassa.io/api/v1/getBalance| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
email |
String | Email пользователя. | |
password |
String | Пароль пользователя. |
$data = [
'email' => 'Ваш email',
'password' => 'Ваш пароль',
];
$ch = curl_init('https://lk.rukassa.io/api/v1/getBalance');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
print_r($result->balance);
Результатом вернет balance_rub и balance_usd в формате JSON.balance - кол-во средств у пользователя в нашей системе. error и message.error - код ошибки. message - сообщение ошибки. https://lk.rukassa.io/api/v1/createWithdraw| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
email |
String | Email пользователя. | |
password |
String | Пароль пользователя. | |
way |
String | Платежная система для вывода. Системы: CARD, USDT, SBP, CLEVER, | |
wallet |
String | Номер кошелька или карты, куда будут отправлены средства. | |
amount |
Float | Сумма для вывода. | |
from |
String | Счёт для списания средств. По умолчанию: BASE_RUB. (BASE_RUB, BASE_USD) | |
order_id |
Int | ID в системе мерчанта | |
who_fee |
Int | От куда списывать комиссию. По умолчанию: 0. (0 - со счёта, 1 - с баланса) | |
bank |
Int | Только для СБП. Номер банка |
$data = [
'email' => 'Ваш email',
'password' => 'Ваш пароль',
'way' => 'Платёжная система CARD, QIWI, YOOMONEY, другие',
'wallet' => 'Номер кошелька или карты',
'amount' => 'Сумма для вывода',
];
$ch = curl_init('https://lk.rukassa.io/api/v1/createWithdraw');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
print_r('ID #' . $result->id . ' - ' . $result->status);
Результатом вернет id и status в формате JSON.id - номер выплаты в нашей системе. status - статус выплаты. error и message.error - код ошибки. message - сообщение ошибки. https://lk.rukassa.io/api/v1/cancelWithdraw| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
email |
String | Email пользователя. | |
password |
String | Пароль пользователя. | |
id |
Int | ID выплаты в нашей системе. |
$data = [
'email' => 'Ваш email',
'password' => 'Ваш пароль',
'id' => 'ID выплаты',
];
$ch = curl_init('https://lk.rukassa.io/api/v1/cancelWithdraw');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
print_r($result);
Результатом вернет id и status в формате JSON.id - номер выплаты в нашей системе. status - статус выплаты. error и message.error - код ошибки. message - сообщение ошибки. error - код ошибки:
100 - не получено значение. 200 - не найден магазин или платеж. 300 - мерчант не прошел проверку. 400 - другая ошибка. message - сообщение ошибки