Karta odrzucona lub płatność nieudana przy checkout w Whizi

Krótka odpowiedź

Jeśli twoja karta została naprawdę odrzucona przy płatności w Whizi, odmowa pochodziła od twojego banku za pośrednictwem Stripe, a nie od Whizi, więc rozwiązaniem jest inna karta albo kontakt z bankiem. Whizi nie pokazuje żadnego komunikatu o odrzuceniu karty przy checkout, więc jeśli błąd jest sformułowany w stylu Whizi, to nie była to odmowa przy checkout.

Krótka odpowiedź

Jeśli twoja karta została naprawdę odrzucona, odmowa pochodziła od twojego banku za pośrednictwem Stripe, a nie od Whizi, więc rozwiązaniem jest inna karta albo kontakt z bankiem. Dlaczego banki blokują płatności za subskrypcje AI i jak rozpoznać, która z sześciu przyczyn cię dotknęła, znajdziesz w tekście płacenie za AI, gdy twoja karta jest odrzucana. Whizi nie pokazuje żadnego komunikatu o odrzuceniu karty przy checkout. Dane karty wpisuje się na hostowanej stronie płatności Stripe, która znajduje się poza kodem Whizi, więc odpowiedź banku trafia do Stripe i nigdy nie dociera do Whizi.

Jeśli więc zobaczyłeś błąd sformułowany w stylu Whizi, to nie była to odmowa. Był to jeden z poniższych komunikatów, a każdy z nich ma inną przyczynę i inne rozwiązanie.

Trzy, które najłatwiej pomylić z odmową:

Co widziszCo to znaczyCo zrobić
This card has already used its intro trials, so this starts at the full price of, a po tym tekście następuje cenaTa karta skorzystała już z 7-dniowego okresu próbnego cztery razy, czyli limit przypadający na kartęZ kartą wszystko w porządku. Zapłać pokazaną pełną cenę albo użyj karty, która wciąż ma dostępne okresy próbne
Pricing is temporarily unavailable.Whizi nie mogło odczytać tabeli cen ze StripePoczekaj i spróbuj ponownie później. Nic po twojej stronie tego nie naprawi
Failed to create Stripe checkout session.Wywołanie checkout nie powiodło się, a backend nie podał komunikatuSpróbuj ponownie raz. Jeśli się powtarza, skontaktuj się z pomocą techniczną

Każdy błąd, który zwraca backend Whizi przy checkout

Te błędy pochodzą z serwera, więc pojawiają się razem ze statusem HTTP i kodem błędu, który dział pomocy może dopasować w śladzie sieciowym. Każde ciało błędu backendu to JSON w postaci {"error": {"code": "...", "message": "..."}}, więc kod znajduje się obok komunikatu. Poniższe wiersze są uporządkowane według statusu HTTP.

KomunikatHTTPKodKiedy występuje
A plan and billing cycle are required.400invalid_checkout_requestNie udało się przetworzyć treści żądania checkout
Invalid plan or billing cycle.400invalid_plan_or_cyclePlan lub cykl rozliczeniowy nie odpowiada żadnej znanej cenie w Stripe
No subscription item found for the active subscription.400subscription_item_missingZmiana planu w miejscu została wykonana na subskrypcji bez pozycji
The supplied discount must be an active 100% promotion code or coupon ID.400invalid_discountPodany kod nie jest aktywnym kodem promocyjnym ani ID kuponu na 100 procent
Temporary email addresses are not allowed. Please use a permanent email address.400disposable_email_blockedAdres e-mail zalogowanego konta znajduje się na liście domen jednorazowych
User not found.404not_foundTrasa checkout nie mogła odczytać twojego wiersza użytkownika
Pricing is temporarily unavailable.503pricing_unavailableNie udało się odczytać zlokalizowanej tabeli cen ze Stripe

Co zrobić z każdym z nich. Karta, która skorzystała już ze swoich okresów próbnych, wcale nie jest odrzucana i ma swoją własną sekcję poniżej. Pricing is temporarily unavailable. jest po stronie serwera: HTTP 503, zwracany, gdy nie można odczytać zlokalizowanej tabeli cen ze Stripe, i nie ma żadnego ustawienia na twoim koncie, które by to zmieniło. Failed to create Stripe checkout session. w ogóle nie jest komunikatem serwera, dlatego nie podaje żadnej przyczyny: to własny tekst zastępczy strony, pokazywany, gdy wywołanie checkout się nie powiedzie, a backend nie dostarczy komunikatu. Oba przypadki oznaczają: poczekaj i spróbuj ponownie.

A plan and billing cycle are required. oraz Invalid plan or billing cycle. oznaczają, że żądanie nie zawierało planu rozpoznawanego przez serwer, więc zacznij od nowa od strony z cennikiem i wybierz tam plan oraz przełącznik miesięczny lub roczny, zamiast ponownie używać starego lub zmodyfikowanego linku checkout.

User not found. oznacza, że twoja sesja wskazuje na wiersz użytkownika, którego serwer nie może odczytać. Wyloguj się, zaloguj ponownie, a następnie zacznij checkout od nowa.

No subscription item found for the active subscription. pojawia się podczas zmiany planu, a nie pierwszego zakupu, i nie da się tego naprawić z poziomu interfejsu. Skontaktuj się z pomocą techniczną.

Błędy, które strona pokazuje zanim checkout w ogóle się otworzy

Te błędy pochodzą z przeglądarki, nie z serwera, więc nie mają kodu HTTP. Wszystkie oznaczają w gruncie rzeczy to samo: coś nie powiodło się, gdy Whizi przygotowywało twoje konto do przekazania do Stripe, więc żadne obciążenie nigdy nie zostało nawet podjęte.

KomunikatKiedy występuje
Failed to create Stripe checkout session.Wywołanie checkout nie powiodło się, a backend nie podał komunikatu
Could not open checkout. Please try again.Wywołanie checkout w oknie modalnym ulepszenia zgłosiło błąd bez komunikatu
Authentication failed. Please sign in again.Pobranie tokenu nie zwróciło niczego przed checkout
Failed to save user before checkout.Wywołanie zapisu użytkownika przed checkout nie zwróciło OK
Could not prepare your account for checkout.Strona z cennikiem nie mogła zapisać użytkownika przed checkout
Missing user or Stripe customer details.ID użytkownika było nieobecne w momencie checkout
Checkout response did not include a Stripe URL.Checkout się powiódł, ale nie zwrócił ani URL, ani ID subskrypcji
Something went wrong while starting your trial. Please try again.Ogólny błąd rozpoczęcia okresu próbnego na stronie z cennikiem

W przypadku czegokolwiek z tej listy wyloguj się, zaloguj ponownie i zacznij checkout od nowa ze strony z cennikiem. To usuwa przypadki, w których pobranie tokenu nie zwróciło niczego przed checkout, co właśnie zgłasza Authentication failed. Please sign in again.

Checkout response did not include a Stripe URL. to wyjątek: oznacza, że wywołanie się powiodło. Zanim spróbujesz zapłacić ponownie, otwórz ustawienia konta i sprawdź, czy subskrypcja już tam jest.

Dwa kolejne pojawiają się na stronach logowania i rejestracji, gdy najpierw wybierzesz plan, a potem się uwierzytelnisz: Signed in, but checkout could not start. Please choose your plan again. oraz Your account was created, but checkout could not start. Please sign in and choose your plan again. Oba oznaczają, że część kontowa zadziałała i zawiodło tylko przekazanie. Twoje konto istnieje. Przejdź do cennika i wybierz plan ponownie.

Jeszcze jedna przyczyna tajemniczej awarii: wielokrotne ponawianie checkout pod rząd może uruchomić ogranicznik liczby żądań, który zwraca HTTP 429 i Too many requests. Please wait and try again. Każde żądanie na koncie, niezależnie od trasy, liczy się do limitu 30 na minutę. Poczekaj minutę, zamiast klikać ponownie.

Gdy karta wykorzystała już swoje okresy próbne

Każda karta może skorzystać z 7-dniowego okresu próbnego maksymalnie cztery razy. Licznik jest przypisany do odcisku karty, a nie do konta, więc założenie nowego konta z tą samą kartą go nie resetuje.

Gdy karta osiągnie ten limit, checkout nie jest odrzucany. Otwiera się w pełnej cenie wybranego planu, a strona Stripe informuje o tym nad przyciskiem płatności: This card has already used its intro trials, so this starts at the full price of, po czym następuje cena planu. Płatność tam od razu rozpoczyna plan, bez tygodnia okresu próbnego.

To nie jest odmowa i żadna ponowna próba tego nie zmieni, ponieważ licznik jest już zapisany przy karcie. Dla karty, która wciąż ma dostępne okresy próbne, opłata wprowadzająca wynosi $0.99 za Starter, $1.99 za Pro i $4.99 za Powerhouse w USD.

Twoje dwie opcje: zapłać pokazaną pełną cenę albo zapłać kartą, która nie wykorzystała jeszcze swoich okresów próbnych.

Ceny planów, warunki okresu próbnego i to, co dzieje się przy konwersji, znajdziesz w tekście rozliczenia, okresy próbne i jak anulować.

Płatność przeszła, ale konto nadal jest na darmowym planie

Obciążona karta plus konto, które nadal zachowuje się jak darmowe, to inny objaw niż nieudany checkout i ma swoją własną stronę.

Przeczytaj zapłaciłeś, ale funkcje planu wciąż są zablokowane, żeby poznać komunikaty pojawiające się w tym stanie, sprawdzić, które konto ma subskrypcję, i dowiedzieć się, co wysłać do pomocy technicznej.

Czego Whizi nie może ci powiedzieć

Trzy luki, żebyś nie tracił czasu na szukanie odpowiedzi, których tam nie ma.

Whizi nigdy nie widzi, dlaczego twój bank odrzucił kartę, bo ta wymiana odbywa się na hostowanej stronie płatności Stripe, poza kodem Whizi. Więc odmowa przy checkout nie zostawia żadnej przyczyny zapisanej na twoim koncie, żadnego przycisku ponowienia i niczego, co Whizi mogłoby nadpisać. Przyczyna leży po stronie twojego banku.

Nieudana odnowa to inna sprawa, o której Whizi rzeczywiście informuje. Dostajesz e-mail z nazwą planu, kwotą i, jeśli Stripe je zachowało, powodem podanym przez bank, a na górze czatu pojawia się czerwony baner z propozycją zaktualizowania karty albo przejścia na tańszy plan w jego cenie. Subskrypcje kupione w aplikacji na iOS lub Androida odnawiają się przez Apple lub Google, które same obsługują swoje nieudane płatności.

Rozliczenia Whizi przechodzą przez Stripe, więc to, które karty w ogóle mogą płacić, decyduje się tam, a nie w Whizi. Rosyjska albo irańska karta nie może ukończyć rejestracji. Ukraina, Kazachstan, Turcja, Indonezja i Indie działają od początku do końca.

Lista kontrolna
  • Prawdziwa odmowa karty pochodzi od twojego banku za pośrednictwem Stripe, nie od Whizi
  • Przy checkout Whizi nie ma komunikatu o odrzuceniu karty ani przyczyny odmowy do pokazania
  • Błąd sformułowany w stylu Whizi oznacza, że to nie była odmowa
  • Błędy sesji ustępują po wylogowaniu i ponownym zalogowaniu, a potem ponowieniu z cennika
  • Pricing is temporarily unavailable jest po stronie serwera: poczekaj, nie ponawiaj w pętli
  • Karta może wykorzystać do czterech okresów próbnych, a potem checkout nalicza pełną cenę zamiast odmawiać
  • Obciążenie przy nadal darmowym planie to inny objaw, opisany w subscription-not-active

Najczęstsze pytania

Dlaczego Whizi mówi, że moja płatność się nie powiodła, skoro bank nie pokazuje żadnej próby?

Ponieważ napis, który zobaczyłeś, został wygenerowany przez stronę, zanim w ogóle doszło do Stripe, więc żadne obciążenie nie zostało podjęte. Szybki sposób odróżnienia tego od prawdziwej odmowy backendu: odmowa backendu przychodzi jako JSON z kodem błędu, na przykład pricing_unavailable albo invalid_plan_or_cycle, i pokazuje status HTTP w śladzie sieciowym. Napis po stronie przeglądarki nie ma żadnego z nich. Jeśli to, co zobaczyłeś, nie miało kodu, nic nie dotarło do twojego banku.

Co oznacza This card has already used its intro trials przy checkout?

Oznacza to, że karta skorzystała już z 7-dniowego okresu próbnego cztery razy, czyli osiągnęła limit przypadający na kartę, więc ten checkout rozpoczyna plan w pełnej cenie, bez tygodnia okresu próbnego. To nie odmowa i nie błąd, a licznik podąża za kartą do każdego konta. Zapłać pokazaną pełną cenę albo użyj karty, która wciąż ma dostępne okresy próbne.

Dostałem Pricing is temporarily unavailable. Czy problem leży w mojej karcie?

Nie. To HTTP 503 pricing_unavailable i pochodzi z trasy, która odczytuje zlokalizowaną tabelę cen ze Stripe, a nie z trasy checkout, która przyjmuje kartę. Nie ma na to rozwiązania po twojej stronie, więc poczekaj zamiast próbować inną kartę. Jeśli zamiast tego zobaczyłeś Failed to create Stripe checkout session., to osobny napis o osobnym pochodzeniu: tekst zastępczy strony, pokazywany, gdy wywołanie checkout zawiedzie, a backend nie dostarczy komunikatu.

Mój kod promocyjny został odrzucony. Dlaczego?

Checkout zwraca The supplied discount must be an active 100% promotion code or coupon ID. jako HTTP 400 invalid_discount. Pole rabatu przy checkout akceptuje wyłącznie aktywny kod promocyjny na 100 procent albo ID kuponu, więc wygasły kod albo częściowy kod rabatowy zostanie tam odrzucony. Usuń go i zapłać w normalnej cenie, jeśli potrzebujesz dostępu teraz.

Whizi odrzuciło mój e-mail przy checkout. Co się stało?

Zobaczyłeś Temporary email addresses are not allowed. Please use a permanent email address. Trasa checkout zwraca to jako HTTP 400 disposable_email_blocked, gdy domena e-mail zalogowanego konta znajduje się na liście jednorazowych. Ten sam napis pojawia się przy rejestracji jako HTTP 403. Użyj stałego adresu na koncie, a checkout przejdzie dalej.

Zostałem obciążony dwukrotnie. Co powinienem zrobić?

Skontaktuj się z pomocą techniczną z obydwoma paragonami ze Stripe, zamiast anulować na oślep. Anulowanie to osobna czynność z własnym skutkiem: dla aktywnej subskrypcji trasa anulowania odpowiada Subscription cancellation scheduled for end of billing period., więc ta subskrypcja działa do końca opłaconego już okresu.