Skip to main content

freekassa

Установка

pip install freekassa-ru

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

from freekassa_ru import Freekassa


SHOP_ID = ''
API_KEY = ''
fk = Freekassa(shop_id=SHOP_ID, api_key=API_KEY)

Запрос баланса

fk.get_balance() 
    {
        "type": "success",
        "balance": 
        [
            {
                "currency": "RUB",
                "value": 743.43
            }
        ]
    }

Список заявок

list = fk.get_orders()

Фильтрация:

  • order_id: int = None,
  • payment_id: str = None,
  • order_status: int = None,
  • date_from: datetime.datetime = None,
  • date_to: datetime.datetime = None,
  • page: int = None
    {
        "type": "success",
        "pages": 12,
        "orders": 
            [
                {
                "merchant_order_id": "Order #123",
                "fk_order_id": 652367,
                "amount": 100.12,
                "currency": "RUB",
                "email": "user@site.ru",
                "account": "5555555555554444",
                "date": "2021-03-29 12:28:24",
                "status": 1
                }
            ]
    }

Получить название статуса:

from freekassa_ru import get_order_label

print(get_order_label(order.get('status')))

Создать заказ и получить ссылку на оплату

payment_system_id = 1
email = 'test@test.ru'
ip = '0.0.0.0'
amount = 110.20
list = fk.create_order(payment_system_id, email, ip, amount)

Параметры:

  • payment_system_id: int, ID платежной системы
  • email: str, Электронный адрес плательщика
  • ip: str, IP плательщика
  • amount: float, сумма платежа
  • currency_code: str = 'RUB', символьный код валюты оплаты
  • payment_id: str = None, Номер заказа в Вашем магазине
  • tel: str = None, телефон плательщика
  • success_url: str = None, Переопределение урла успеха (для включения данного параметра обратитесь в поддержку)
  • failure_url: str = None, Переопределение урла ошибки (для включения данного параметра обратитесь в поддержку)
  • notification_url: str = None, Переопределение урла уведомлений (для включения данного параметра обратитесь в поддержку)
    {
        "type": "success",
        "orderId": 123,
        "orderHash": "bd4161db429848651499aabcb1d89330",
        "location": "https://pay.freekassa.ru/form/123/bd4161db429848651499aabcb1d89330"
    }

Список выплат

fk.get_withdrawals()

Фильтры аналогичные списку заявок

Создать выплату

payment_system_id = 1
amount = 110.20
account = '5500000000000004'
fk.create_withdrawal(self, payment_system_id: int, account: str, amount: float)

Параметры:

  • payment_system_id: int, ID платежной системы
  • account: str, Кошелек для зачисления средств (при выплате на FKWallet вывод осуществляется только на свой аккаунт)
  • amount: float, сумма платежа
  • currency_code: str = 'RUB', символьный код валюты оплаты
  • payment_id: str = None, Номер заказа в Вашем магазине
    {
      "type": "success",
      "data": {
        "id": 185
        }
    }

Получение списка доступных платежных систем

fk.get_payment_systems() 
  {
    "type": "success",
    "currencies": [
        {
        "id": 4,
        "name": "VISA",
        "currency": "RUB",
        "is_enabled": 1,
        "is_favorite": 0
        }
    ]
}

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

payment_system_id = 1
fk.check_payment_system(payment_system_id)
  {
      "type": "success"
  }

Получение списка доступных платежных систем для вывода

fk.get_payment_systems_for_withdrawal() 
{
  "type": "success",
  "currencies": [
    {
      "id": 4,
      "name": "VISA",
      "min": 100,
      "max": 15000,
      "currency": "RUB",
      "can_exchange": 1
    }
  ]
}

Получение списка Ваших магазинов

fk.get_shops() 
{
  "type": "success",
  "shops": [
    {
      "id": 777,
      "name": "Рога и копыта",
      "url": "https://horns-and-hooves.ru"
    }
  ]
}

Обработка ответа о платеже

  from freekassa_ru import Notification
  
  SECRET_KEY_2 = ''
  ip = '0.0.0.0' # IP, с которого пришел запрос
  data = request.GET # или request.POST в зависимости от настроек магазина
  notification = Notification(data=data, secret2=SECRET_KEY_2, ip=ip)
  notification.check() # Проверка IP и подписи
  payment_id = notification.payment_id # получение ID заказа на сайте продавца для изменения статуса оплаты

Обработка ошибок

from freekassa_ru import FreekassaError, FreekassaAuthError, FreekassaNotificationError

try:
    fk.get_balance()
except FreekassaError as e:
    print(e) # Ошибка выполнения запроса
except FreekassaAuthError as e:
    print(e) # Ошибка авторизации API
    
try:
    notification.check()
except FreekassaNotificationError as e:
    print(e) # Ошибка проверки оповещения о платеже

Metadata

Release files for freekassa-ru 0.0.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 freekassa-ru 0.0.7
File Size Uploaded
freekassa_ru-0.0.7.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for freekassa-ru 0.0.7
File Interpreter ABI Platform
freekassa_ru-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 kB

Release files / freekassa_ru-0.0.7.tar.gz

Download URL freekassa_ru-0.0.7.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a14e7d50be1e56c92b7c856d86481648087b2d65e01dea93a59642bec11d2da2
BLAKE2b-256 checksum
How to use checksums
f6525a1e715dab755a6db31793550f393d13b63b3282a94ce8a8ad7d8cfcf48c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.7.8

Release files / freekassa_ru-0.0.7-py3-none-any.whl

Download URL freekassa_ru-0.0.7-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22e8f91edf86b8f81d282bcb39717863cb083ec8bddc1e20fd475c837b410b42
BLAKE2b-256 checksum
How to use checksums
f6e1781f2153f150baa612d6609345f0ead14a52e0d6842e6daaf78b6064c65e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.7.8

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

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