Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Возможно ли бронировать товар на время пока покупатель его оплачивает?


Recommended Posts

Всем привет! Сайт будет продавать билеты на ивенты. Количество билетов ограничено. Нужно сделать так чтоб билет "бронировался" допустим на 30 минут с нажатия на кнопку купить пока покупатель совершает оплату. Как этого можно достичь?

Спасибо большое за подсказки!

Надіслати
Поділитися на інших сайтах


тоже интересно решение.

тут есть проблема. пока не нажата кнопка "подтвердить" в корзине, товар не списывается из остатка...насколько я понимаю...

 

Надіслати
Поділитися на інших сайтах

По хорошему, надо резервировать, как только добавили товар в корзину.

Товар в корзине храним 30 минут, всё что пролежало больше - удаляем.

 

Реализация.

Т.к. корзина у нас в БД, то мы без проблем от текущего количества отнимаем количество из чужих корзин (связка по ID товара).

Но не проводим отнимания, если это из своей корзины.

При оформлении товар уже спишется и корзина очистится.

 

Я бы делал таким способом.

Надіслати
Поділитися на інших сайтах

5 минут назад, mpn2005 сказал:

По хорошему, надо резервировать, как только добавили товар в корзину.

Товар в корзине храним 30 минут, всё что пролежало больше - удаляем.

 

Реализация.

Т.к. корзина у нас в БД, то мы без проблем от текущего количества отнимаем количество из чужих корзин (связка по ID товара).

Но не проводим отнимания, если это из своей корзины.

При оформлении товар уже спишется и корзина очистится.

 

Я бы делал таким способом.

норм, но если начнутся редактирования самой корзины обладателя... ну мало ли...

 

Надіслати
Поділитися на інших сайтах

Вариант 1
1. отключаем списание в заказах!!!
2. Товар в корзине - сразу списание в товаре
3. При очистке корзины по крону (по жизни) (полчаса) Восстанавливаем и удаляем из корзины

Вариант 2

Здесь не отключается стандартное списание

Добавляем поле в товар - количесство в корзине
при добавлении увеличиваем
Остаток =  количество - в корзинах
При очистке корзины по крону (по жизни) (полчаса) уменьшаем поле

 

 

Вариант 3

 

7 минут назад, mpn2005 сказал:

из чужих корзин (связка по ID товара).


хм... Лазить по чужим корзинам - нехорошо :)
 

Я думаю, что если еще посидеть то еще парочку набросать можно
 

Надіслати
Поділитися на інших сайтах

3 минуты назад, anboza сказал:

но если начнутся редактирования самой корзины обладателя... ну мало ли...

Всё будет работать. Если увеличили количество, то больше забронировали.

Всё исходит от даты изменения, чтобы исключить гонки и коллизии.

Это на случай борьбы за последний билет.

Надіслати
Поділитися на інших сайтах

1 минуту назад, chukcha сказал:

хм... Лазить по чужим корзинам - нехорошо

Чем не хорошо?

Мы же их не модифицируем, а просто узнаём количество в резерве.

Причём на уровне системной либы.

Надіслати
Поділитися на інших сайтах

3 минуты назад, chukcha сказал:

2. Товар в корзине - сразу списание в товаре

норм, а если ошибся / отказ? а если брошенная корзина? остатки будут плавать...

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, chukcha сказал:

есть живые, есть забытые, есть апишные

Апишные не трогаем. Т.к. это админ, он знает что делает.

Забытых тут нет, т.к. время жизни товара в корзине 30 минут.

 

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, anboza сказал:

норм, а если ошибся / отказ? а если брошенная корзина? остатки будут плавать...


Вот с брошенными надо думать

бросают только зарегистрированые

Но..!!!

Тут надо разбираться конкретно с каждым ивентом

Т.е. начало продаж, конец продаж и другие товары..

Возможно что процесс очистки нужен  для товара с признаком ивент
Тогда и брошенные корзины не помешают

Надіслати
Поділитися на інших сайтах

Только что, chukcha сказал:

Вот с брошенными надо думать

бросают только зарегистрированые

Но..!!!

Тут надо разбираться конкретно с каждым ивентом

Т.е. начало продаж, конец продаж и другие товары..

Возможно что процесс очистки нужен  для товара с признаком ивент
Тогда и брошенные корзины не помешают

вопрос в том, что количество ограничено, т.е. каждый потерянный билет - проблема...и получается, что человек понажимал, подобавлял, задумался и все, коллапс.

Надіслати
Поділитися на інших сайтах

9 минут назад, anboza сказал:

задумался и все, коллапс.

Дают - бери
Бьют - беги

Ему дали полчаса думать..

Тут еще один момент нарисовался..

Что в момент офломеления заказа - должно произойти списание, то при статусе > 0

А вот в этот момент могут быть потери..

Т.к. ТС не участвует в обсуждении, то мы не знаем  всех Начальных условий.

 

Надіслати
Поділитися на інших сайтах

Только что, chukcha сказал:

А вот в этот момент могут быть потери..

да, это самое узкое место.

1 минуту назад, chukcha сказал:

Т.к. ТС не участвует в обсуждении, то мы не знаем  всех Начальных условий

и да, хотелось бы ТС в тему. А то как вроде это нам тут нужно порешать..

 

Надіслати
Поділитися на інших сайтах

Всем Привет. Прошу прощения. Я тут. Спасибо за ответы. 

Начальных условий особо нет. есть просто желание заказчика, а так как я подобного еще не делал, то у меня возник сей вопрос

Клиент хочет чтоб типа как здесь.

 

Надіслати
Поділитися на інших сайтах


4 минуты назад, bisitem сказал:

Всем Привет. Прошу прощения. Я тут. Спасибо за ответы. 

Начальных условий особо нет. есть просто желание заказчика, а так как я подобного еще не делал, то у меня возник сей вопрос

Клиент хочет чтоб типа как здесь.

 

"как здесь" - это как? как увидеть механику бронирования? )))

вы почитайте все что выше. проблематику можно понять по рассуждениям.

исходя из этого, поставьте четко вопрос. вы же видите, есть нюансы и достаточно большие. 

Надіслати
Поділитися на інших сайтах

@ anbozaвижу. Но честно говоря, сам не понимаю. Я вам описал задачу как мне ее поставил клиент. Механику бронирования мы и не увидим. мы не можем "заглянуть внутрь этого сайта". Но снаружи суть такова, что приобретая билет, уже в на этапе оформления заказа при нажатии на кнопку появляется надпись, о том что необходимо оплатить до "время+30 минут". 

Надіслати
Поділитися на інших сайтах


Только что, bisitem сказал:

@ anbozaвижу. Но честно говоря, сам не понимаю. Я вам описал задачу как мне ее поставил клиент. Механику бронирования мы и не увидим. мы не можем "заглянуть внутрь этого сайта". Но снаружи суть такова, что приобретая билет, уже в на этапе оформления заказа при нажатии на кнопку появляется надпись, о том что необходимо оплатить до "время+30 минут". 

нужно уточнить, что происходит при добавлении позиции в корзину. списывается ли остаток наличие - 1 (например) или просто 30 мин и корзина очищается, не затрагивая остаток, но тогда есть шанс, что кому-то не хватит.

 

Надіслати
Поділитися на інших сайтах

@bisitem вот смотрите

3 человека обсудили проблемы, показали возможные коллизии не зная всей сути техпроцесса

Т.е. по сути - КАК БЫ СДЕЛАЛ Я

Но затык в начальных Условиях


Период продаж
Горячий период
Только ли билеты


 

Надіслати
Поділитися на інших сайтах

8 часов назад, Pascha сказал:

Кто то еще хочет поспорить и рассказать мне о том что 

А мне по..
Проблему с заказчиком решает непосредственно исполнитель, т.е посредник

Не всегда прямой заказчик понимает что надо сделать поэтом появляется прослойка в виде посредника.
А вы беретесь за заказ озвучивая сумму за вою работу..

Надіслати
Поділитися на інших сайтах

11 минут назад, Pascha сказал:

.а денех нет... 

хм... С такими же условиями  тебя может кинуть и прямой заказчик

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.