Progettazione del sistema di voucher nell'applicazione di e-commerce

2

Attualmente sto progettando un sistema di voucher da implementare nella nostra applicazione di e-commerce aziendale.

Al momento ho una tabella voucher nel database che contiene le seguenti informazioni:

  • Codice voucher unico
  • Conteggio rimanente voucher - > Quante volte è possibile utilizzare questo buono nella transazione di acquisto
  • Altre colonne

Attualmente, il cliente inserisce il codice del buono nella pagina di pagamento, prima che avvenga il pagamento (utilizzando carta di credito e internet banking).

Utilizzo il gateway di pagamento ospitato, il che significa che reindirizzo il cliente al sito Web del gateway di pagamento. Lì l'input del cliente e completare il pagamento e reindirizzato al nostro sito web

La mia domanda riguarda quando dovrei decrementare il numero rimanente di conteggi informazioni?

Ho preso in considerazione due alternative, come segue:

  • Il cliente inserisce il codice del buono e spinge il pulsante di conferma del codice del buono. Ci sarà una chiamata ajax per convalidare il codice del buono, ottenere l'importo della transazione scontata e quindi decrementare il conteggio rimanente del buono. Il punto debole di questa soluzione è che, quando il pagamento non riesce o lo stock si esaurisce all'improvviso, il buono è già utilizzato, quindi il cliente si arrabbia.
  • Il cliente inserisce il codice del buono e spinge a convalidare il codice del buono. ci sarà una chiamata ajax solo per ottenere la convalida del codice e l'importo della transazione scontata a causa dell'utilizzo del buono. Decrementiamo il conteggio rimanente del buono dopo che il pagamento è stato eseguito correttamente. La debolezza di queste soluzioni è che, se dopo il pagamento, il conteggio rimanente del voucher è già diventato zero a causa di un altro utilizzo da parte di clienti diversi, significa che abbiamo addebitato l'importo della transazione errata e abbiamo subito una perdita.

Esistono altre alternative migliori rispetto a quelle di cui sopra o dovrei semplicemente scegliere una delle soluzioni di cui sopra?

    
posta ramaadhitia 15.10.2015 - 15:51
fonte

2 risposte

1

Puoi associare i voucher agli ordini suggeriti da Muhammad e utilizzare ajax per verificare la disponibilità. Contare tutti i buoni per gli ordini aperti e a pagamento. Non contare i voucher per gli ordini annullati. In questo modo qualcuno potrebbe non essere in grado di utilizzare un buono, ma in seguito potrebbe farlo qualcun altro. Se per prima cosa qualcuno si lamenta di questo, assicurati di avere un articolo in più che puoi lasciar andare per la tariffa scontata e tutti sono contenti;)

    
risposta data 15.10.2015 - 17:15
fonte
0

Non è necessario aggiungere la colonna rimanente del voucher. Invece, utilizza solo il campo dei permessi massimo consentito e archivia tutti i voucher creati in un'altra tabella.

Il cliente può iniziare a creare un nuovo buono se il magazzino disponibile (Valore massimo dei voucher consentiti - Conteggi totali nella tabella creata dal buono) è maggiore di zero.

    
risposta data 15.10.2015 - 16:06
fonte

Leggi altre domande sui tag