Ciao,
ho un problema con un carrello e mi servirebbero spunti per risolverlo.
dunque, ho una pagina

pagina checkout:

la pagina checkout è suddivisa in 3 step.
step1 = inserisco i dati anagrafici
step2 = riepilogo ordine e dati anagrafici
step3 = conferma d'ordine ( salvo i dati nella tabella ordini e invio email ) -->pagina di successo.

i metodi di pagamento possibili sono contrassegno/carta di credito.
Per quanto riguarda il contrassegno, al submit dello step3 faccio eseguire una funzione saveOrder() che in ordine:
1) preleva i dati dalla tabella 'cart' e li inserisce nella tabella 'ordini'
2) crea l'id_ordine tramite mysql_insert_id()
3)svuota il carrello

e il gioco è fatto, funziona tutto perfettamente.
per quanto riguarda la carta di credito, la faccenda si complica.

Non posso, allo step3, far eseguire la funzione saveOrder() perchè se il cliente decide di abbandonare per vari motivi il pagamento, si troverebbe con il carrello vuoto.
Quindi devo fare in modo che, per la carta di credito al submit dello step3, non venga eseguita la funzione e quindi non venga svuotato il carrello e non venga creato l'ordine, finchè la transazione del pagamento, non viene eseguita. Per questo ho inserito uno step4 che:
- bypassa lo step3
- all'avvenuta transazione reindirizzo il cliente allo step3.

Arrivo al problema:
la banca ha bisogno dell'id_ordine come uno dei parametri per la codifica dei dati.
Quindi avrei bisogno di creare l'id_ordine prima...dell'ordine!
non so se mi spiego, perchè l'ordine e quindi l'id vengono creati solo all'esecuzione dello step3.

Quindi tutta questa storia per chiedervi quali soluzioni siano in questo caso possibili.
Dènkiu