После обновления 2.0 множество функций и классов изменило свой прежний вид. Миграция. Старая документация.
- Скачайте и установите Python версии 3.6 и выше, если он не установлен
- Введите следующую команду в командную строку:
pip install vkcoin
Если вы любите приключения, можно установить библиотеку с GitHub. В таком случае она может работать нестабильно:
pip install git+git://github.com/crinny/vkcoin.git
- Вы прекрасны!
Для начала разработки, необходимо создать исполняемый файл с расширением .py, например test.py. Вы не можете назвать файл vkcoin.py, так как это приведёт к конфликту. Теперь файл нужно открыть и импортировать библиотеку:
import vkcoin merchant = vkcoin.VKCoin(user_id=123456789, key=’xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’)
user_id | Integer | ID аккаунта ВКонтакте |
key | String | Ключ для взаимодействия с API |
token | String | Токен ВКонтакте для WebSocket |
Необязательные параметры при вызове функций выделены курсивом.
Как получить access token приложения VK Coin
get_payment_url — получет ссылку на оплату VK Coin
merchant.get_payment_url(amount=10, payload=78922, free_amount=False) >>> https://vk.com/coin#m1625cf67_1_-298c0d20
amount | Float | Количество VK Coin для перевода |
payload | Integer | Число от -2000000000 до 2000000000, вернется в списке транзаций |
free_amount | Boolean | True, чтобы разрешить пользователю изменять сумму перевода |
get_transactions — получает список ваших транзакций
merchant.get_transactions(tx=[2]) >>> [‘id’: 1000000, ‘from_id’: 371576679, ‘to_id’: 1, ‘amount’: ‘1’, ‘type’: 2, ‘payload’: 0, ‘external_id’: 0, ‘created_at’: 1557241950>]
tx | List | Массив ID переводов для получения или [1] — 1000 последних транзакций со ссылок на оплату, [2] — 100 последних транзакций на текущий аккаунт |
last_tx | Integer | Если указать номер последней транзакции, то будут возвращены только транзакции после указанной |
send_payment — делает перевод другому пользователю
result = merchant.send_payment(to_id, amount) >>> ‘id’: 1000000, ‘amount’: 1, ‘current’: 1430>
amount | Float | Сумма перевода |
to_id | Integer | ID аккаунта, на который будет совершён перевод |
get_balance — возвращает баланс аккаунта
merchant.get_balance(123456789, 987654321) >>> ‘371576679’: 1430>
Integer | ID аккаунтов, баланс которых нужно получить (если не указывать ничего, то возвратится баланс текущего аккаунта) |
set_shop_name — устанавливает название магазина
Нереально быстро поднимать VK Coin
Обратите внимание что название может быть закешированно на срок до 5 часов. Сбросить кеш никак нельзя.
merchant.set_shop_name(name=’Best Shop Ever’) >>> 1
name | String | Новое название магазина |
run_longpoll — запускает LongPoll
merchant.run_longpoll(tx=[1], interval=0.05)
tx | List | Массив ID переводов для получения или [1] — 1000 последних транзакций со ссылок на оплату, [2] — 100 последних транзакций на текущий аккаунт |
interval | Float | Частота опроса серверов на новые платежи в секундах |
Оффициальный Callback. Поднимает сервер и принимает входящие запросы от VK Coin.
set_callback_endpoint — устанавливает Endpoint
merchant.set_callback_endpoint(‘0.0.0.0’, 80)
address | String | Адрес, на который будет поступать информация |
port | Integer | Порт |
remove_callback_endpoint — удаляет Endpoint
merchant.remove_callback_endpoint()
run_callback — запускает сервер для Callback
merchant.run_callback()
VKCoin для взаимодействия между клиентом и сервером использует протокол WebSocket. Данный класс реализован для получения обратных вызовов при входящих транзакциях на аккаунт, доступ к которому должен быть предоставлен токеном в классе VKCoin:
Для получения токена — перейдите по ссылке, нажмите «Разрешить» и скопируйте часть адресной строки после access_token= и до client_id=2274003username=LOGINhttps://giters.com/dev-cats/vkcoin» target=»_blank»]giters.com[/mask_link]
Установка
Возвращает ссылку на перевод вида https://vk.com/coin#xВАШID_СУММА_PAYLOAD .
Если необходимо, чтобы пользователь мог изменить сумму перевода, то в конец добавляется _1 .
Обратите внимание, что сумма указывается в тысячных долях.
В примере выше 1000 = 1 VK Coin. Т.е., для того, чтобы отправить 0,001 VK Coin, нужно указать 1 .
getTransactions()
Возвращает список транзакций.
Отправляет перевод.
Позволяет получить баланс пользователей.
Возвращает список текущего топа.