Ознайомлення з пропозицією
Продукція згрупована за категоріями, і покупець при переході між категоріями може знайомитись з нею. Процес (починаючи з вищої (Top) категорії) має вигляд:
- PHP-скрипт — перелічує всі підкатегорії під поточною категорією;
- покупець вибирає підкатегорію, повторюється попередній пункт з вибраною підкатегорією. (Рекурсія дозволяє переміщуватися по дереву, використовуючи тільки один сценарій.)
Коли відображається зміст категорії, будуть показані:
- підкатегорії під поточною категорією;
- батьківські категорії, які ведуть назад до вищої категорії;
- продукція під поточною категорією;
- резюме кошика покупок.
На екрані розміщуються:
- заголовок сайта — назва поточної сторінки (DOC TITLE) і посилання до сторінки реєстрації в системі;
- стандартні посилання навігації по сайту;
- резюме кошика покупок клієнта: кількість елементів у кошику та загальна вартість покупок;
- шлях навігації від поточної категорії назад (до вищої категорії). (Наприклад: Top > Computers>Printers — показує всі категорії, які ведуть від вищої категорії до категорії Printers);
- список всіх підкатегорій під поточною категорією. (Наприклад, якщо клієнт знаходиться у категорії Multimedia, доречно бачити список підкатегорій, Projectors, Audiosystems і т.д.);
- інформація про доступну для продажу продукцію поточної категорії. (Вибір продукції повинен дозволяти перехід на сторінку детальної інформації про неї та посилання для додавання елементів до корзини покупок.);
- стандартний нижній колонтитул.
Наведений приклад можна перебудовувати. Все необхідне для перебудови знаходиться у файлах шаблонів.
Вибір та формування замовлення
Список продукції, яку клієнт бажає придбати, формується в кошику.
Основні дії з кошиком покупок такі:
а) додати продукцію до кошика: додавання продукції до кошика працює, як занесення ідентифікатора продукції в масив $items.
б) видалити продукцію з кошика: видаляється ідентифікатор продукції з масиву $items.
в) підрахувати кількість продукції в кошику: читання $items і складання нагромадженої кількості продукції.
г) обчислити загальну вартість продукції в кошику: отримання вартості виконується за запитом до БД про вартість кожного виду продукції. Ціна множиться на замовлену кількість і підбивається підсумок.
Кошик покупок є об’єктом (класу Cart) та має дві властивості: $items — Асоціативний масив ідентифікаторів продукції та їх кількостей. Ключ — виріб, значення — кількість; $total — Загальна вартість елементів у кошику.
Загальний вигляд алгоритму:
cart total = 0
for each product (р) in the shopping cart
select price from products where id = р
cart_total = cart_total + price * quantity р ordered
loop
Поліпшений алгоритм:
product list = ""
for each product (р) in the shopping cart
product_list = product_list + р
loop
cart_total = 0
select id, price from products where id in (product_list)
for each record in the query result
cart_total = cart_total + price * quantity of id ordered
loop
Наведений алгоритм позбавляє необхідності у виконанні великої кількості індивідуальних запитів.
При перегляді кошика покупок клієнт повинен мати можливість змінити кількість замовленої продукції або очистити кошик. Реєстрація клієнта в системі доцільна тільки тоді, коли клієнт робитиме покупку. Так можна отримати його персональну інформацію (ім’я, адреса і т.ін.) для БД клієнтів. Клієнт, що зареєструвався, повинен перевірити свою платіжну інформацію і дати спеціальні вказівки або коментарі стосовно покупки. Після цього клієнтові необхідно показати сторінку підтвердження, яка повідомить його про майбутні дії. Найдоцільніше — це резюме замовлення і деталі рахунка або інструкції, які клієнт ввів на поточний момент. Якщо все влаштовує клієнта, він підтверджує замовлення. Надалі обробляється оплата і виконується замовлення.
Обробка оплати:
- трансакція (фінансова) відправляється до компанії для обробки оплати (кліринговому центру);
- компанія перевіряє кількість грошей на розрахунковому рахунку клієнта і знімає вказану суму з його рахунка;
- компанія платить Enterprise (з відрахуванням плати за посередництво).
Обробка оплати — найвідповідальніша частина роботи. Вона буде розглянута на рівні принципового алгоритму, тому що всі клірингові компанії (тобто такі, які здійснюють платежі на запит продавця з рахунка клієнта і спілкуються з цією метою із банком клієнта і/або міжнародними центрами авторизації Visa/MasterCard/) дуже відрізняються одна від одної. |