Gestione degli Ordini

La gestione degli ordini in Magento è molto sofisticata e vi sono moltissime soluzioni che potrebbero essere adottate ma la domanda che ci si pone sempre è: Generare l'ordine prima del pagamento ? oppure attendere il pagamento prima di creare un ordine? Prima di tutto bisogna considerare cosa è un ordine dal punto di vista commerciale.

Gli Ordini

La definizione della parola Ordine in ambito commerciale è la richiesta di una merce o di un servizio. Quindi un ordine commerciale è la richiesta di determinato prodotto nel negozio magento da parte di un "potenziale cliente". Consideriamo il richiedente un "potenziale" cliente poichè non lo è ancora, visto il mancato pagamento della merce o del servizio. Quindi un ordine potrebbe esistere ma non aver alcun valore finchè il "potenziale cliente" o il "richiedente" non effettua il pagamento.

Al momento della conferma dell'ordine in Magento, il richiedente esprime la sua volontà nell'interesse di un determinato servizio o merce e Magento può "riservare o mantenere la disponibilità" di tale prodotto per un determinato periodo e/o dopo un'azione personalizzata da parte del gateway di pagamento.

Magento ha diverse funzionalità legate alla gestione degli ordini e noi ci focalizzeremo sulla gestione dello status prima e dopo il pagamento dell'ordine.

Abbiamo detto che il richiedente ha espresso il proprio interesse nell'acquisto di un determinato prodotto o servizio al click di conferma d'ordine che può reindirizzare il richiedente al gateway sicuro della banca.

Vi sono moltissimi modi di effettuare un pagamento, ma noi ci soffermeremo sui pagamenti con redirect chiamati Hosted (pagamenti ospitati nel server della banca).

Durante il redirect verso il server sicuro della banca, Magento DEVE creare un ordine per mantenere "la richiesta" che il cliente ha generato durante l'uso del carrello in archivio, poichè il reindirizzamento verso un sito differente cancella i dati temporanei del carrello perdendo definitivamente le informazioni. In questo determinato istante l'ordine viene creato e registrato in archivio con un codice ordine univoco e con uno status della transazione in "Pending Review" o "Pagamento in revisione" inviando una notifica al cliente relativa all'ordine generato. La notifica non alcun valore fino al ricevimento del documento commerciale più importante: la Fattura.

Ecco i casi più frequenti riscontrati:

  1. il cliente effettua il pagamento e ritorna sul sito internet dell'esercente

    • un messaggio lo avviserà dell'avvenuto pagamento. Magento imposterà un nuovo status "In Elaborazione" (Processing)

  2. il cliente non effettua il pagamento e ritorna sul sito internet dell'esercente

    • un messaggio lo avviserà sull'errore generato. Magento creerà un nuovo carrello con i vecchi prodotti scelti dal cliente e cancellerà il vecchio ordine mantenendo traccia della transazione annullata da parte del cliente.

  3. il cliente effettua il pagamento e chiude il browser

    • il server della banca contatterà il negozio Magento inviando una notifica sull'esito del pagamento (solo in live mode). Magento imposterà un nuovo status "In Elaborazione" (Processing)

  4. il cliente non effettua il pagamento e chiude il browser

    • il server della banca contatterà il negozio Magento inviando una notifica sull'esito del pagamento (solo in live mode). Magento imposterà un nuovo status "Cancellato" (Canceled)

Seguendo quanto detto in precedenza, in tutti i casi su riportati Magento mantiene traccia di ciò che il cliente ha ordinato e sarà possibile conoscere ciò che è successo durante la fase di acquisto attraverso i log del modulo di pagamento (vedi Logging, Debug).

Il software invia solamente un'email alla conferma della pagina success di Magento con i dettagli dell'ordine.

L'email che conferma il pagamento verrà inviata dalla banca all'esercente ed al cliente al termine della transazione di pagamento.