Het korte antwoord
Als je kaart echt werd geweigerd, kwam die weigering van je bank via Stripe en niet van Whizi, dus de oplossing is een andere kaart of een telefoontje naar je bank. Waarom banken betalingen voor AI-abonnementen in de eerste plaats blokkeren, en hoe je herkent welke van de zes oorzaken op jou van toepassing is, staat in betalen voor AI wanneer je kaart wordt geweigerd. Whizi heeft nergens een melding voor een geweigerde kaart. Kaartgegevens worden ingevoerd op de hosted checkoutpagina van Stripe, die buiten de codebase van Whizi valt, en de Stripe-webhookhandler van Whizi heeft geen melding voor een geweigerde betaling om je te tonen.
Zag je dus een foutmelding met tekst van Whizi erop, dan was het geen weigering. Het was een van de onderstaande teksten, en elke tekst heeft een eigen oorzaak en een eigen oplossing.
De drie die het makkelijkst worden verward met een weigering:
| Wat je zag | Wat het betekent | Wat je moet doen |
|---|---|---|
A $1 intro trial has already been used with this payment method. | Die kaart heeft de introproef al gebruikt | Neem een abonnement tegen het normale tarief, of gebruik een kaart die de proef nog niet heeft gebruikt. Opnieuw proberen werkt niet |
Pricing is temporarily unavailable. | Whizi kon de prijstabel niet uit Stripe lezen | Wacht en probeer het later opnieuw. Niets aan jouw kant lost dit op |
Failed to create Stripe checkout session. | De checkoutaanvraag mislukte en de backend gaf geen melding mee | Probeer het één keer opnieuw. Blijft het gebeuren, neem dan contact op met support |
Elke fout die de Whizi-backend teruggeeft bij checkout
Deze komen van de server, dus ze komen met een HTTP-status en een foutcode die support kan koppelen aan een netwerktrace. Elke backendfout is JSON in de vorm {"error": {"code": "...", "message": "..."}}, dus de code staat naast de melding. De rijen hieronder staan gesorteerd op HTTP-status.
| Melding | HTTP | Code | Wanneer geactiveerd |
|---|---|---|---|
A plan and billing cycle are required. | 400 | invalid_checkout_request | De checkoutaanvraag kon niet worden verwerkt |
Invalid plan or billing cycle. | 400 | invalid_plan_or_cycle | Het plan of de cyclus komt niet overeen met een bekende Stripe-prijs |
No subscription item found for the active subscription. | 400 | subscription_item_missing | Een tussentijdse planwijziging liep tegen een abonnement zonder item aan |
The supplied discount must be an active 100% promotion code or coupon ID. | 400 | invalid_discount | De opgegeven code is geen actieve promotiecode of coupon-ID van 100 procent |
Temporary email addresses are not allowed. Please use a permanent email address. | 400 | disposable_email_blocked | Het e-mailadres van het ingelogde account staat op de lijst met wegwerpdomeinen |
A $1 intro trial has already been used with this payment method. | 403 | duplicate_trial_payment_method | De vingerafdruk van de kaart heeft de introproef al gebruikt |
User not found. | 404 | not_found | De checkoutroute kon je gebruikersrij niet lezen |
Pricing is temporarily unavailable. | 503 | pricing_unavailable | De gelokaliseerde prijstabel kon niet uit Stripe worden gelezen |
Wat je met elke fout doet. De weigering voor de introproef heeft hieronder een eigen sectie. Pricing is temporarily unavailable. speelt zich af aan de serverkant: HTTP 503, gegeven wanneer de gelokaliseerde prijstabel niet uit Stripe kan worden gelezen, en er is geen instelling op je account die dit verandert. Failed to create Stripe checkout session. is helemaal geen servermelding, en daarom noemt het geen reden: het is de eigen terugvaltekst van de website, getoond wanneer de checkoutaanvraag mislukt en de backend geen melding meegeeft. Bij beide geldt: wachten en opnieuw proberen.
A plan and billing cycle are required. en Invalid plan or billing cycle. betekenen allebei dat de aanvraag geen plan bevatte dat de server herkent, dus begin opnieuw vanaf de prijspagina en kies daar het plan en de maandelijkse of jaarlijkse schakelaar, in plaats van een oude of aangepaste checkoutlink te hergebruiken.
User not found. betekent dat je sessie verwijst naar een gebruikersrij die de server niet kan lezen. Log uit, log opnieuw in, en start daarna de checkout opnieuw.
No subscription item found for the active subscription. treedt op tijdens een planwijziging in plaats van een eerste aankoop, en is niet op te lossen vanuit de interface. Neem contact op met support.
Fouten die de website toont voordat checkout zelfs opent
Deze komen van de browser, niet van de server, dus ze hebben geen HTTP-code. Ze betekenen allemaal in grote lijnen hetzelfde: er ging iets mis terwijl Whizi je account voorbereidde voor de overdracht naar Stripe, dus er is nooit een afschrijving geprobeerd.
| Melding | Wanneer geactiveerd |
|---|---|
Failed to create Stripe checkout session. | De checkoutaanvraag mislukte en de backend gaf geen melding mee |
Could not open checkout. Please try again. | De checkoutaanvraag van de upgrademodal gaf een foutmelding zonder tekst |
Authentication failed. Please sign in again. | Het ophalen van het token leverde niets op voor checkout |
Failed to save user before checkout. | De aanroep om de gebruiker op te slaan vóór checkout gaf geen OK terug |
Could not prepare your account for checkout. | De prijspagina kon de gebruiker niet opslaan vóór checkout |
Missing user or Stripe customer details. | Het gebruikers-ID ontbrak op het moment van checkout |
Checkout response did not include a Stripe URL. | Checkout slaagde, maar leverde geen URL en geen abonnements-ID terug |
Something went wrong while starting your trial. Please try again. | De generieke foutmelding van de prijspagina bij het starten van de proefperiode |
Zie je iets uit deze lijst, log dan uit, log opnieuw in en start checkout opnieuw vanaf de prijspagina. Dat lost de gevallen op waarin het ophalen van het token niets opleverde vóór checkout, wat Authentication failed. Please sign in again. meldt.
Checkout response did not include a Stripe URL. is de uitzondering: het betekent dat de aanroep is geslaagd. Voordat je opnieuw probeert te betalen, open je accountinstellingen en controleer je of er al een abonnement staat.
Nog twee verschijnen op de inlog- en registratiepagina's wanneer je eerst een plan kiest en daarna inlogt: Signed in, but checkout could not start. Please choose your plan again. en Your account was created, but checkout could not start. Please sign in and choose your plan again. Beide betekenen dat het accountgedeelte werkte en alleen de overdracht mislukte. Je account bestaat. Ga naar de prijspagina en kies het plan opnieuw.
Nog een laatste oorzaak van een raadselachtige fout: checkout te vaak achter elkaar proberen kan de ratelimiter activeren, die HTTP 429 en Too many requests. Please wait and try again. teruggeeft. Elke aanvraag op het account, ongeacht de route, telt mee voor een limiet van 30 per minuut. Wacht een minuut in plaats van opnieuw te klikken.
De weigering van de introproef, die geen enkele nieuwe poging opheft
A $1 intro trial has already been used with this payment method. is HTTP 403 met de code duplicate_trial_payment_method. Het is de enige checkoutfout op deze pagina die een nieuwe poging nooit zal oplossen.
De controle is gekoppeld aan de kaart en niet aan het account: de weigering wordt teruggegeven wanneer de vingerafdruk van de kaart de introproef al heeft gebruikt.
Eén detail als je op zoek bent naar deze fout: de tekst zegt echt "$1", ook al is de introprijs zelf $0.99 in USD. Zoek op de exacte tekst, want de vorm "$1" is precies wat de server stuurt.
Je hebt twee opties: neem een abonnement tegen het standaardtarief voor het plan dat je wilt, of betaal met een betaalmethode die de proef nog niet heeft gebruikt.
Planprijzen, de voorwaarden van de proefperiode en wat er gebeurt bij omzetting staan allemaal in facturering, proefperiodes en opzeggen.
Betaling is gelukt maar het account staat nog op het gratis plan
Een afgeschreven kaart samen met een account dat zich nog steeds als gratis gedraagt, is een ander symptoom dan een mislukte checkout, en heeft een eigen pagina.
Lees je hebt betaald maar de planfuncties zijn nog vergrendeld voor de teksten die in die situatie verschijnen, de controle die laat zien welk account het abonnement heeft, en wat je naar support moet sturen.
Wat Whizi je niet kan vertellen
Drie hiaten, zodat je geen tijd verspilt aan het zoeken naar antwoorden die er niet zijn.
Whizi ziet nooit waarom je bank een kaart weigerde, omdat die uitwisseling plaatsvindt op de hosted checkoutpagina van Stripe, buiten de codebase van Whizi. Een doorzoeking van beide Whizi-repositories vond geen enkele tekst over een geweigerde kaart of geweigerde betaling, en de Stripe-webhookhandler bevat geen melding voor een geweigerde betaling. Er staat dus geen weigeringsreden opgeslagen in je account, geen opnieuw-proberen-knop, en niets voor Whizi om te overschrijven. De reden ligt bij je bank.
Whizi heeft ook geen melding voor een mislukte of achterstallige verlenging. Voor een gebruikersgerichte tekst hiervoor bestaat niets in beide repositories, dus als een verlengingsafschrijving later mislukt, krijg je geen foutmelding van Whizi die dit uitlegt. De enige melding die met een verlenging te maken heeft, is een pushmelding met de tekst "Your subscription is no longer active." onder de titel "Whizi subscription updated", verstuurd wanneer een RevenueCat-webhook een account terugzet naar het gratis niveau. Dat is het RevenueCat-webhookpad, dus het is geen melding van een mislukte Stripe-verlenging.
De facturering van Whizi loopt via Stripe, dus welke kaarten überhaupt kunnen betalen, wordt daar beslist en niet door Whizi. Een Russische of Iraanse kaart kan registratie niet voltooien. Oekraïne, Kazachstan, Turkije, Indonesië en India werken volledig.
- Een echte weigering van een kaart komt van je bank via Stripe, niet van Whizi
- Whizi heeft geen melding voor een geweigerde kaart en geen weigeringsreden om je te tonen
- Tekst van Whizi bij de foutmelding betekent dat het geen weigering was
- Sessiefouten los je op door uit te loggen en opnieuw in te loggen, en opnieuw te beginnen vanaf de prijspagina
- Pricing is temporarily unavailable speelt zich af aan de serverkant: wachten, niet steeds opnieuw proberen
- De introproef is gekoppeld aan de vingerafdruk van de kaart en niet aan het account
- Afgeschreven maar nog op het gratis plan is een ander symptoom, behandeld in subscription-not-active
Veelgestelde vragen
Waarom zegt Whizi dat mijn betaling is mislukt terwijl mijn bank geen poging laat zien?
Omdat de tekst die je zag werd gegenereerd door de website voordat Stripe ooit werd bereikt, dus er is nooit een afschrijving geprobeerd. De snelle manier om dit te onderscheiden van een echte weigering van de backend: een weigering van de backend komt binnen als JSON met een foutcode, zoals pricing_unavailable of invalid_plan_or_cycle, en toont een HTTP-status in een netwerktrace. Een tekst van de browserkant heeft geen van beide. Had wat je zag geen code, dan heeft niets je bank bereikt.
Wat betekent A $1 intro trial has already been used with this payment method.?
A $1 intro trial has already been used with this payment method.?Het betekent dat de kaart die je invoerde de introproef al heeft gebruikt. Het is geen weigering: Whizi heeft helemaal geen melding voor een geweigerde kaart, en deze komt van de eigen checkoutroute van Whizi als HTTP 403 met de code duplicate_trial_payment_method, die het waard is om te citeren als je contact opneemt. Neem een abonnement tegen het standaardtarief of gebruik een betaalmethode die de proef nog niet heeft gebruikt.
Ik kreeg Pricing is temporarily unavailable. Ligt het aan mijn kaart?
Pricing is temporarily unavailable. Ligt het aan mijn kaart?Nee. Het is HTTP 503 pricing_unavailable, en het komt van de route die de gelokaliseerde prijstabel uit Stripe leest, niet van de checkoutroute die een kaart zou verwerken. Er is geen oplossing aan jouw kant, dus wacht in plaats van een andere kaart te proberen. Zag je in plaats daarvan Failed to create Stripe checkout session., dan is dat een aparte tekst met een aparte oorsprong: de terugvaltekst van de website wanneer de checkoutaanvraag mislukte en de backend geen melding meegaf.
Mijn kortingscode werd geweigerd. Waarom?
Checkout geeft The supplied discount must be an active 100% promotion code or coupon ID. terug als HTTP 400 invalid_discount. Het kortingsveld bij checkout accepteert alleen een actieve promotiecode of coupon-ID van 100 procent, dus een verlopen code of een gedeeltelijke kortingscode wordt daar geweigerd. Verwijder de code en reken af tegen de normale prijs als je nu toegang nodig hebt.
Whizi heeft mijn e-mailadres bij checkout geweigerd. Wat is er gebeurd?
Je zag Temporary email addresses are not allowed. Please use a permanent email address. De checkoutroute geeft dit terug als HTTP 400 disposable_email_blocked wanneer het e-maildomein van het ingelogde account op de lijst met wegwerpadressen staat. Dezelfde tekst wordt bij registratie gebruikt als HTTP 403. Gebruik een permanent adres op het account en checkout gaat door.
Ik ben twee keer afgeschreven. Wat moet ik doen?
Neem contact op met support met beide Stripe-bonnetjes, in plaats van blindelings te annuleren. Annuleren is een aparte actie met een eigen uitkomst: voor een actief abonnement antwoordt de annuleerroute met Subscription cancellation scheduled for end of billing period., dus dat abonnement loopt door tot het einde van de periode waarvoor al is betaald.