🖥 Окружение
Frontend: deploy-preview-880--chatplace-front.netlify.app
Backend: dev-api.chatplace.io (зашит в сборку, preview-api-core не нужен)
MR: #880 · Коммит:
b4e4b41c4
Логин: 726@mail.com /
726@mail.com
Регистрация: Email, OTP любые 4 цифры (dev)
VPN: не нужен (Netlify + dev-api)
💳 Тестовые карты
| Карта | Номер | Exp | CVC | Примечание |
| Visa | 4242 4242 4242 4242 | любая будущая | любой | Проходит везде |
| Amex | 3782 8224 6310 005 | любая будущая | любой 4-зн. | USD — ок, другие валюты — модалка |
🌍 Матрица валют и платёжных систем
| Валюта | Система | Какие карты | Проверка страны |
| 🇷🇺 RUB — Рубли | CloudPayments | Любая (МИР, Visa, MC, UnionPay) | ❌ Нет |
| 🇺🇸 USD — Доллары | Stripe | Любая | ❌ Нет |
| 🇧🇷 BRL — Реалы | Stripe | Только бразильские | ❌ Нет |
🧪 Сценарии тестирования (от Артура)
| # | Сценарий | Результат Артура | Ретест |
| 1 | BRL + Visa (4242…) не из Бразилии → модалка выбора валюты | ✅ Пройден | ⏳ |
| 2 | Amex (3782…) + USD → успешная оплата | ✅ Пройден | ⏳ |
| 3 | Amex (новая карта) + BRL → модалка | ✅ Пройден | ⏳ |
| 4 | Сохранённая Amex + BRL → модалка (основной фикс) | ✅ Пройден | ⏳ |
| 5 | Модалка на mobile (375px) + tablet (768px) | ✅ Пройден | ⏳ |
| 6 | Сохранённая Amex + USD (регрессия) | 🟠 Нюанс | ⏳ |
🟠 Известный нюанс (сценарий 6)
Проблема: Бэкенд /subscription/validate-payment-method возвращает 422 для сохранённой Amex при ВСЕХ валютах, включая USD. При этом новая Amex + USD проходит нормально.
Фронт работает корректно — показывает модалку вместо error-страницы. Но для пользователей с сохранённой Amex модалка появляется даже при совместимой валюте (USD).
Вывод Артура: Требуется проверка бэкенда.
🔧 Что исправлено (фронт)
- StripeInitCard.vue — добавлена валидация сохранённой карты через
validatePaymentMethod перед редиректом. При ошибке → модалка вместо /payment/error/
- StripeInitCard.vue — расширен список
decline_code: добавлен currency_not_supported для Amex
- pages/payment/index.vue — обработка query-параметра
showInvalidRegionModal для показа модалки после редиректа
- pages/payment/success.vue — safety net: перехват region-ошибок в
createSubscription/addCard с редиректом
📝 Ранее найденные проблемы (Наталья, 24-25.03)
- При использовании уже добавленной карты модалка не появлялась → исправлено (сценарий 4)
- При попытке оплаты Amex не в долларах на русском языке модалка не появлялась → исправлено (сценарий 3)
- Одновременно появлялся тост с ошибкой → текст изменён на «Вашу карту нельзя использовать»
- Проверена локализация ошибки: EN ✅ ES ✅ PT ✅ UZ ✅ TR ✅