Онлайн платежи в Python без ИП: пошаговая инструкция
Добавление онлайн-платежей в Python-проект - частая задача для разработчиков. Однако регистрация ИП или юридического лица часто отпугивает новичков. В этой статье мы разберём, как принять оплату на сайте или в приложении без официального статуса предпринимателя. Вы узнаете о сервисах-посредниках, которые работают с физическими лицами, и получите готовые примеры кода для интеграции.
Какие платёжные сервисы работают без ИП?
Для приёма платежей физическому лицу подходят агрегаторы, которые не требуют статуса предпринимателя. Вот три популярных варианта:
- ЮMoney (Яндекс.Касса) - позволяет подключить приём платежей на кошелёк физического лица. Комиссия - 3-6%.
- QIWI - приём на счёт QIWI-кошелька. Подходит для тестовых и небольших проектов.
- Stripe - международный сервис, работающий с физлицами. Требует зарубежный счёт, но не нужен ИП.
Все они предоставляют API для интеграции с Python. Главный минус - ограниченный функционал по сравнению с юридическими лицами (например, нет возвратов по 54-ФЗ).
Подключение ЮMoney (Яндекс.Касса) для физических лиц
ЮMoney - самый простой способ для русскоязычных разработчиков. Для интеграции потребуется только кошелёк на Яндексе.
Шаг 1. Регистрация и получение ключей
Перейдите в личный кабинет ЮKassa (бывшая Яндекс.Касса). Выберите вариант «Физическое лицо». После регистрации вы получите shopId и секретный ключ. Сохраните их - они понадобятся для API-запросов.
Шаг 2. Установка библиотеки
Для работы с ЮKassa в Python используйте пакет yookassa. Установите его через pip:
pip install yookassaШаг 3. Создание платежа (пример кода)
Ниже - минимальный код для создания платёжной формы. Пользователь переходит по ссылке из confirmation_url и оплачивает заказ.
import uuid
from yookassa import Configuration, Payment
Configuration.account_id = 'ваш_shop_id'
Configuration.secret_key = 'ваш_секретный_ключ'
payment = Payment.create({
'amount': {
'value': '100.00',
'currency': 'RUB'
},
'confirmation': {
'type': 'redirect',
'return_url': 'https://your-site.com/success'
},
'capture': True,
'description': 'Оплата заказа №1'
}, uuid.uuid4())
print(payment.confirmation.confirmation_url)После оплаты ЮKassa отправит уведомление на ваш сервер (вебхук). Укажите URL для приёма уведомлений в настройках кабинета.
Интеграция QIWI для приёма платежей
QIWI позволяет принимать деньги напрямую на кошелёк. Для работы с API понадобится токен.
Получение токена QIWI
Зайдите в раздел API своего кошелька, создайте токен с правами на чтение и оплату счетов.
Пример создания счёта на Python
Установите библиотеку pyqiwi или используйте прямые HTTP-запросы:
import requests
token = 'ваш_токен'
headers = {'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'}
data = {
'amount': 100,
'comment': 'Оплата подписки',
'lifetime': 1 # час
}
response = requests.post('https://edge.qiwi.com/invoice/success/create', json=data, headers=headers)
print(response.json())В ответе вы получите invoice_url - ссылку для перехода пользователя на оплату.
Stripe для международных проектов
Если ваша аудитория за рубежом, используйте Stripe. Сервис не требует ИП, но нужен банковский счёт в поддерживаемой стране.
Подключение Stripe в Python
Установите официальную библиотеку:
pip install stripeПример создания платёжной сессии:
import stripe
stripe.api_key = 'sk_test_...'
session = stripe.checkout.Session.create(
success_url='https://your-site.com/success',
cancel_url='https://your-site.com/cancel',
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {'name': 'Товар'},
'unit_amount': 1000,
},
'quantity': 1,
}],
mode='payment',
)
print(session.url)Stripe автоматически конвертирует валюту и обрабатывает возвраты. Для России доступен только вывод средств на зарубежный счёт.
Ограничения при работе без ИП
Прежде чем выбрать способ, учтите нюансы:
- Лимиты: ЮMoney и QIWI ограничивают сумму приёма (до 600 000 ₽ в месяц для неподтверждённых кошельков).
- Налоги: Вы обязаны декларировать доход. Без ИП это делается как самозанятый (через приложение «Мой налог»).
- Блокировка: При подозрении на мошенничество сервисы могут заморозить средства.
Для серьёзного бизнеса лучше открыть ИП на УСН 6% - это снизит комиссии и снимет ограничения.
Заключение
Добавить онлайн-платежи в Python-проект без ИП реально через ЮMoney, QIWI или Stripe. Используйте готовые библиотеки и API-ключи, чтобы за 15 минут внедрить оплату. Начните с тестового режима - так вы проверите интеграцию без риска потерять деньги. Помните о налоговой отчётности, даже если работаете как физическое лицо.