Как отправить POST без form?
 не смог менять их значениеМожно сделать отправку формы на js, но не хочу, поскольку javascript можно остановить и изменить значениядля этого существует подпись, которую Вы кладёте в поле hidden при формировании страницы.
После оплаты - получаете данные и проверяете их через подпись.
Если он что-то подменит - подпись не совпадёт и Ваш ответчик транзакции сгенерит ошибку (оплата не пройдёт, деньги ни с кого не спишутся).
в сессии храните данные. Они путешествуют между скриптами, но не доступны юзеру.