Skip to content

trofimovdev/vkcoinapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

str

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'}

Ссылки

About

Обертка над VK Coin API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages