Skip to content
trofimovdevPublic

About

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

Topics

Resources

Stars

3 stars

Watchers

2 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

3 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages