saxon
Новичок
Здравствуйте.
Сразу говорю, что долго искал в интернете и не нашел нужного решения.
Есть магазин, в котором набрать в корзину товара может любой посетитель, но оплатить только зарегистрированный.
Сделал корзину на сессиях и все работает хорошо. Но!
1. Для корректной проверки оплаты необходим Id заказа - идентификатор заказа уже в базе. но в какой момент его туда добавить не пойму. ведь если я добавлю заказ в базу при нажатии кнопки покупки, а юзер отменит платеж, то заказ будет уже и в сессии, и в базе. Удалять заказ из базы, если юзер отменил заказ? А если он просто закрыл страницу оплаты?
Как правильно построить работу с оплатой?
2. Как защитить платеж и добавление заказа в базу, т.к. сама информация о заказе и платеже является ценной и не должна быть подделана.
Пока идея только в двойной проверке:
- проверка по Id заказа из самой базы
- генерирование хеша случайного как идентификатора платежа (передавать его при оплате и требовать его при подтверждении платежей). В этот момент стоит почитать о CSRF?
Спасибо
Сразу говорю, что долго искал в интернете и не нашел нужного решения.
Есть магазин, в котором набрать в корзину товара может любой посетитель, но оплатить только зарегистрированный.
Сделал корзину на сессиях и все работает хорошо. Но!
1. Для корректной проверки оплаты необходим Id заказа - идентификатор заказа уже в базе. но в какой момент его туда добавить не пойму. ведь если я добавлю заказ в базу при нажатии кнопки покупки, а юзер отменит платеж, то заказ будет уже и в сессии, и в базе. Удалять заказ из базы, если юзер отменил заказ? А если он просто закрыл страницу оплаты?
Как правильно построить работу с оплатой?
2. Как защитить платеж и добавление заказа в базу, т.к. сама информация о заказе и платеже является ценной и не должна быть подделана.
Пока идея только в двойной проверке:
- проверка по Id заказа из самой базы
- генерирование хеша случайного как идентификатора платежа (передавать его при оплате и требовать его при подтверждении платежей). В этот момент стоит почитать о CSRF?
Спасибо