@jakuraji

Когда очищать корзину пользователя в своем движке интернет магазина?

В самописном движке для интернет магазина, не могу понять, когда лучше очищать корзину пользователя.

Пользователь нажал оплатить. Допустим, что система оплаты такая, что подтверждение может занять как минимум несколько минут.
А может и час-два.

Таким образом, пользователь оплатил на стороннем сайте, его перекинуло обратно на мой магазин. "Спасибо, оплата была, но еще не подтверждена"

До момента подтверждения или неподтверждения оплаты, что делать с корзиной пользователя, если он продолжить бродить по сайту?

*То есть, с точки зрения удобства для пользователя и UX.*

Очистить сразу? А вдруг оплата не подтвердится? И он, возможно, захочет заново оплатить использую другую банковскую карту.

Или плюнет на это дело - неизвестно.

Не очищать сразу, а ждать 5 мин - несколько часов? Тогда он сможет бродить по сайту с корзиной, в которой у него товары, которые он уже купил - неудобно, нелогично.
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
Maksclub
@Maksclub
maksfedorov.ru
Первое: оплата и подтверждение
Нужно работать адекватно с подтверждением оплаты
вы когда передаете данные заказа, то вы кодируете данные одним ключем
банк раскодирует и потом кодирует вторым ключем и вы уже при подтвержддении их раскодируете также вторым ключем их и смотрите -- какой заказ подтвердил банк

Все платежки, которые я знаю работают по такому принципу:
- выдаются 2 ключа
- туда отправляете данные -- одним кодируете
- полученные данные вторым раскодируете
- в полученных данных есть номер заказа

Второе: очистка корзины
Очищайте корзину сразу после принятия заказа и записывайте заказ в заказы (что логично)
А оплачен заказ или нет -- другая история, у пользователя в случае ошибки оплаты просто будет не оплаченный заказ
Если нужно что-то напомнить -- напоминайте. У вас, мол, не оплачен заказ, оплатите, пока есть на месте товары
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
У вас должна быть отдельная сущность - заказ, которых много, у которых есть статус - не оплачен, оплачен, доставлен и т.п. в момент, когда вы нажимаете оплатить - все содержимое корзины должно переехать в новый заказ а корзина очиститься.

Если пользователю понадобится, дайте ему возможность открыть историю заказов и при необходимости набрать корзину заново (или повторно оплатить, если статус - отказ/ошибка/отмена).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы