WooCommerce / Checkout
Problemes amb el checkout de WooCommerce
Per al client, totes les fallades del checkout s’assemblen (un spinner, un error, res), però les causes van des d’un error de JavaScript fins a un error fatal de PHP o una resposta de la passarel·la de pagament. La manera més ràpida d’arribar a la causa és esbrinar quina capa falla primer.
Resposta curta
Obre la pestanya de xarxa del navegador i fes una comanda de prova. Si no s’envia cap petició del checkout, el problema és JavaScript. Si la petició (?wc-ajax=checkout, o la Store API al bloc de Checkout) retorna un error, llegeix els registres de PHP i de WooCommerce. Si la comanda es crea però el pagament falla, el problema és al traspàs a la passarel·la.
Recursos tècnics
Guies sobre el checkout
Problemes concrets
Fallades de checkout habituals
El checkout no funciona gens
Cap client no pot completar una comanda.
El checkout no para de carregar
La petició ha fallat, ha esgotat el temps o ha retornat una cosa que la pàgina no entén.
Falla en prémer Fes la comanda
Un error PHP, una validació fallida o un rebuig de la passarel·la en crear la comanda.
Funciona amb sessió, falla amb convidats
Pàgines de checkout en memòria cau, nonces caducats, ajustos de comptes i de convidats.
S’ha trencat després d’actualitzar un plugin
Un hook modificat, una dependència de JavaScript o una plantilla eliminada.
Checkout lent
Temps perdut a PHP, a la base de dades o en crides a API externes.
Primer, troba la capa que falla
| Què veus a la pestanya de xarxa | Què vol dir | On mirar després |
|---|---|---|
| Cap petició en prémer Fes la comanda | El navegador no l’ha enviada | Errors de consola, scripts bloquejats o diferits |
| La petició retorna 500 | PHP ha fallat al servidor | Registre fatal-errors, registre d’errors PHP |
| La petició retorna 403 | Alguna cosa l’ha bloquejada | Plugin de seguretat, regles de WAF o CDN, restriccions de la REST API |
| 200 amb un missatge d’error | WooCommerce ha rebutjat la comanda | Validació, camps, cupons, resposta de la passarel·la |
| 200, comanda creada, el pagament falla | Traspàs a la passarel·la | Registre de la passarel·la, esdeveniments del proveïdor |
Checkout clàssic i bloc de Checkout
El checkout clàssic (shortcode [woocommerce_checkout]) envia la comanda a ?wc-ajax=checkout. El bloc de Checkout (el predeterminat a les botigues noves) crea les comandes mitjançant la Store API sota /wp-json/wc/store/v1/. Fallen en llocs diferents: una regla que bloqueja la REST API només trenca el bloc, i una extensió pensada només per al checkout clàssic pot no fer res al bloc sense avisar.
Què no fer
- No desactivis plugins un per un a la botiga en producció en horari comercial: pot trencar altres fluxos i fer perdre comandes en curs.
- No desis a la memòria cau les pàgines de checkout, carretó o compte, ni minimitzis o difereixis els scripts del checkout sense provar una comanda completa.
- No editis fitxers del nucli de WooCommerce ni copiïs plantilles del nucli per «arreglar» el checkout. L’arranjament es perdrà amb la propera actualització.
Preguntes freqüents
Per què el checkout de WooCommerce no para de carregar?
Normalment perquè la petició del checkout ha fallat o ha retornat una cosa que la pàgina no ha pogut llegir: un error fatal de PHP, un avís de PHP imprès a la resposta, un temps d’espera esgotat o una petició bloquejada per una regla de seguretat. La resposta de la petició a la pestanya de xarxa indica quina.
Per què el checkout funciona amb la sessió iniciada però no per als convidats?
Sovint perquè la pàgina de checkout o de carretó se serveix des d’una memòria cau de pàgines a visitants sense sessió, amb un nonce de seguretat caducat. Les pàgines de checkout, carretó i compte s’han d’excloure de la memòria cau.
Una actualització d’un plugin pot trencar el checkout?
Sí. Una actualització pot canviar un hook, la prioritat d’un filtre o una dependència de JavaScript de la qual depèn una altra extensió, el tema o el codi a mida.
$ descriu el problema
Tens un problema amb WooCommerce?Sol·licita una diagnosi.
Explica'ns què falla, què ha canviat darrerament i com afecta el negoci. Revisem cada sol·licitud i et recomanem el pas següent.
No enviïs mai contrasenyes, claus d'API ni dades de targetes a través del formulari.