Credici o no quella cosa del codice univoco è stata la manna dal cielo!
Dopo settimane di tribolazioni, stamattina ho capito come usarlo!

Creo un codice criptato con le opzioni che mi vengono inviate, quantità e id prodotto a parte, le salvo nell'array e le uso per il confronto con i prodotti futuri. Se avranno lo stesso codice dentro lo stesso id prodotto, vorrà dire che sono identici e a quel punto aggiungo la quantità richiesta, altrimenti creo un nuovo array.

Incasinato da spiegare ma rispetto alle 130 righe che usavo prima e non funzionava, con 30 ho risolto il problema e funziona egregiamente!