VK Coin PHP
Библиотека для работы с VK Coin API.
Формат ответа
При вызове любого метода API возвращается массив с двумя полями, либо false.
Имя поля | Тип | Описание |
---|---|---|
status | bool | true , если запрос успешен. false , если произошла ошибка |
response | array | Возвращается только если status == true . Массив, содержащий ответ API. |
error | string | Возвращается только если status == false . Строка, описывающая ошибку CURL. |
Если что-то пошло не так, вернётся значение false
. Проверить можно так:
$result = $vkcoin->getTransactions();
if($result === false) {
// что-то пошло не так
} elseif($result['status']) {
// запрос выполнен успешно
} else {
// обработка ошибки CURL
}
Важно! Ответ API можно будет получить через $result['response']
, если ответ API примерно таков:
{
"status": true,
"response": {
"response": {
"1": 92696964157
}
}
}
Раньше нужно было писать
$result['response']['response']
. Чтобы понять, что я написал, лучше загляните в код, функцияrequest()
.
Инициализация
Важно: если версия PHP, которую Вы используете, меньше 7.0.0
, нужно использовать lib-5.6.php. В ином случае используйте обычную версию.
Пример:
include './lib.php';
$vkcoin = new VKCoinClient(305360617, 'cNwFTVP7Y33M5TxgZMhLQmdcNrb6qu72mNCTeRdX9PVEqbJPpe');
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
merchant_id | int | yes | ID странички, для которой был получен платёжный ключ |
apikey | string | yes | Платёжный ключ |
Получение списка транзакций
Пример:
$vkcoin->getTransactions();
$vkcoin->getTransactions(2);
$vkcoin->getTransactions(1, 200);
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
tx_type | int | no | Описано в документации |
last_tx | int | no | Номер последней транзакции |
Если Вам нужно получить все транзакции на текущий аккаунт, используйте $vkcoin->getTransactions(2);
. Если необходимо получить только транзакции по ссылкам, то следует использовать $vkcoin->getTransactions();
.
Перевод
Пример:
$vkcoin->sendTransfer(305360617, 15000);
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
to_id | int | yes | ID пользователя, которому будет отправлен перевод |
amount | int | yes | Сумма перевода в тысячных долях (если указать 15, то будет отправлено 0,015 коина) |
mark_as_merchant | bool | no | Пометить перевод как перевод от магазина? (по умолчанию true ) |
Получение баланса
Пример:
$vkcoin->getBalance(array(2050, 54986442)); // для старых версий PHP
$vkcoin->getBalance([1, 2]); // получение баланса vk.com/id1 и vk.com/id2
$vkcoin->getBalance(); // получения баланса пользователя, указанного при инициализации
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
user_ids | array | no | Описано в документации. По умолчанию равен ID текущего пользователя. |
Получение ссылки на оплату
Пример:
$vkcoin->generatePayLink(15000);
$vkcoin->generatePayLink(15000, 123456);
$vkcoin->generatePayLink(15000, 0, false);
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
sum | int | yes | Сумма перевода |
payload | int | no | Полезная нагрузка, любое число от -2000000000 до 2000000000. Если равно нулю, то будет сгенерировано рандомное число |
fixed_sum | bool | no | Сумма фиксирована или нет? Документация |
use_hex_link | bool | no | Генерация ссылки с hex-значениями или нет |
Изменение названия магазина
Пример:
$vkcoin->changeName('Мой магазин');
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
name | string | yes | Название магазина |
Callback API
Добавить сервер
Пример:
$vkcoin->addWebhook('http://my-super-host.com/callback/');
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
url | string | yes | Адрес для отправки уведомлений |
Удалить сервер
Пример:
$vkcoin->deleteWebhook();
Получить логи неудачных запросов
Пример:
$vkcoin->getWebhookLogs();
Проверить подлинность запроса
Пример:
$data = json_decode(file_get_contents('php://input'), true);
echo $vkcoin->isKeyValid($data) ? 'Запрос подлинный.' : 'мамкин хакер!';
Параметр | Тип | Обязательный? | Описание |
---|---|---|---|
params | array or object | yes | Данные запроса, декодированные через json_decode(file_get_contents('php://input'), true) или json_decode(file_get_contents('php://input')) |