Problema: i punti guadagnati dai clienti non vengono assegnati

Problema: i punti guadagnati dai clienti non vengono assegnati

Alcuni esercenti stanno riscontrando anomalie nell'assegnazione dei punti.

I punti vengono assegnati dal modulo, automaticamente, dopo l'acquisto.
In questa fase, i punti non sono utilizzabili e restano in attesa di convalida.

Solo la convalida consentirà ai clienti di utilizzare i punti guadagnati.
La convalida avviene automaticamente quando l'ordine passa allo stato scelto dal commerciante nella configurazione del modulo.




Se, ad esempio, il modulo è configurato per assegnare punti per lo stato "Consegnato", i punti saranno validi non appena l'ordine assumerà questo stato.

Il bug segnalato è il seguente:
lo stato dell'ordine corrisponde allo stato utilizzato dal modulo per assegnare i punti guadagnati al cliente.
Nonostante ciò, i punti rimangono nello stato "in sospeso" e non possono essere utilizzati.

Come possiamo evitare che questo accada?


In questo caso, è necessario effettuare i seguenti controlli.

1) Verificare che l'opzione "restituzione della merce" non sia attivata nel back office.
Questa opzione aggiunge altri 14 giorni per la convalida dei punti, a partire dal giorno in cui l'ordine assume lo stato di convalida dei punti.




Se l'opzione è attiva, i punti saranno "Disponibili" solo alla fine di questo periodo. 
Questa opzione è utile per prevenire le frodi: impedisce ai clienti di utilizzare i punti guadagnati per effettuare un secondo ordine e poi richiedere il rimborso del primo ordine.

Il problema potrebbe quindi essere legato a questa opzione. In questo caso, i punti saranno assegnati correttamente entro 14 giorni.

Se la causa del problema non è questa, verificare il secondo punto.

2) Questo tipo di problema può verificarsi quando un altro modulo utilizza lo stesso hook del "Programma fedeltà".

È quindi necessario verificare questo aspetto nel back office:
- Andare alla voce di menu Design > Posizioni.
- Selezionare l'opzione per visualizzare tutti gli hook 


- Cercare l'hook actionOrderStatusUpdate
- Verificare che il modulo "Programma fedeltà" sia in prima posizione nell'elenco:



In caso contrario, spostare il modulo nella prima posizione con un drag and drop.
In questo modo gli altri moduli non interferiranno con il "Programma fedeltà" e i punti saranno assegnati correttamente.

Come risolvere il problema?

Abbiamo visto come prevenire questo problema. Vediamo ora come convalidare i punti mai convalidati.

Se siete in grado di agire sul database del vostro sito, potete eseguire una query SQL per correggere il problema.
Per iniziare, identificare gli ID corrispondenti allo stato dei punti. Ad esempio:

Punti in attesa di convalida > ID 1
Punti convalidati > ID 2

Quindi, eseguire questa query per convalidare i punti in sospeso.
UPDATE 'ps_totloyalty' SET 'id_loyalty_state' = 2 WHERE 'id_loyalty_state' = 1 ;
Dove gli ID utilizzati corrispondono a quelli dell'esempio:
Punti in attesa di convalida > ID 1
Punti convalidati > ID 2

Attenzione: questa query aggiorna TUTTI i punti non validati (anche per gli ordini non pagati).

Se si desidera aggiornare solo alcuni ordini, questa è la query da utilizzare: 
UPDATE 'ps_totloyalty' SET 'id_loyalty_state' = 2 WHERE 'id_order' = IN (10, 15, 18) ;

Dove 10, 15, 18 sono gli ID degli ordini con punti in sospeso.

Utilizzate queste richieste solo se avete familiarità con questo tipo di modifiche. In caso contrario, contattate il nostro helpdesk qui: