Докато изграждах платформа за електронна търговия, се натъкнах на проблеми с дизайна. Работя с вградения клас количка на CodeIgniter. Той съхранява цялата информация за количката в сесията. Да кажем, че количката вече е пълна с продукти и потребителят щраква върху касата. Кога трябва да съхранявам поръчката в базата данни? Само след това щракване или след няколко стъпки на събиране на информация и съхраняването й в сесия? Как да се справим с допълнителни функции като различни методи за доставка? Трябва ли първо да го добавя в кошницата и да получа допълнителен (адрес за подарък) към сесията? Не искам да го съхранявам в база данни, защото е необходима връзка между адреса на подаръка и поръчката и тъй като не знам какъв е идентификаторът на поръчката. Озадачен съм :) Освен това смятам, че е от решаващо значение количката да бъде информирана за методите на доставка и допълнителните закупени услуги (при избиране на адрес за подарък има допълнителна такса), защото съдържанието на количката е точно като касова бележка?
Накратко, каква е най-добрата практика за обработка на плащане?