Skip to main content

Враппер для платёжного API VK Coin

Project description

vkcoin

Враппер для платёжного API VK Coin. https://vk.com/@hs-marchant-api

PyPI version Week downloads Чат ВКонтакте Чат Telegram

Установка

  • Скачайте и установите Python версии 3.6 и выше
  • Введите следующую команду в командную строку:
pip install vkcoin
  • Вы прекрасны!

Начало работы

Для начала разработки, необходимо создать в своей папке исполняемый файл с расширением .py, например test.py. Вы не можете назвать файл vkcoin.py, так как это приведёт к конфликту. Теперь файл нужно открыть и импортировать библиотеку:

import vkcoin

Библиотека содержит в себе 2 класса:

  • VKCoinApi - для работы с VKCoin API
  • VKCoinWS - для получения CallBack сообщений о зачислении коинов

VKCoinApi

merchant = vkcoin.VKCoinApi(user_id=123456789, key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
Параметр Тип Описание
user_id Integer ID аккаунта ВКонтакте
key String Ключ для взаимодействия с API

Методы

Необязательные параметры при вызове функций выделены курсивом.

get_payment_url - получет ссылку на оплату VK Coin

result = merchant.get_payment_url(amount=10, payload=78922, free_amount=False)
print(result)
Параметр Тип Описание
amount Float Количество VK Coin для перевода
payload Integer Число от -2000000000 до 2000000000, вернется в списке транзаций
free_amount Boolean True, чтобы разрешить пользователю изменять сумму перевода

get_transactions - получает список ваших транзакций

result = merchant.get_transactions(tx=[2])
print(result)
Параметр Тип Описание
tx List Массив ID переводов для получения или [1] - 1000 последних транзакций со ссылок на оплату, [2] — 100 последних транзакций на текущий аккаунт
last_tx Integer Если указать номер последней транзакции, то будут возвращены только транзакции после указанной

send_coins - делает перевод другому пользователю

result = merchant.send_coins(to_id, amount)
print(result)
Параметр Тип Описание
amount Float Сумма перевода
to_id Integer ID аккаунта, на который будет совершён перевод

get_user_balance - возвращает баланс аккаунта

result = merchant.get_user_balance(123456789, 987654321)
print(result)
Тип Описание
Integer ID аккаунтов, баланс которых нужно получить

get_my_balance - возвращает ваш баланс

result = merchant.get_my_balance()
print(result)

set_shop_name - устанавливает название магазина

Обратите внимание что название может быть закешированно на срок до 5 часов. Сбросить кеш никак нельзя.

merchant.set_shop_name(name='Best Shop Ever')
Параметр Тип Описание
name String Новое название магазина

Callback

Оффициальный Callback. Все приведённые ниже функции находятся в классе VKCoinApi

set_callback_endpoint - устанавливает Endpoint

merchant.set_callback_endpoint()
Параметр Тип Описание
address String Адрес, на который будет поступать информация
port Integer Порт

remove_callback_endpoint - удаляет Endpoint

merchant.remove_callback_endpoint()

callback_start - запускает сервер для Callback

merchant.callback_start()

VKCoinWS (CallBack)

Рекомендуется использовать новый Сallback

VKCoin для взаимодействия между клиентом и сервером использует протокол WebSocket. Данный класс реализован для получения обратных вызовов при входящих транзакциях на аккаунт, доступ к которому может быть предоставлен одним из следующих параметров при создании объекта класса:

callback = vkcoin.VKCoinWS(token, iframe_link)
Параметр Тип Описание
token String acces_token вашего аккаунта *
iframe_link String ссылка на iframe сервиса VKCoin **

* получение токена - перейдите по ссылке, нажмите "Разрешить" и скопируйте часть адресной строки после access_token= и до &expires_in (85 символов)

Если при использовании способа выше вы получаете ошибку, перейдите по ссылке: https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username=LOGIN&password=PASSWORD, перед этим заменив login и password на ваш логин и пароль. После перехода по этой ссылке вам будет выдан расширенный токен.

** эту ссылку можно получить в коде страницы vk.com/coin

  1. Перейдите на vk.com/coin
  2. Используйте сочетание клавиш Ctrl + U для просмотра исходного кода страницы
  3. Откройте поиск, введите sign=
  4. Скопируйте найденную ссылку, содержащую параметр sign

После инициализации объекта необходимо зарегистрировать функцию, которая будет обрабатывать входящие платежи. Для этого используется декоратор handler

@callback.handler
def your_func(data):
	do_something...

При получении обратного вызова - входящей транзакции - в зарегестрированную функцию возвращается объект класса Entity, который является абстракцией входящего перевода и содержит следующие параметры:

data.user_id  # ваш ID
data.balance  # баланс вашего аккаунта 
data.user_from  # ID отправителя (инициатор входящей транзакции)
data.amount  # количество полученных коинов

Longpoll

Постоянно опрашивает сервер на наличие новых платежей и при поступлении таковых, оповещает об этом через декоратор. Все приведённые ниже функции находятся в классе VKCoinApi

После инициализации объекта необходимо зарегистрировать функцию, которая будет обрабатывать входящие платежи. Для этого используется декоратор lp_handler

@callback.lp_handler
def your_func(data):
	do_something...

При получении обратного вызова - входящей транзакции - в зарегестрированную функцию возвращается словарь, который содержит следующие параметры:

data.id  # ID платежа
data.to_id  # Ваш ID
data.balance  # баланс вашего аккаунта 
data.from_id  # ID отправителя (инициатор входящей транзакции)
data.amount  # количество полученных коинов
data.created_at  # Unix Timestamp, когда был совершён перевод

Примеры

Примеры расположены в отдельной папке репозитория.

Где меня можно найти

Я готов ответить на ваши вопросы, связанные с библиотекой.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vkcoin-1.11.8.tar.gz (7.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page