vkcoinapi
Обертка над VK Coin API на Python
Установка
pip3 install vkcoinapi
Использование
Перед началом необходимо создать экземпляр класса VKCoin. Он принимает 2 аргумента:
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| key | str |
+ |
Ключ доступа к VK Coin, полученный здесь: vk.com/coin#create_merchant |
| merchantId | int |
+ |
ID пользователя ВКонтакте, для которого получен ключ |
| token | str |
— |
Токен, полученный из URL адреса здесь. Необходим только при использовании longPoll() и getTop(). |
from vkcoinapi import *
coin = VKCoin(key = 'ваш_ключ', merchantId = ваш_id)
После этого становятся доступны следующие методы, которые возвращают JSON словарь:
getPaymentURL()
Возвращает ссылку на перевод вида https://vk.com/coin#xВАШID_СУММА_PAYLOAD.
Если необходимо, чтобы пользователь мог изменить сумму перевода, то в конец добавляется _1.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| amount | int |
+ |
Сумма перевода. |
| payload | int |
— |
Любое число от -2000000000 до 2000000000, вернется вам в списке транзаций. Если не указано, отправляется случайное число. |
| free | bool |
— |
Может ли пользователь изменять сумму перевода. По умолчанию False. |
coin.getPaymentURL(1000)
>>> 'https://vk.com/coin#xВАШID_1000_PAYLOAD'
Обратите внимание, что сумма указывается в тысячных долях.
В примере выше 1000 = 1 VK Coin.
Т.е., для того, чтобы отправить 0,001 VK Coin, нужно указать 1.
getTransactions()
Возвращает список транзакций.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| type | int |
— |
1 — вернутся 1000 последних транзакций со ссылки на оплату 2 — вернутся 100 последних транзакций По умолчанию 2. |
coin.getTransactions()
>>> {'response': [
{'id': 1370037,
'from_id': 1,
'to_id': 2,
'amount': '100',
'type': 3,
'payload': 1,
'external_id': 0,
'created_at': 1555369262},
{'id': 1369973,
'from_id': 2,
'to_id': 1,
'amount': '100',
'type': 3,
'payload': 1,
'external_id': 0,
'created_at': 1555369272}
]}
sendPayment()
Отправляет перевод.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| to | int |
+ |
ID пользователя, кому отправляем перевод. |
| amount | int |
+ |
Сумма перевода. |
coin.sendPayment(1, 100)
>>> {'response': {'id': 1400290, 'amount': 100, 'current': 578637358}}
getBalance()
Позволяет получить баланс пользователей.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| user_ids | list |
— |
ID пользователей, для которых нужно узнать баланс. По умолчанию — наш ID. |
coin.getBalance()
>>> {'response': {'165275777': 578637358}}
coin.getBalance([1, 1324639])
>>> {'response': {'1': 92697214157, '1324639': 6935662916530}}
getTop()
Возвращает список текущего топа.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| type | str |
— |
Тип возвращаемого топа (group или user).По умолчанию — group. |
coin.getTop()
>>> [
{'id': 67580761,
'score': 473553513081870,
'name': 'КБ',
'screen_name': 'countryballs_re',
'is_closed': 0,
'type': 'page',
'photo_200': 'https://sun9-18.userapi.com/c850420/v850420990/ff275/6svrAL6jtME.jpg?ava=1',
'link': 'https://vk.com/club67580761'},
{'id': 98699940,
'score': 473550301524363,
'name': "Bratishkin's Stream",
'screen_name': 'bratishkinoff',
'is_closed': 0,
'type': 'page',
'photo_200': 'https://sun9-9.userapi.com/c851416/v851416466/fcfa5/LZGnlIJVEBw.jpg?ava=1',
'link': 'https://vk.com/club98699940'}
]
longPoll()
Блокирующий «longpoll». Не принимает аргументов.
При появлении новой входящей транзакции возвращает следующий словарь:
|Ключ|Тип|Описание| |-|-|-|-| |from|
int
|ID пользователя, от которого пришел платеж.| |amount|int
|Сумма платежа.| |payload|int
|Payload для нахождения платежа в истории.|coin.longPoll()
>>> {'response': {'from': 165275777, 'amount': 1, 'payload': 1624215}}
setShopName()
Изменяет название магазина.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| name | str |
+ |
Новое название магазина. |
coin.setShopName('My Shop')
>>> {'response': '1'}
setCallback()
Изменяет адрес для callback запросов.
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| callback | str |
— |
Адрес для callback запросов. Если не передан, callback выключается (передается none). |
coin.setCallback('https://example.com/callback')
>>> {'response': 'ON'}
coin.setCallback()
>>> {'response': 'OFF'}
Ссылки
- Я ВКонтакте: vk.com/bixnel
- Подробнее про VK Coin API: vk.com/@hs-marchant-api
Release files for vkcoinapi 1.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vkcoinapi-1.2.7.tar.gz | 6.7 kB | Details |
Release files / vkcoinapi-1.2.7.tar.gz
| Download URL | vkcoinapi-1.2.7.tar.gz |
|---|---|
| Size | 6.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc02cb7dd192f690eeb4290526420bb9fb0cae899cc794128c4d761d4e0891b0
|
|
BLAKE2b-256 checksum How to use checksums |
ba6e6e8f2757dbce0f9eed8547528f4457a8a6820476e053c6b66361b03ca1a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
|