Package: vkcoinapi
vkcoinapiОбертка над VK Coin API на PythonУстановкаpip3installvkcoinapiИспользованиеПеред началом необходимо создать экземпляр классаVKCoin.
Он принимает 2 аргумента:АргументТипОбязательныйОписаниеkeystr+Ключ доступа к VK Coin, полученный здесь:vk.com/coin#create_merchantmerchantIdint+ID пользователя ВКонтакте, для которого получен ключtokenstr—Токен, полученный из URL адресаздесь. Необходим только при использовании longPoll() и getTop().fromvkcoinapiimport*coin=VKCoin(key='ваш_ключ',merchantId=ваш_id)После этого становятся доступны следующие методы, которые возвращают JSON словарь:getPaymentURL()Возвращает ссылку на перевод видаhttps://vk.com/coin#xВАШID_СУММА_PAYLOAD.Если необходимо, чтобы пользователь мог изменить сумму перевода, то в конец добавляется_1.АргументТипОбязательныйОписаниеamountint+Сумма перевода.payloadint—Любое число от-2000000000до2000000000, вернется вам в списке транзаций. Если не указано, отправляется случайное число.freebool—Может ли пользователь изменять сумму перевода. По умолчаниюFalse.coin.getPaymentURL(1000)>>>'https://vk.com/coin#xВАШID_1000_PAYLOAD'Обратите внимание, что сумма указывается в тысячных долях.В примере выше 1000 = 1 VK Coin.
Т.е., для того, чтобы отправить 0,001 VK Coin, нужно указать1.getTransactions()Возвращает список транзакций.АргументТипОбязательныйОписаниеtypeint—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()Отправляет перевод.АргументТипОбязательныйОписаниеtoint+ID пользователя, кому отправляем перевод.amountint+Сумма перевода.coin.sendPayment(1,100)>>>{'response':{'id':1400290,'amount':100,'current':578637358}}getBalance()Позволяет получить баланс пользователей.АргументТипОбязательныйОписаниеuser_idslist—ID пользователей, для которых нужно узнать баланс.По умолчанию — наш ID.coin.getBalance()>>>{'response':{'165275777':578637358}}coin.getBalance([1,1324639])>>>{'response':{'1':92697214157,'1324639':6935662916530}}getTop()Возвращает список текущего топа.АргументТипОбязательныйОписаниеtypestr—Тип возвращаемого топа (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()Изменяет название магазина.АргументТипОбязательныйОписаниеnamestr+Новое название магазина.coin.setShopName('My Shop')>>>{'response':'1'}setCallback()Изменяет адрес для callback запросов.АргументТипОбязательныйОписаниеcallbackstr—Адрес для 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