Skip to main content

Асинхронный API для работы с платежной системой Payok.io.

Project description

Image

aiopayAPI

Асинхронное API для работы с сайтом Payok.io

Static Badge PyPI - Python Version PyPI - Downloads PyPI - License

Возможности


Что нового? v.0.1.3.3

  • Чтобы получить список транзакций необходимо использовать класс QuickPay.get_transaction()
  • Можно генерировать ссылку для оплаты с помощью метода QuickPay.generate_paylink()(функция) или QuickPay.link (переменная)
  • Добавлен aiopay.utils.OperationInfo, для получения информации о транзакция. Пример будет добавлен в папке examples/ на GitHub

Функции

Инициализация класса 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: Метод выплаты (class Method), изначально равно Method.card
receiver: Реквизиты получателя выплаты
sbp_bank: Банк для выплаты по СБП
comission_type: Тип расчета комиссии (class Comission.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


Получение транзакций

Запрашиваемые данные

browser_vi7nRQKhFU.png

Пример:

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


Получение выплат

Параметры:

browser_W7DtQlhnOV.png

Код:

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

Генерация ссылки для оплаты

browser_P9IK4dYjVJ.png

В таблице не сказано, но одним из важных элементов является secret (секретный ключ)

здесь

Его нужно ОБЯЗЯТАТЕЛЬНО указать (как, см. пример: examples/paylink.py)

Использование:

link = quick.generate_paylink() 


>>> https://payok.io/pay?amount=15&currency=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


Download files

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

Source Distribution

aiopayAPI-0.1.3.3.tar.gz (17.9 kB view details)

Uploaded Source

File details

Details for the file aiopayAPI-0.1.3.3.tar.gz.

File metadata

  • Download URL: aiopayAPI-0.1.3.3.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for aiopayAPI-0.1.3.3.tar.gz
Algorithm Hash digest
SHA256 84cb7a491603b6817ec83615564c1e95edad8dcc0785d67664fd22e0bb8df892
MD5 0a5d09c811443517d2e8705a16e68f0c
BLAKE2b-256 a006017a35fda71d96ea84b40224da74647326a8d70417d032e30d26778b0f6e

See more details on using hashes here.

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