fix(registration): pending-счёт не показывать как «платёж принят» #149

Merged
ant merged 1 commits from fix/registration-pending-display into dev 2026-06-16 05:36:39 +00:00
Owner

Кандидат в пайщики (кейс ПК СЭК «СИГМА») видит на экране регистрации «Ваш платеж принят», хотя вступительный взнос НЕ оплачен.

Причина

Счёт регистрационного взноса создаётся со статусом pending сразу при заходе на шаг «Оплатите взнос» — это значит «счёт выставлен», а не «деньги получены». При возврате на страницу (перезагрузка / повторный вход) роутинг SignUp.vue считал сам факт наличия записи платежа за «этап оплаты пройден» и вёл на WaitingRegistration, где дефолтная ветка (v-else) показывает «Ваш платеж принят». Статус платежа при этом не менялся — успех показывался как fallback «раз не отказ — значит ок».

Это единственное необработанное состояние в FSM регистрации (reg-fsm/reg-decline): отказы/отмена/возврат/перерегистрация покрыты, а «счёт выставлен, деньги не пришли» — нет.

Что меняет PR (только фронт, без бэкенда/контрактов)

  • SignUp.vue: на экран ожидания/отказа ведём только при PAID/COMPLETED или терминальном статусе (отказ/отмена/возврат). pending → шаг оплаты (PayInitial: QR + поллинг приёма денег).
  • WaitingRegistration.vue: для pending — отдельная ветка «Ожидаем поступление оплаты» + кнопка «Перейти к оплате»; «платёж принят» остаётся только для PAID/COMPLETED.

Эффект

Неоплативший кандидат при возврате видит форму оплаты с QR, а не ложное «принят». Зависшие записи (СИГМА) чинятся автоматически после деплоя — ручная правка БД не нужна.

ESLint по обоим файлам — чисто.

Кандидат в пайщики (кейс ПК СЭК «СИГМА») видит на экране регистрации «Ваш платеж принят», хотя вступительный взнос НЕ оплачен. ## Причина Счёт регистрационного взноса создаётся со статусом `pending` сразу при заходе на шаг «Оплатите взнос» — это значит «счёт выставлен», а не «деньги получены». При возврате на страницу (перезагрузка / повторный вход) роутинг `SignUp.vue` считал сам факт наличия записи платежа за «этап оплаты пройден» и вёл на `WaitingRegistration`, где дефолтная ветка (`v-else`) показывает «Ваш платеж принят». Статус платежа при этом не менялся — успех показывался как fallback «раз не отказ — значит ок». Это единственное необработанное состояние в FSM регистрации (reg-fsm/reg-decline): отказы/отмена/возврат/перерегистрация покрыты, а «счёт выставлен, деньги не пришли» — нет. ## Что меняет PR (только фронт, без бэкенда/контрактов) - **SignUp.vue**: на экран ожидания/отказа ведём только при `PAID`/`COMPLETED` или терминальном статусе (отказ/отмена/возврат). `pending` → шаг оплаты (`PayInitial`: QR + поллинг приёма денег). - **WaitingRegistration.vue**: для `pending` — отдельная ветка «Ожидаем поступление оплаты» + кнопка «Перейти к оплате»; «платёж принят» остаётся только для `PAID`/`COMPLETED`. ## Эффект Неоплативший кандидат при возврате видит форму оплаты с QR, а не ложное «принят». Зависшие записи (СИГМА) чинятся автоматически после деплоя — ручная правка БД не нужна. ESLint по обоим файлам — чисто.
claude added 1 commit 2026-06-16 05:30:36 +00:00
fix(registration): pending-счёт не считать «оплачено» — вести на оплату, а не на ожидание
Typecheck / desktop (pull_request) Successful in 13m50s
Typecheck / controller (pull_request) Has been cancelled
2d71706840
Счёт регистрационного взноса создаётся со статусом pending сразу при заходе на
шаг оплаты («счёт выставлен», деньги ещё не получены). При возврате на страницу
(перезагрузка/повторный вход) роутинг считал сам факт наличия платежа за «этап
оплаты пройден» и вёл на экран ожидания, где дефолтная ветка показывала «Ваш
платеж принят» — хотя оплаты не было и статус не менялся.

- SignUp: на экран ожидания/отказа ведём только при PAID/COMPLETED либо
  терминальном статусе (отказ/отмена/возврат); pending → шаг оплаты (QR + поллинг).
- WaitingRegistration: для pending — отдельная ветка «Ожидаем поступление оплаты»
  + кнопка «Перейти к оплате»; «платёж принят» остаётся только для PAID/COMPLETED.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ant approved these changes 2026-06-16 05:36:34 +00:00
ant merged commit 0ae8702ade into dev 2026-06-16 05:36:39 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: C9S/mono#149