В настоящее время я внедряю Paypal Express Checkout в приложении Zend Framework, я написал свою собственную модель корзины, которая состоит из двух простых классов Cart & CartItem, и они могут определять количество, получать общую стоимость и т. Д.
Я не очень осведомлен о платежной системе, и я использую только Paypal (это мой первый раз), но я хотя, поскольку я не в состоянии контролировать, что там происходит (в Paypal), это хорошая идея, чтобы "заблокировать корзину в начале процесса (при перенаправлении на Paypal), чтобы избежать несоответствий по текущему заказу, обработанному PayPal, и фактической корзине на веб-сайте.
Это может произойти, например, если пользователь откроет новую вкладку и попытается добавить продукты, пока он находится в процессе оплаты через PayPal.
Если ваша корзина заблокирована, использование не может добавитьили удалите что-нибудь из своей корзины, пока он не закончит обрабатывать платежную систему PayPal или отменить свой заказ.
Мой вопрос, как вы думаете, это хороший подход?
Редактировать : Причина, по которой я ничего не храню в базе данных, а только сеанс корзины в сеансе, заключается в том, что все заказы хранятся в Paypal, поэтому я не хочу хранить его дважды, это действительно очень простая система.