Короткий ответ
Если ваша карта была действительно отклонена, отказ поступил от вашего банка через Stripe, а не от Whizi, поэтому решение: другая карта или звонок в банк. О том, почему банки вообще блокируют платежи за подписки на ИИ и как определить, какая из шести причин коснулась именно вас, рассказано в статье как оплачивать ИИ, если ваша карта отклонена. У Whizi нет сообщения об отклонённой карте при оформлении заказа. Данные карты вводятся на размещённой у Stripe странице оформления заказа, которая находится вне кодовой базы Whizi, поэтому ответ банка уходит в Stripe и никогда не доходит до Whizi.
Поэтому если вы увидели ошибку с формулировкой от Whizi, это был не отказ. Это была одна из строк ниже, и у каждой из них своя причина и своё решение.
Три ошибки, которые проще всего принять за отказ:
| Что вы увидели | Что это значит | Что делать |
|---|---|---|
This card has already used its intro trials, so this starts at the full price of, а далее указана цена | Эта карта использовала вводный пробный период четыре раза, это лимит на карту | С картой всё в порядке. Оплатите указанную полную цену или используйте карту, у которой ещё остались пробные периоды |
Pricing is temporarily unavailable. | Whizi не удалось прочитать таблицу цен из Stripe | Подождите и попробуйте позже. На вашей стороне это никак не исправить |
Failed to create Stripe checkout session. | Запрос на оформление заказа не выполнился, а бэкенд не передал сообщение | Повторите попытку один раз. Если ошибка повторяется, обратитесь в поддержку |
Все ошибки, которые бэкенд Whizi возвращает при оформлении заказа
Эти ошибки приходят с сервера, поэтому у них есть HTTP статус и код ошибки, которые поддержка может сопоставить в сетевой трассировке. Тело каждой ошибки бэкенда представляет собой JSON вида {"error": {"code": "...", "message": "..."}}, поэтому код всегда идёт рядом с сообщением. Строки ниже упорядочены по HTTP статусу.
| Сообщение | HTTP | Код | Когда возникает |
|---|---|---|---|
A plan and billing cycle are required. | 400 | invalid_checkout_request | Тело запроса на оформление заказа не удалось разобрать |
Invalid plan or billing cycle. | 400 | invalid_plan_or_cycle | План или цикл не соответствуют ни одной известной цене Stripe |
No subscription item found for the active subscription. | 400 | subscription_item_missing | Смена плана на месте выполнялась для подписки без элемента подписки |
The supplied discount must be an active 100% promotion code or coupon ID. | 400 | invalid_discount | Переданный код не является действующим промокодом на 100 процентов или ID купона |
Temporary email addresses are not allowed. Please use a permanent email address. | 400 | disposable_email_blocked | Почта аккаунта, в который вы вошли, находится в списке временных доменов |
User not found. | 404 | not_found | Маршрут оформления заказа не смог прочитать вашу запись пользователя |
Pricing is temporarily unavailable. | 503 | pricing_unavailable | Не удалось прочитать локализованную таблицу цен из Stripe |
Что делать с каждой из них. Карта, которая использовала свои вводные пробные периоды, вообще не получает отказ, и этому посвящён отдельный раздел ниже. Pricing is temporarily unavailable. возникает на стороне сервера: это HTTP 503, который возвращается, когда локализованную таблицу цен не удаётся прочитать из Stripe, и в вашем аккаунте нет настройки, которая на это влияет. Failed to create Stripe checkout session. вовсе не является сообщением сервера, поэтому в ней и не названа причина: это собственный резервный текст сайта, который показывается, когда запрос на оформление заказа не выполнился, а бэкенд не передал сообщение. В обоих случаях: подождите и повторите попытку.
A plan and billing cycle are required. и Invalid plan or billing cycle. означают одно и то же: запрос не содержал план, который распознаёт сервер. Начните заново со страницы цен и выберите там план и переключатель ежемесячной или годовой оплаты, вместо того чтобы использовать старую или изменённую ссылку на оформление заказа.
User not found. означает, что ваша сессия указывает на запись пользователя, которую сервер не может прочитать. Выйдите из аккаунта, войдите снова и заново начните оформление заказа.
No subscription item found for the active subscription. возникает при смене плана, а не при первой покупке, и через интерфейс её не исправить. Обратитесь в поддержку.
Ошибки, которые сайт показывает ещё до открытия оформления заказа
Эти ошибки возникают в браузере, а не на сервере, поэтому у них нет HTTP кода. В целом все они означают одно: что-то не сработало, пока Whizi готовила ваш аккаунт для передачи данных в Stripe, поэтому попытки списания не было вовсе.
| Сообщение | Когда возникает |
|---|---|
Failed to create Stripe checkout session. | Запрос на оформление заказа не выполнился, а бэкенд не передал сообщение |
Could not open checkout. Please try again. | Запрос на оформление заказа в модальном окне апгрейда завершился с ошибкой без сообщения |
Authentication failed. Please sign in again. | Запрос токена ничего не вернул перед оформлением заказа |
Failed to save user before checkout. | Запрос на сохранение пользователя перед оформлением заказа завершился неудачно |
Could not prepare your account for checkout. | Странице цен не удалось сохранить пользователя перед оформлением заказа |
Missing user or Stripe customer details. | На момент оформления заказа отсутствовал ID пользователя |
Checkout response did not include a Stripe URL. | Оформление заказа прошло успешно, но ответ не содержал ни URL, ни ID подписки |
Something went wrong while starting your trial. Please try again. | Общая ошибка запуска пробного периода на странице цен |
При любой ошибке из этого списка выйдите из аккаунта, войдите снова и заново начните оформление заказа со страницы цен. Это устраняет случаи, когда запрос токена ничего не вернул перед оформлением заказа, о чём и сообщает Authentication failed. Please sign in again.
Checkout response did not include a Stripe URL. является исключением: она означает, что запрос выполнился успешно. Прежде чем пытаться оплатить снова, откройте настройки аккаунта и проверьте, нет ли там уже подписки.
Ещё две ошибки появляются на страницах входа и регистрации, когда вы сначала выбираете план, а затем проходите авторизацию: Signed in, but checkout could not start. Please choose your plan again. и Your account was created, but checkout could not start. Please sign in and choose your plan again. Обе означают, что часть с аккаунтом сработала, а не сработала только передача данных. Ваш аккаунт существует. Перейдите на страницу цен и выберите план заново.
Ещё одна причина загадочного сбоя: если повторять оформление заказа много раз подряд, можно сработать ограничитель частоты запросов, который возвращает HTTP 429 и Too many requests. Please wait and try again. Каждый запрос на аккаунте, независимо от маршрута, засчитывается в лимит 30 запросов в минуту. Подождите минуту, вместо того чтобы нажимать снова.
Когда карта использовала свои вводные пробные периоды
Каждая карта может использовать вводный 7-дневный пробный период до четырёх раз. Счётчик привязан к отпечатку карты, а не к аккаунту, поэтому открытие нового аккаунта с той же картой его не сбрасывает.
Когда карта достигает этого предела, оформление заказа не отклоняется. Оно открывается по полной цене выбранного вами плана, и страница Stripe сообщает об этом над кнопкой оплаты: This card has already used its intro trials, so this starts at the full price of, а далее указана цена плана. Оплата там сразу запускает план, без пробной недели.
Это не отказ, и повторная попытка ничего не изменит, потому что счётчик уже сохранён за картой. Для карты, у которой ещё остались пробные периоды, вводный платёж составляет $0.99 на Starter, $1.99 на Pro и $4.99 на Powerhouse в USD.
У вас есть два варианта: оплатить указанную полную цену или использовать карту, которая ещё не использовала свои пробные периоды.
Цены планов, условия пробного периода и то, что происходит при переходе на платную подписку, описаны в статье оплата, пробный период и отмена подписки.
Платёж прошёл, но аккаунт всё ещё на бесплатном плане
Списанные деньги с карты в сочетании с аккаунтом, который по-прежнему ведёт себя как бесплатный, это другой симптом, отличный от сбоя оформления заказа, и у него есть отдельная страница.
Прочитайте статью вы оплатили, но функции плана всё ещё заблокированы: там перечислены строки, которые появляются в этом состоянии, способ проверить, на каком аккаунте числится подписка, и что отправить в поддержку.
Что Whizi не может вам сообщить
Три пробела, чтобы вы не тратили время на поиск ответов, которых просто нет.
Whizi никогда не видит, почему банк отклонил карту, потому что этот обмен данными происходит на размещённой у Stripe странице оформления заказа, вне кодовой базы Whizi. Поэтому при отказе на оформлении заказа в вашем аккаунте не хранится причина, нет кнопки повтора, и Whizi нечего переопределять. Причина остаётся у вашего банка.
С неудачным продлением ситуация другая, и Whizi сообщает о нём. Вы получаете письмо с названием плана, суммой и, если Stripe её сохранил, причиной от банка, а красный баннер в верхней части чата предлагает обновить карту или продолжить на более дешёвом плане по его цене. Подписки, купленные в приложении для iOS или Android, продлеваются через Apple или Google, которые сами обрабатывают свои неудачные платежи.
Оплата в Whizi проходит через Stripe, поэтому именно там, а не в самой Whizi, решается, какие карты вообще могут платить. Российская или иранская карта не может пройти регистрацию. Украина, Казахстан, Турция, Индонезия и Индия работают полностью, от начала до конца.
- Настоящий отказ карты приходит от вашего банка через Stripe, а не от Whizi
- При оформлении заказа у Whizi нет сообщения об отклонённой карте и нет причины отказа, которую можно показать
- Формулировка от Whizi в ошибке означает, что это не был отказ
- Ошибки сессии устраняются выходом и повторным входом в аккаунт с последующей попыткой со страницы цен
- Ошибка Pricing is temporarily unavailable возникает на стороне сервера: подождите, не повторяйте попытки по кругу
- Карта может использовать до четырёх вводных пробных периодов, после чего оформление заказа взимает полную цену вместо отказа
- Списание прошло, но план остался бесплатным: это другой симптом, описанный в subscription-not-active
Частые вопросы
Почему Whizi пишет, что платёж не прошёл, а банк не показывает никакой попытки?
Потому что строка, которую вы увидели, была вызвана сайтом ещё до обращения к Stripe, поэтому попытки списания не было вовсе. Быстрый способ отличить такую ошибку от настоящего отказа бэкенда: отказ бэкенда приходит в виде JSON с кодом ошибки, например pricing_unavailable или invalid_plan_or_cycle, и показывает HTTP статус в сетевой трассировке. У строки со стороны браузера нет ни того, ни другого. Если у увиденной вами ошибки не было кода, значит, до вашего банка ничего не дошло.
Что означает This card has already used its intro trials при оформлении заказа?
This card has already used its intro trials при оформлении заказа?Это означает, что карта использовала вводный 7-дневный пробный период четыре раза, это лимит на карту, поэтому оформление заказа запускает план по полной цене без пробной недели. Это не отказ и не ошибка, и счётчик следует за картой в любой аккаунт. Оплатите указанную полную цену или используйте карту, у которой ещё остались пробные периоды.
Я увидел Pricing is temporarily unavailable. Дело в моей карте?
Pricing is temporarily unavailable. Дело в моей карте?Нет. Это HTTP 503 pricing_unavailable, и она поступает из маршрута, который читает локализованную таблицу цен из Stripe, а не из маршрута оформления заказа, принимающего карту. На вашей стороне это не исправить, поэтому подождите, вместо того чтобы пробовать другую карту. Если вместо этого вы увидели Failed to create Stripe checkout session., это отдельная строка с отдельным происхождением: резервный текст сайта на случай, когда запрос на оформление заказа не выполнился, а бэкенд не передал сообщение.
Мой промокод отклонён. Почему?
Оформление заказа возвращает The supplied discount must be an active 100% promotion code or coupon ID. как HTTP 400 invalid_discount. Поле скидки при оформлении заказа принимает только действующий промокод на 100 процентов или ID купона, поэтому просроченный код или код с частичной скидкой будут отклонены. Уберите его и оформите заказ по обычной цене, если доступ нужен прямо сейчас.
Whizi отклонила мою почту при оформлении заказа. Что произошло?
Вы увидели Temporary email addresses are not allowed. Please use a permanent email address. Маршрут оформления заказа возвращает её как HTTP 400 disposable_email_blocked, когда домен почты аккаунта, в который вы вошли, находится в списке временных. Та же строка используется при регистрации как HTTP 403. Используйте на аккаунте постоянный адрес, и оформление заказа пройдёт дальше.
С меня списали дважды. Что делать?
Обратитесь в поддержку с обеими квитанциями Stripe, не отменяя подписку вслепую. Отмена представляет собой отдельное действие со своим результатом: для активной подписки маршрут отмены отвечает Subscription cancellation scheduled for end of billing period., поэтому подписка продолжит действовать до конца уже оплаченного периода.