Pagamento rifiutato o checkout fallito su Whizi

Risposta rapida

Se la tua carta è stata davvero rifiutata al checkout di Whizi, il rifiuto arriva dalla tua banca tramite Stripe e non da Whizi, quindi la soluzione è usare un'altra carta o contattare la banca. Whizi non contiene alcun messaggio di carta rifiutata, quindi un testo con la dicitura di Whizi sull'errore significa che non si è trattato di un rifiuto.

La risposta breve

Se la tua carta è stata davvero rifiutata, il rifiuto arriva dalla tua banca tramite Stripe, non da Whizi, quindi la soluzione è usare un'altra carta o contattare la banca. Il motivo per cui le banche bloccano i pagamenti degli abbonamenti AI, e come capire quale delle sei cause ti riguarda, è spiegato in pagare l'AI quando la carta viene rifiutata. Whizi non contiene alcun messaggio di carta rifiutata. I dati della carta si inseriscono nella pagina di checkout ospitata da Stripe, che si trova fuori dal codice di Whizi, e il gestore webhook Stripe di Whizi non ha alcun messaggio di pagamento rifiutato da mostrarti.

Quindi se hai visto un errore con la dicitura di Whizi, non si trattava di un rifiuto. Era una delle stringhe qui sotto, e ognuna ha una causa e una soluzione diverse.

Le tre più facili da scambiare per un rifiuto:

Cosa hai vistoCosa significaCosa fare
A $1 intro trial has already been used with this payment method.Quella carta ha già usato la prova gratuita introduttivaAbbonati alla tariffa normale, oppure usa una carta che non l'ha ancora usata. Riprovare non funzionerà
Pricing is temporarily unavailable.Whizi non è riuscito a leggere il listino prezzi da StripeAttendi e riprova più tardi. Non c'è nulla che tu possa fare dal tuo lato
Failed to create Stripe checkout session.La chiamata di checkout è fallita e il backend non ha fornito alcun messaggioRiprova una volta. Se si ripete, contatta l'assistenza

Tutti gli errori restituiti dal backend Whizi al checkout

Questi provengono dal server, quindi arrivano con uno stato HTTP e un codice di errore che l'assistenza può far corrispondere in una traccia di rete. Ogni corpo di errore del backend è un JSON nella forma {"error": {"code": "...", "message": "..."}}, quindi il codice si trova accanto al messaggio. Le righe qui sotto sono ordinate per stato HTTP.

MessaggioHTTPCodiceSi attiva quando
A plan and billing cycle are required.400invalid_checkout_requestIl corpo della richiesta di checkout non è stato analizzabile
Invalid plan or billing cycle.400invalid_plan_or_cycleIl piano o il ciclo non corrisponde a un prezzo Stripe noto
No subscription item found for the active subscription.400subscription_item_missingUn cambio di piano immediato è stato eseguito su un abbonamento senza alcun elemento associato
The supplied discount must be an active 100% promotion code or coupon ID.400invalid_discountIl codice fornito non è un codice promozionale attivo al 100 percento né un ID coupon valido
Temporary email addresses are not allowed. Please use a permanent email address.400disposable_email_blockedL'email dell'account collegato è nell'elenco dei domini usa e getta
A $1 intro trial has already been used with this payment method.403duplicate_trial_payment_methodL'impronta della carta ha già usato la prova gratuita introduttiva
User not found.404not_foundLa rotta di checkout non è riuscita a leggere la tua riga utente
Pricing is temporarily unavailable.503pricing_unavailableIl listino prezzi localizzato non è stato leggibile da Stripe

Cosa fare per ciascuno. Il rifiuto della prova gratuita introduttiva ha una sezione dedicata più sotto. Pricing is temporarily unavailable. è un problema lato server: HTTP 503, restituito quando il listino prezzi localizzato non può essere letto da Stripe, e non c'è alcuna impostazione sul tuo account che lo modifichi. Failed to create Stripe checkout session. non è affatto un messaggio del server, ed è per questo che non indica alcun motivo: è il testo di riserva del sito, mostrato quando la chiamata di checkout fallisce e il backend non fornisce alcun messaggio. In entrambi i casi conviene attendere e riprovare.

A plan and billing cycle are required. e Invalid plan or billing cycle. significano entrambi che la richiesta non conteneva un piano riconosciuto dal server, quindi ricomincia dalla pagina dei prezzi e scegli lì il piano e l'opzione mensile o annuale, invece di riutilizzare un link di checkout vecchio o modificato.

User not found. significa che la tua sessione punta a una riga utente che il server non riesce a leggere. Esci, accedi di nuovo, poi avvia nuovamente il checkout.

No subscription item found for the active subscription. si verifica durante un cambio di piano e non durante un primo acquisto, e non è risolvibile dall'interfaccia. Contatta l'assistenza.

Errori che il sito mostra prima ancora che il checkout si apra

Questi provengono dal browser, non dal server, quindi non hanno un codice HTTP. Significano tutti la stessa cosa in generale: qualcosa è andato storto mentre Whizi preparava il tuo account per il passaggio a Stripe, quindi nessun addebito è mai stato tentato.

MessaggioSi attiva quando
Failed to create Stripe checkout session.La chiamata di checkout è fallita e il backend non ha fornito alcun messaggio
Could not open checkout. Please try again.La chiamata di checkout della finestra di upgrade ha generato un errore senza messaggio
Authentication failed. Please sign in again.Il recupero del token non ha restituito nulla prima del checkout
Failed to save user before checkout.La chiamata di salvataggio dell'utente prima del checkout non è andata a buon fine
Could not prepare your account for checkout.La pagina dei prezzi non è riuscita a salvare l'utente prima del checkout
Missing user or Stripe customer details.L'id utente era assente al momento del checkout
Checkout response did not include a Stripe URL.Il checkout è riuscito ma non ha restituito né un URL né un id di abbonamento
Something went wrong while starting your trial. Please try again.L'errore generico della pagina dei prezzi nell'avvio della prova gratuita

Per qualsiasi voce di questo elenco, esci, accedi di nuovo e avvia nuovamente il checkout dalla pagina dei prezzi. Questo risolve i casi in cui il recupero del token non ha restituito nulla prima del checkout, che è ciò che segnala Authentication failed. Please sign in again..

Checkout response did not include a Stripe URL. è l'eccezione: significa che la chiamata è andata a buon fine. Prima di provare a pagare di nuovo, apri le impostazioni del tuo account e controlla se un abbonamento è già presente.

Altri due compaiono nelle pagine di accesso e registrazione quando scegli prima il piano e ti autentichi dopo: Signed in, but checkout could not start. Please choose your plan again. e Your account was created, but checkout could not start. Please sign in and choose your plan again. Entrambi significano che la parte relativa all'account ha funzionato e solo il passaggio a Stripe è fallito. Il tuo account esiste. Vai alla pagina dei prezzi e scegli di nuovo il piano.

Un'ultima causa di errore misterioso: riprovare il checkout molte volte di fila può far scattare il limitatore di richieste, che restituisce HTTP 429 e Too many requests. Please wait and try again. Ogni richiesta sull'account, qualunque sia la rotta, conta ai fini di un tetto di 30 al minuto. Aspetta un minuto invece di cliccare di nuovo.

Il rifiuto della prova gratuita introduttiva, che nessun nuovo tentativo risolverà

A $1 intro trial has already been used with this payment method. è HTTP 403 con il codice duplicate_trial_payment_method. È l'unico errore di checkout di questa pagina che un nuovo tentativo non risolverà mai.

Il controllo è legato alla carta e non all'account: il rifiuto viene restituito quando l'impronta della carta ha già usato la prova gratuita introduttiva.

Un dettaglio se stai cercando questo errore: la stringa dice davvero "$1", anche se l'addebito introduttivo è di $0.99 in USD. Riconoscilo dal testo esatto, perché la forma "$1" è esattamente quella inviata dal server.

Le tue due opzioni: abbonarti alla tariffa standard per il piano che desideri, oppure pagare con un metodo di pagamento che non ha ancora usato la prova gratuita.

I prezzi dei piani, le condizioni della prova gratuita e cosa succede alla conversione sono tutti spiegati in fatturazione, prove gratuite e come annullare.

Il pagamento è andato a buon fine ma l'account è ancora sul piano gratuito

Una carta addebitata insieme a un account che si comporta ancora come gratuito è un sintomo diverso da un checkout fallito, e ha una pagina dedicata.

Leggi hai pagato ma le funzioni del piano restano bloccate per le stringhe che compaiono in questo stato, il controllo che indica quale account detiene l'abbonamento, e cosa inviare all'assistenza.

Cosa Whizi non può dirti

Tre lacune, così non perdi tempo a cercare risposte che non esistono.

Whizi non vede mai perché la tua banca ha rifiutato una carta, perché quello scambio avviene sulla pagina di checkout ospitata da Stripe, fuori dal codice di Whizi. Una ricerca in entrambi i repository di Whizi non ha trovato alcuna stringa di carta rifiutata o pagamento rifiutato di alcun tipo, e il gestore webhook Stripe non contiene alcun messaggio di pagamento rifiutato. Quindi non esiste alcun motivo di rifiuto salvato nel tuo account, nessun pulsante per riprovare, e nulla che Whizi possa sovrascrivere. Il motivo resta presso la tua banca.

Whizi non ha nemmeno un messaggio per un rinnovo fallito o scaduto. In nessuno dei due repository esiste una stringa rivolta all'utente per questo caso, quindi se in seguito un addebito di rinnovo fallisce non riceverai un errore di Whizi che lo spieghi. L'unico avviso vicino al rinnovo che esiste davvero è una notifica push con il testo "Your subscription is no longer active." sotto il titolo "Whizi subscription updated", inviata quando un webhook di RevenueCat sincronizza un account riportandolo al piano gratuito. Questo è il percorso del webhook di RevenueCat, quindi non è la segnalazione di un rinnovo Stripe fallito.

La fatturazione di Whizi passa attraverso Stripe, quindi quali carte possono pagare viene deciso lì e non in Whizi. Una carta russa o iraniana non può completare la registrazione. Ucraina, Kazakistan, Turchia, Indonesia e India funzionano end to end.

Lista di controllo
  • Un rifiuto reale della carta arriva dalla tua banca tramite Stripe, non da Whizi
  • Whizi non ha alcun messaggio di carta rifiutata né alcun motivo di rifiuto da mostrarti
  • Una dicitura di Whizi sull'errore significa che non si è trattato di un rifiuto
  • Gli errori di sessione si risolvono uscendo e accedendo di nuovo, poi riprovando dalla pagina dei prezzi
  • Pricing is temporarily unavailable è lato server: attendi, non riprovare in loop
  • La prova gratuita introduttiva è legata all'impronta della carta e non all'account
  • Addebitato ma ancora sul piano gratuito è un sintomo diverso, trattato in subscription-not-active

Domande frequenti

Perché Whizi dice che il mio pagamento è fallito ma la mia banca non mostra alcun tentativo?

Perché la stringa che hai visto è stata generata dal sito prima ancora di raggiungere Stripe, quindi nessun addebito è stato tentato. Il modo rapido per distinguerla da un vero rifiuto del backend: un rifiuto del backend arriva come JSON con un codice di errore, come pricing_unavailable o invalid_plan_or_cycle, e mostra uno stato HTTP in una traccia di rete. Una stringa lato browser non ha nessuno dei due. Se quello che hai visto non aveva un codice, nulla ha raggiunto la tua banca.

Cosa significa A $1 intro trial has already been used with this payment method.?

Significa che la carta inserita ha già usato la prova gratuita introduttiva. Non è un rifiuto: Whizi non ha affatto una stringa di carta rifiutata, e questa arriva dalla rotta di checkout di Whizi stessa come HTTP 403 con il codice duplicate_trial_payment_method, che vale la pena citare se scrivi all'assistenza. Puoi abbonarti alla tariffa standard oppure usare un metodo di pagamento che non ha ancora usato la prova gratuita.

Ho ricevuto Pricing is temporarily unavailable. Il problema è la mia carta?

No. È HTTP 503 pricing_unavailable, e proviene dalla rotta che legge il listino prezzi localizzato da Stripe, non dalla rotta di checkout che accetterebbe una carta. Non c'è alcuna soluzione dal tuo lato, quindi attendi invece di provare un'altra carta. Se invece hai visto Failed to create Stripe checkout session., è una stringa separata con un'origine separata: il testo di riserva del sito quando la chiamata di checkout fallisce e il backend non fornisce alcun messaggio.

Il mio codice promozionale è stato rifiutato. Perché?

Il checkout restituisce The supplied discount must be an active 100% promotion code or coupon ID. come HTTP 400 invalid_discount. Il campo dello sconto al checkout accetta solo un codice promozionale attivo al 100 percento o un ID coupon, quindi un codice scaduto o uno sconto parziale verranno rifiutati lì. Rimuovilo e completa il checkout al prezzo normale se ti serve accedere subito.

Whizi ha rifiutato la mia email al checkout. Cosa è successo?

Hai visto Temporary email addresses are not allowed. Please use a permanent email address. La rotta di checkout la restituisce come HTTP 400 disposable_email_blocked quando il dominio email dell'account collegato è nell'elenco degli indirizzi usa e getta. La stessa stringa viene usata in registrazione come HTTP 403. Usa un indirizzo permanente sull'account e il checkout procederà.

Sono stato addebitato due volte. Cosa devo fare?

Contatta l'assistenza con entrambe le ricevute Stripe invece di annullare alla cieca. Annullare è un'azione separata con un esito proprio: per un abbonamento attivo la rotta di annullamento risponde Subscription cancellation scheduled for end of billing period., quindi quell'abbonamento prosegue fino alla fine del periodo già pagato.