-
Notifications
You must be signed in to change notification settings - Fork 0
Payments
AFETZ edited this page Jun 25, 2026
·
1 revision
- Telegram Stars;
- YooKassa;
- YooMoney;
- Cryptomus;
- Heleket.
Каждый gateway включается отдельной переменной SHOP_PAYMENT_*_ENABLED.
- Пользователь создает transaction в боте.
- Gateway возвращает payment URL или invoice.
- Пользователь оплачивает.
- Gateway вызывает callback endpoint.
- Бот проверяет transaction и idempotency.
- Подписка создается или продлевается.
Payment callback может прийти повторно. Обработка должна быть безопасной:
- не создавать двойное продление;
- не пересоздавать клиента без причины;
- сохранять понятный transaction status;
- логировать конфликтные состояния.
Фоновые задачи проверяют pending transactions, если gateway поддерживает запрос статуса. Это закрывает случаи, когда callback потерялся или пришел поздно.
После изменения billing-кода:
- прогнать payment tests;
- проверить один безопасный тестовый платеж;
- проверить логи callback endpoint;
- проверить, что пользователь получил подписку;
- проверить, что повторный callback не меняет срок второй раз.