Асинхронный API для работы с платежной системой Payok.io.
Project description
aiopayAPI
Асинхронное API для работы с сайтом Payok.io
Возможности
- Получение баланса
- Получение транзакций
- Создание выплат (переводов)
- Получение выплат
- Создание ссылки для оплаты
- Возможные ошибки
Что нового? v.0.1.3.7
- Исправлен баг с
Payok().create_payout()
Функции
Инициализация класса PayOk
class PayOk:
"""
Класс для работы с сайтом PayOk
"""
def __init__(self,
API_ID: int,
API_KEY: str,
shop: int,
payment: str | int | None = None,
payout_id: int | None = None,
offset: int = 0,
amount: float | None = None,
method: Method | None = None,
reciever: str | None = None,
sbp_bank: str | None = None,
commision_type: str = Commission.balance,
url: str | None = None,
json_file: str | None = None,
processing_error: bool = False)
API_ID:
ID ключа с сайта https://payok.io/cabinet/api.php
API_KEY:
API ключ
shop:
ID магазина
payment:
ID платежа в вашей системе
payout_id:
ID выплаты в системе Payok
offset:
Отступ, пропуск указанного количества строк
amount:
Сумма выплаты
method:
Метод выплаты (classMethod
), изначально равно Method.card
receiver:
Реквизиты получателя выплаты
sbp_bank:
Банк для выплаты по СБП
comission_type:
Тип расчета комиссии (classComission.balance
|Comission.payment
)
url:
URL для отправки Webhook при смене статуса выплаты
json_file:
JSON файл в который будут записываться все ответы из запросов
processing_error
: boolean значение, если True то будут обрабатываться все доступные ошибки
Пример использования:
# В примере указаны лишь обязательные параметры
pay = PayOk(
API_ID=1111, # Все эти данные берем отсюда: https://payok.io/cabinet/api.php
API_KEY="xxxxxxxxxxxxx",
shop=1234
)
Получение баланса
Запрашиваемые данные
Использование
# Предварительно нужно указать класс PayOk со всеми данными
balance = await pay.get_balance()
>>> {"balance":"339.44", "ref_balance":"6063.60"}
Возвращается dict
объект с данными.
Пример использования в папке examples/get_balance.py
Получение транзакций
Запрашиваемые данные
Пример:
quick = Quick() # В параметраъ необходимо указать нужные данные
trans = await quick.get_transaction()
>>> {"status":"success"
"1": {
"transaction":10000,
"email":"example@ex.com",
"amount":1065,
"currency":USD,
"currency_amount":14.26,
"comission_percent": 5 ,
"comission_fixed":"15",
"amount_profit":1000,
"method":Visa/Mastercard,
"payment_id":10500,
"description":Описание транзакции,
"date":26.09.2021 20:40:07,
"pay_date":26.09.2021 21:00:00
"transaction_status":0
"custom_fields":null
"webhook_status":1
"webhook_amount":1
}
}
Пример использования в папке examples/get_transaction.py
Получение выплат
Параметры:
Код:
payout = await pay.get_payout()
>>> {
"status":"success"
"1": {
"payout":10000,
"method":"card",
"reciever":"5000400030002000",
"type":main,
"amount":1000,
"comission_percent": 2 ,
"comission_fixed":"50",
"amount_profit":930,
"date_create":26.09.2021 20:40:07,
"date_pay":26.09.2021 20:55:01,
"status":0
}
}
Создание выплат (переводов)
Запрашиваемые параметры
Как использовать:
payout = pay.create_payout()
>>> {
"status":"success",
"remain_balance":"229.44",
"data": {
"payout_id":100,
"method":"card",
"reciever":"5000400030002000",
"amount":1000,
"comission_percent": 2 ,
"comission_fixed":"50",
"amount_profit":930,
"date":26.09.2021 20:40:07,
"payout_status_code":0,
"payout_status_text":"WAIT"
}
}
Пример использования в папкеexamples/create_payout.py
Методы оплаты (Method
)
Используйте эти сокращения в параметре method
в создании выплат
Методы оплаты | Короткие названия | Использование в aiopayAPI |
---|---|---|
Банковская карта | card | Method.card |
Банковская карта (Украина) | card_uah | Method.card_uah |
Банковская карта (Зарубежная) | card_foreign | Method.card_foreign |
Тинькофф | tinkoff | Method.tinkoff |
СБП | sbp | Method.sbp |
Qiwi | qiwi | Method.qiwi |
Yoomoney | yoomoney | Method.yoomoney |
Payeer | payeer | Method.payeer |
Advcash | advcash | Method.advcash |
Perfect Money | perfect_money | Method.perfect_money |
Webmoney | webmoney | Method.webmoney |
Bitcoin | bitcoin | Method.bitcoin |
Litecoin | litecoin | Method.litecoin |
Tether USDT | tether | Method.tether |
Tron | tron | Method.tron |
Dogecoin | dogecoin | Method.dogecoin |
Ethereum | ethereum | Method.ethereum |
Ripple | ripple | Method.ripple |
Генерация ссылки для оплаты
В таблице не сказано, но одним из важных элементов является secret
(секретный ключ)
Его нужно ОБЯЗЯТАТЕЛЬНО указать (как, см. пример: examples/paylink.py
)
Использование:
link = quick.generate_paylink()
>>> https://payok.io/pay?amount=15¤cy=RUB&payment=123456789&desc=test&shop=6335&method=cd&sign=ec5b7c446ce43d32c0afc79d31cc4686
Возможные ошибки
Код | Описание |
---|---|
1 | Не указан идентификатор API; Параметр API_ID |
2 | Не указан API-ключ; Параметр API_KEY |
3 | Не удалось идентифицировать API по этому ID |
4 | Неверный ключ API; Параметр API_KEY |
5 | IP-Адрес 'Значение' не добавлен в список разрешенных IP |
6 | У этого ключа API нет прав на выполнение этой операции. |
7 | Выплат не найдено |
8 | Не указан номер магазина; Параметр shop |
9 | Магазин не найден; Параметр shop |
10 | Транзакций не найдено |
11 | Неправильное значение суммы. Укажите сумму в числовом, либо в вещественном типе; Параметр amount |
12 | Неверное значение типа комиссии, он может только 2 значения: balance или payment; Параметр comission |
13 | Неверное значение метода, узнайте все доступные методы для выплаты в документации; Параметр method |
14 | Указан неверный URL, введите корректный URL или оставьте значение пустым; Параметр webhook_url |
15 | Возможность делать выплаты приостановлена для вашего аккаунта. Обратитесь в чат |
16 | Вам еще не одобрены моментальные выплаты. Обратитесь в чат за одобрением. Массовые выплаты не будут работать, если эта опция отключена. |
17 | Необходимо указать инициалы в личном кабинете для осуществления выводов на банковскую карту. |
18 | Отрицательное значение суммы выплаты. |
19 | Минимальная сумма к получению для способа 'Способ' - 'Количество' Рублей. (Сумма ниже минимально возможной для выплаты этим способом) |
20 | Недостаточно средств |
21 | В данный момент этот способ вывода недоступен, воспользуйтесь другим. |
23 | Статус QIWI-кошелька получателя не позволяет перевести ему деньги. |
24 | Неверный формат данных. |
24 | Неверно указан номер платежа (Параметр payment ) |
25 | Сработал лимит запросов. |
Все данные ошибки могут быть обработаны с помощью параметра processing_error
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file aiopayAPI-0.1.3.7.tar.gz
.
File metadata
- Download URL: aiopayAPI-0.1.3.7.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74930ee35bf390caedd02c4636f3d7c051edd30638b50ec2da7d82e23aa01369 |
|
MD5 | ce5837151a69c6fd919e80f4e318babb |
|
BLAKE2b-256 | 27c0e35ad49bf50cdb6d308a2dfcef99564b641b4dd0a63f3c51ffa56a2a07f5 |