Skip to main content

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

Ссылки

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)

Source distribution for vkcoinapi 1.2.7
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

Release history Release notifications | RSS feed

This release

1.2.7 This release

1 release file

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page