Merge pull request #92 from izzzzzi/main

Fix pay stars
This commit is contained in:
Vladislav Lisitsyn
2024-11-15 18:03:04 +03:00
committed by GitHub
2 changed files with 6 additions and 4 deletions
+1 -2
View File
@@ -26,8 +26,8 @@ dp.include_router(profile.router)
dp.include_router(keys.router)
dp.include_router(key_management.router)
dp.include_router(pay.router)
dp.include_router(notifications.router)
dp.include_router(donate.router)
if YOOKASSA_ENABLE:
dp.include_router(yookassa_pay.router)
if FREEKASSA_ENABLE:
@@ -38,7 +38,6 @@ if STARS_ENABLE:
dp.include_router(stars_pay.router)
if ROBOKASSA_ENABLE:
dp.include_router(robokassa_pay.router)
dp.include_router(notifications.router)
dp.message.middleware(LoggingMiddleware())
dp.callback_query.middleware(LoggingMiddleware())
+5 -2
View File
@@ -12,6 +12,7 @@ from config import RUB_TO_XTR
class DonateState(StatesGroup):
entering_donate_amount = State()
waiting_for_donate_confirmation = State()
waiting_for_donate_payment = State()
router = Router()
@@ -91,6 +92,7 @@ async def process_donate_amount_input(message: types.Message, state: FSMContext)
currency="XTR",
reply_markup=builder.as_markup(),
)
await state.set_state(DonateState.waiting_for_donate_payment)
except Exception as e:
logger.error(f"Ошибка при создании доната: {e}")
await message.answer("Произошла ошибка при создании доната.")
@@ -98,12 +100,12 @@ async def process_donate_amount_input(message: types.Message, state: FSMContext)
await message.answer("Некорректная сумма. Пожалуйста, введите сумму еще раз:")
@router.pre_checkout_query()
@router.pre_checkout_query(DonateState.waiting_for_donate_payment)
async def on_pre_checkout_query(pre_checkout_query: PreCheckoutQuery):
await pre_checkout_query.answer(ok=True)
@router.message(F.successful_payment)
@router.message(F.successful_payment,DonateState.waiting_for_donate_payment)
async def on_successful_donate(message: types.Message, state: FSMContext):
try:
user_id = int(message.from_user.id)
@@ -133,6 +135,7 @@ async def on_successful_donate(message: types.Message, state: FSMContext):
)
await state.update_data(last_message_id=sent_message.message_id)
await state.clear()
except ValueError as e:
logger.error(f"Ошибка конвертации user_id или amount: {e}")