Карта отклонена или платёж не прошёл при оформлении заказа в Whizi

Краткий ответ

Если ваша карта была действительно отклонена при оформлении заказа в Whizi, отказ поступил от вашего банка через Stripe, а не от самой Whizi, поэтому решение: другая карта или звонок в банк. У Whizi нет сообщения об отклонённой карте при оформлении заказа, поэтому формулировка от Whizi в ошибке оформления заказа означает, что это не был отказ.

Короткий ответ

Если ваша карта была действительно отклонена, отказ поступил от вашего банка через 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.400invalid_checkout_requestТело запроса на оформление заказа не удалось разобрать
Invalid plan or billing cycle.400invalid_plan_or_cycleПлан или цикл не соответствуют ни одной известной цене Stripe
No subscription item found for the active subscription.400subscription_item_missingСмена плана на месте выполнялась для подписки без элемента подписки
The supplied discount must be an active 100% promotion code or coupon ID.400invalid_discountПереданный код не является действующим промокодом на 100 процентов или ID купона
Temporary email addresses are not allowed. Please use a permanent email address.400disposable_email_blockedПочта аккаунта, в который вы вошли, находится в списке временных доменов
User not found.404not_foundМаршрут оформления заказа не смог прочитать вашу запись пользователя
Pricing is temporarily unavailable.503pricing_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 при оформлении заказа?

Это означает, что карта использовала вводный 7-дневный пробный период четыре раза, это лимит на карту, поэтому оформление заказа запускает план по полной цене без пробной недели. Это не отказ и не ошибка, и счётчик следует за картой в любой аккаунт. Оплатите указанную полную цену или используйте карту, у которой ещё остались пробные периоды.

Я увидел 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., поэтому подписка продолжит действовать до конца уже оплаченного периода.