Pagamento fallisce
Diagnosi quando un pagamento non va a buon fine. Cause comuni e fix.
Se un cliente segnala "Non riesco a pagare" o vedi ordini bloccati in FAILED, qui sotto le cause più comuni.
1. Stato della sessione
Dashboard → Ordini → seleziona ordine — il campo status può essere:
| Stato | Significato | Azione |
|---|---|---|
PENDING | Cliente non ha ancora completato | Aspetta o invia recovery dal tuo store |
PENDING_PAYMENT | Ordine COD o in attesa | Per COD aspetta consegna; altrimenti vedi sotto |
COMPLETED | Pagamento OK, ordine creato | Niente da fare |
FAILED | Pagamento rifiutato | Vedi cause |
REFUNDED | Rimborsato | Storico |
EXPIRED | Sessione scaduta non pagata | Sweep automatico del cron, ok |
2. Stato bloccato dopo conferma Whop
Se Whop sul suo dashboard mostra "Paid" ma WooshPayment resta PENDING per più di qualche minuto, il webhook di Whop probabilmente non è arrivato o ha firma invalida.
Cause possibili:
- Webhook Whop non configurato verso
https://api.wooshpayment.com/webhooks/whop/payment-update - Secret HMAC sbagliato (firma rigettata)
- Whop ha fatto una rare missed delivery
Fix:
Il recupero automatico passa dal cron di riconciliazione, ma puoi anche forzare un controllo dalla dashboard:
- Verifica nel dashboard Whop che il pagamento sia effettivamente
Paid - Apri Dashboard → Ordini → ordine
- Se la sessione è
PENDINGoPROCESSING, clicca Verifica pagamento - Il backend esegue
POST /api/checkout/merchant/orders/:token/backfill-status, interroga Whop e, se trova un pagamento riuscito, aggiorna lo stato
3. FAILED — cause comuni
Carta rifiutata dalla banca
Sintomo: cliente vede "Pagamento rifiutato" sull'iframe Whop. Cause: limiti carta superati, fondi insufficienti, blocco banca per acquisto in valuta estera, carta scaduta. Fix: cliente prova altra carta o contatta la sua banca.
3D-Secure cancellato
Sintomo: cliente vede schermata 3D-Secure (SMS code o app banking), poi clicca "Annulla". Fix: cliente refresha e rifa, completa il 3DS.
Indirizzo mismatch / antifrode
Sintomo: l'antifrode di Whop blocca per inconsistenza tra paese carta e indirizzo spedizione. Fix: cliente usa lo stesso paese di emissione carta come billing address.
Apple Pay non funziona
Sintomo: bottone Apple Pay appare ma il click non fa nulla, o errore generico. Cause comuni:
- Dominio del checkout non registrato su Whop Apple Pay (vedi Setup Apple Pay)
- Carta nel Wallet del cliente non supportata da Whop
- Cliente non ha selezionato carta nel Wallet
Fix: cliente paga con carta manuale; tu verifica registrazione dominio sul tuo Whop.
Errore 401 connessione Whop
Sintomo: dashboard mostra "API key Whop non valida" quando vai su Integrazioni.
Causa: la API key è stata generata con un ruolo troppo basso o permessi custom insufficienti. Whop /v5/company rigetta con 401 "does not have permission to access this route".
Fix: rigenera la API key con ruolo Amministratore o Proprietario, ri-connetti su WooshPayment. Vedi Setup Whop.
"Whop ha impiegato troppo a rispondere"
Sintomo: tentativo di connect Whop ritorna WHOP_TIMEOUT (504).
Causa: timeout 6s lato nostro per non bloccare la funzione serverless.
Fix: riprova. Quasi sempre transitorio.
4. Cliente paga ma ordine non in Shopify/Woo
Sintomo: WooshPayment mostra COMPLETED, ma l'ordine non appare nel pannello dello store (Shopify Admin o WooCommerce → Ordini).
Cause:
- AccessToken Shopify revocato/scaduto
- Scope
write_ordersrimosso da una re-install parziale - Credenziali REST WooCommerce revocate o senza permesso ordini
- Quota WooCommerce REST API superata
Fix:
- Dashboard → Impostazioni → Connessione store → verifica Shopify o WooCommerce in base alla piattaforma collegata
- Se Shopify è "Non connesso" → ri-avvia OAuth Shopify; se WooCommerce fallisce → rigenera Consumer Key/Secret e riconnetti
- Per ordini già
COMPLETEDma senza Ordine store in dashboard, aspetta il prossimo giro di reconcile automatico; se resta bloccato, mandaci il session token perché va letto l'errore Shopify/Woo specifico
5. Browser issues lato cliente
| Sintomo cliente | Possibile causa | Fix |
|---|---|---|
| "La pagina checkout non carica" | DNS subdomain non ancora propagato (nuovo merchant) | Aspetta 5-30 min, ricarica |
| "Vedo errore CORS in console" | Bug raro lato nostro | Contatta supporto |
| "Schermo bianco dopo pay" | JS bloccato da AdBlock estremo | Cliente disabilita AdBlock |
| "Riceve un addebito ma niente prodotto" | Webhook non arrivato | Vedi sezione 2 |
6. Logs
Internamente i log applicativi (Pino) hanno retention 90 giorni. Per debug specifici scrivici con session token / order id e ti diamo info dai log.
7. Quando contattarci
Manda email a hello@wooshpayment.com con:
- Session token / Order ID
- Whop payment ID se disponibile
- Email cliente
- Screenshot del messaggio errore
- Cosa hai già provato
Rispondiamo entro 24h business hours.
Tabella rapida sintomo → fix
| Sintomo | Fix lato merchant |
|---|---|
| "La pagina checkout non carica" | Aspetta propagazione DNS subdomain |
| "Carta rifiutata" | Cliente prova altra carta o paga con Apple Pay |
| "Apple Pay button assente" | Verifica registrazione dominio sul tuo Whop |
| "Riceve addebito ma niente prodotto" | Verifica webhook Whop configurato verso api.wooshpayment.com/webhooks/whop/payment-update |
| "Whop dice paid ma WooshPayment no" | Apri l'ordine e clicca Verifica pagamento; se resta bloccato, mandaci session token + Whop payment id |
| "Cannot connect to Whop API" | API key con ruolo troppo basso o permessi Company mancanti — rigenera con Amministratore o Proprietario |