Интеграция YooKassa с Python: полное руководство

Подготовка к работе и настройка yookassa python api
Интеграция платёжного шлюза — дело сродни установке кассового аппарата в вашем любимом магазине. Прежде чем начать принимать деньги, всё должно быть подключено и настроено на ура. Процесс состоит из нескольких несложных шагов, которые гарантируют безопасное взаимодействие вашего сервиса с системой платежей.
-
Установка библиотеки. Первым делом заходим в терминал вашего проекта и устанавливаем официальный SDK-клиент, который поможет вам справиться со всеми задачами без лишней головной боли:
pip install yookassa - Получение ключей доступа. Без аутентификации никак — нужны два ключа: идентификатор магазина (Shop ID) и секретный ключик, как от вашего сейфа. Их можно найти после регистрации в личном кабинете плательщика, но держите их под замком — это ваше сокровище.
-
Конфигурация. Поставили клиент? Ключи получили? Теперь самое время познакомить ваш код с этими данными:
from yookassa import Configuration # Настройки клиента с вашими магическими цифрами Configuration.configure('<ваш_shop_id>', '<ваш_секретный_ключ>') - Безопасность прежде всего! Всегда держитесь протокола HTTPS при любом взаимодействии с платёжным шлюзом — ваши клиенты этого достойны.
Создание и обработка платежей с yookassa python
После подготовки пора приступать к главному: приёму денег! Процесс можно разделить на три этапа: создание счёта, переход пользователя для оплаты и контроль результата транзакции — как выписка счёта-фактуры: создаём документ, передаём клиенту и проверяем поступление средств.
1. Формирование объекта платежа. Начинаем транзакцию с создания объекта со всей нужной информацией: сумма, валюта, описание; ну и return_url не забываем указать:
from yookassa import Payment
import uuid
# Создаём объект платежа.
payment = Payment.create({
"amount": {
"value": "1500.00", # Сколько стоит?
"currency": "RUB" # В какой валюте берём деньги?
},
"confirmation": {
"type": "redirect",
"return_url": "https://vash-site.ru/payment_success" # Куда вернётся пользователь после оплаты?
},
"capture": True,
"description": "Заказ №12345"
}, uuid.uuid4())
# Получаем ссылку для оплаты.
confirmation_url = payment.confirmation.confirmation_url
2. Перенаправление пользователя. Взяли confirmation_url? Отлично! Теперь отправляем клиента туда оплачивать покупку на защищённую страничку, где он может выбрать подходящий метод оплаты.
3. Проверка статуса операции: После того как пользователь отдаст свои кровные или решит отказаться от покупки (такое тоже бывает), статус поменяется на succeeded или canceled. Вашему приложению важно отслеживать эти изменения — делайте это через опрос статуса по ID или настройте webhooks для быстрых уведомлений о результатах от платёжки.
Иван Петров из Surf говорит: «Для крупных e-commerce проектов надёжная интеграция платёжных систем — это про доверие клиентов и основу роста бизнеса.»
В общем-то говоря, качественная интеграция — залог успеха любой компании онлайн-платежей! Она дарит удобство вашему покупателю и закладывает фундамент для грандиозных бизнес-достижений впереди!