ЮKassa для теннисного и падл-клуба
letscourt интегрирован с ЮKassa из коробки: приём платежей картой и СБП, идемпотентные webhook-и, авто-возврат при отмене брони, фискализация чеков через ОФД (54-ФЗ). Подключение за 1 минуту — вставляете SHOP_ID и SECRET_KEY в админке, и сразу принимаете деньги.
Подать заявку →Что работает из коробки
Все основные карты России. ApplePay/GooglePay через ЮKassa автоматически если у клиента в браузере.
Система быстрых платежей через QR. Клиент платит из любого банка, у клуба ЮKassa-аккаунт.
ЮKassa может повторить уведомление 10 раз — letscourt запишет один платёж. UNIQUE constraint на (provider, event_id) в БД.
Клиент или админ отменили оплаченную бронь — refund в ЮKassa уходит автоматически. Не надо руками заходить в ЛК ЮKassa и искать платёж.
Через ОФД-провайдера ЮKassa. Клиент получает фискальный чек на email или в SMS — по требованию налоговой.
Клиент начал оплату но не подтвердил — слот блокируется на 10 минут, потом возвращается в продажу. Никаких потерянных платежей в подвисшем состоянии.
Подключение — 1 минута
- В Личном кабинете ЮKassa → создаёте магазин (если ещё нет) → раздел «Интеграция → API»
- Копируете SHOP_ID и SECRET_KEY (live, не тестовые)
- В letscourt admin → Интеграции → ЮKassa → вставляете SHOP_ID и SECRET_KEY → «Подключить»
- Webhook URL регистрируется автоматически на нашей стороне — копировать ничего не надо
- Готово — следующая бронь будет с настоящей оплатой через ЮKassa
До этого момента letscourt работает в режиме PAYMENTS_MODE=stub — брони создаются как «оплачено» без реальных денег. Удобно для теста.
Цикл платежа
От клика клиента «Оплатить» до подтверждения брони:
letscourt создаёт бронь со статусом hold + amount + holdExpiresAt = +10 мин
letscourt создаёт payment в ЮKassa через POST /v3/payments с return_url и описанием. Получает payment_id и confirmation_url.
Клиент видит форму оплаты ЮKassa с картой/СБП. Платит. Возвращается на return_url нашего сайта.
POST на наш endpoint с event=payment.succeeded. Мы проверяем подпись (HMAC), валидируем event_id (UNIQUE), ставим payment.status=succeeded.
booking.status = hold → confirmed, paymentStatus = unpaid → paid. Клиенту уходит SMS/Telegram-уведомление.
Сколько берёт ЮKassa
Стандартные комиссии ЮKassa (актуальный прайс — на их сайте):
| Метод | Комиссия | Зачисление |
|---|---|---|
| Карта (Visa/Master/Мир) | ~2.8% | на след. рабочий день |
| СБП | ~0.4-0.7% | мгновенно |
| ApplePay/GooglePay | ~2.8% | на след. рабочий день |
letscourt не берёт никакой наценки — все деньги от клиентов идут к вам напрямую через ЮKassa. Нам платите только месячный тариф (см. цены).
Подключить ЮKassa и принимать платежи
Если у вас уже есть ЮKassa-аккаунт — подключение займёт минуту. Если нет — регистрация в ЮKassa тоже простая (часов несколько на проверку), и потом подключаете в letscourt.
Подать заявку →