wr.cart Utilities
L'oggetto wr.cart (accessibile tramite il contesto globale dei componenti di webround.com) espone tutte le proprietà e i metodi necessari per gestire il checkout, le preferenze di spedizione e il calcolo dei totali.
Questa interfaccia funge da centro di comando per trasformare un semplice carrello in un ordine pronto per il pagamento.
Stato del Carrello
Queste proprietà tengono traccia delle selezioni dell'utente e dei calcoli economici durante le fasi finali dell'acquisto. Si trovano dentro wr.cart.state.
| Proprietà | Tipo | Descrizione |
|---|---|---|
| deliverySelections | Record<string, DeliveryMethod> | Mappa che associa ogni SKU ID del carrello al metodo di consegna scelto (shipping, pickup, digital, none). |
| customerEmail | string | L'email dell'utente per contatti o guest checkout. |
| selectedShippingAddress | ShippingAddress | L'indirizzo inserito dal cliente per la spedizione |
| selectedBillingAddress | ShippingAddress | L'indirizzo inserito dal cliente per la fatturazione |
| useBillingAsShipping | boolean | Flag per usare l'indirizzo di fatturazione come spedizione. |
| orderDeliveryMethod | string (UUID) | L'ID del metodo di spedizione scelto per l'ordine. (Reperibile da wr.cart.state.shipping, nella proprietà methodId.) |
| cartTotalNet | number | Totale netto del carrello (imponibile). |
| cartTotalGross | number | Totale lordo finito (inclusivo di IVA e spedizione). |
| shipping | Shipping | Oggetto calcolato con metodi compatibili e costi dinamici. |
| validatedCoupons | Coupon[] | Elenco dei coupon applicati e validati. |
Metodi: Gestione Consegna
| Metodo | Argomenti | Descrizione |
|---|---|---|
| setDeliveryMethod | itemId: string, method: DeliveryMethod | Imposta la modalità di consegna per un singolo articolo nel carrello. |
| setOrderDeliveryMethod | methodId: string | Imposta il metodo di spedizione globale per l'intero ordine. |
| clearElement | itemId: string | Rimuove le selezioni di consegna effettuate per un determinato articolo. |
Metodi: Indirizzi e Profilo
| Metodo | Argomenti | Descrizione |
|---|---|---|
| setSelectedShippingAddress | addr: ShippingAddress | Aggiorna l'indirizzo di spedizione nel contesto del checkout. |
| setSelectedBillingAddress | addr: ShippingAddress | Aggiorna l'indirizzo di fatturazione nel contesto del checkout. |
| setCustomerEmail | email: string | Aggiorna l'email di riferimento associata all'ordine in corso. |
| setUseBillingAsShipping | flag: boolean | Alterna l'uguaglianza automatica tra indirizzo di fatturazione e spedizione. |
Metodi: Checkout e Operazioni Finali
| Metodo | Argomenti | Descrizione |
|---|---|---|
| handleCheckout | - | Innesca la validazione finale, blocca l'inventario e reindirizza al gateway di pagamento. |
Validazione Obbligatoria
Prima di invocare handleCheckout(), è necessario verificare che shipping.compatible sia true. In caso contrario, il backend rifiuterà la creazione dell'ordine poiché mancano metodi di spedizione validi per la destinazione selezionata.