Punti chiave

  • Prova l'immissione manuale, la compilazione automatica del browser e i suggerimenti di indirizzi
  • Ricalcolare le date di spedizione, tasse e consegna dopo la correzione
  • Consenti agli indirizzi di fatturazione e di spedizione di divergere
  • Rendi idempotente l'invio dell'ordine finale

Autore e revisione

Principi editoriali
Scritto da
Team editoriale del generatore di indirizzi casuali
Revisionato da
Team di revisione moduli e QA
Ultimo aggiornamento sostanziale
Aggiunta correzione dell'indirizzo, ricalcolo della spedizione, separazione della fatturazione, invio idempotente e casi mobili.

L'immissione dell'indirizzo ha più percorsi

Comprende l'immissione da tastiera, la compilazione automatica del browser, l'incolla multilinea, i suggerimenti e gli indirizzi salvati. Ogni percorso dovrebbe produrre un contratto API mantenendo i dettagli del paese e dell'unità.

Un timeout del suggerimento non deve bloccare l'immissione manuale valida. Spiega che l'acquirente può continuare invece di intrappolarlo in un elenco vuoto.

PercorsoAffermazione fondamentaleFallimento comune
ManualeInvia senza suggerimentoForzare una scelta nell'elenco
Compilazione automatica del browserTutti gli aggiornamenti dello stato dipendente vengono attivatiI valori riempiti sono ancora considerati vuoti
SuggerimentoLa tastiera e lo screen reader funzionanoInterazione solo con il mouse
Indirizzo salvatoIl preventivo di spedizione viene ricalcolatoResta la citazione precedente

Mantieni l'acquirente sotto controllo sulle correzioni

Mostra gli indirizzi immessi e suggeriti fianco a fianco, evidenzia le modifiche e consenti l'originale. Non rilasciare mai silenziosamente il nome di un appartamento o di un edificio.

Prova accetta, mantieni, riapri, timeout e un suggerimento mancante della riga 2.

Ricalcolare i metodi di spedizione, tasse e consegna

Una modifica del paese, della regione o del codice postale può invalidare i metodi e modificare la spedizione, le imposte, le soglie e le date. Blocca l'invio finale fino all'arrivo del nuovo preventivo.

Le modifiche rapide creano citazioni simultanee. Applica solo il risultato corrispondente alla versione più recente dell'indirizzo.

  • Cancella i metodi non validi dopo il cambio del Paese
  • Aggiorna spedizione e tasse insieme
  • Ignora le risposte alle citazioni obsolete
  • Conserva il carrello e l'indirizzo dopo un errore

La fatturazione e la spedizione necessitano di copie modificabili indipendenti

Lo stesso della spedizione può creare una copia, ma i due non dovrebbero condividere un oggetto mutabile. La modifica della fatturazione dopo aver deselezionato non deve modificare la spedizione.

Utilizza la sandbox del fornitore di servizi di pagamento e trigger documentati anziché dati casuali per i controlli degli indirizzi di pagamento.

shippingAddress = structuredClone(selectedAddress);
billingAddress = sameAsShipping
  ? structuredClone(shippingAddress)
  : enteredBillingAddress;

Rendi idempotente l'invio finale e crea uno snapshot dell'indirizzo

I doppi clic, i tentativi di timeout e la navigazione indietro mobile possono ripetere una richiesta. Disabilita le azioni ripetute dell'interfaccia utente e utilizza una chiave di idempotenza lato server.

Memorizza l'istantanea dell'indirizzo confermato e la versione del preventivo sull'ordine invece di fare riferimento solo a una voce della rubrica modificabile.

La copertura mobile dovrebbe includere la tastiera software che nasconde l'azione principale, lo sfondo e il ripristino della pagina e il ritorno da un'autorizzazione di pagamento esterna. Al ripristino, interroga l'ordine esistente o la richiesta idempotente prima di inviare un'altra operazione di creazione.

Controlla un ordine il cui indirizzo è cambiato due volte durante il pagamento. La sua istantanea dovrebbe contenere la versione finale confermata, il preventivo di spedizione dovrebbe appartenere a quella versione e una modifica successiva alla rubrica dell'acquirente non deve riscrivere l'ordine storico.

Testa anche l'errore ambiguo: il browser va in timeout dopo l'invio, ma il server ha già creato l'ordine. Un nuovo tentativo con la stessa chiave deve restituire il risultato originale anziché addebitare nuovamente o prenotare l'inventario due volte. Gli strumenti di supporto dovrebbero esporre la chiave della richiesta, la versione dell'indirizzo e l'identificatore dell'ordine senza esporre l'indirizzo completo nei registri di routine. Ciò rende testabile il ripristino limitando al contempo l'accesso non necessario ai dati personali.

  • Simula il doppio clic, il nuovo tentativo di timeout e la restituzione del pagamento
  • Interroga lo stato idempotente dopo il ripristino della pagina
  • Abbina l'indirizzo dell'ordine e le versioni del preventivo
  • Riapri la cronologia dopo aver modificato la rubrica

Domande frequenti

Un'interruzione dei suggerimenti dovrebbe bloccare il pagamento?

Non necessariamente. A seconda del rischio, consentire la conferma manuale e contrassegnare l'indirizzo come non verificato.

Cosa cambia dopo la modifica del codice postale?

Ricalcola i metodi di consegna, i costi di spedizione, le date e le imposte pertinenti, ignorando le risposte obsolete.

La disabilitazione del pulsante previene gli ordini duplicati?

Non completamente. Il server necessita inoltre di una chiave di idempotenza o di una protezione dai tentativi equivalente.

Fonti e letture

  1. MDN: completamento automatico del modulo indirizzo
  2. W3C WAI: notifica di errore del modulo