perché devi fare tutto questo?

è molto più semplice, sicuro ed immediato usare un form in chiaro ma abilitare le IPN

in questo modo nel momento in cui viene effettuata la conferma del checkout carichi i dati sul database segnando che devono essere pagati e non associandoli a nessuna transazione ... quando ti arriva la chiamata delle IPN allora leggi la transazione, la salvi su db, ed aggiorni lo stato del pagamento.

Nel momento in cui ti viene notificato lo stato di "pagamento", effettui le operazioni che faresti normalmente per gestire l'ordine una volta pagato (mandi le email, ti fai avvisare in automatico ... insomma ... quello che vuoi fare normalmente)