Какие есть варианты для купонной логики / рабочего процесса? - PullRequest
0 голосов
/ 27 марта 2011

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

Оплата будет осуществляться через PayPal Web Payments Standard с использованием кнопок «Купить сейчас».Это означает, что клиент покидает мой сайт, оплачивает в PayPal и возвращает.

Клиент применяет код купона к одному товару, и цена снижается перед отправкой в ​​PayPal.Конечно, это предполагает, что код все еще действителен.Мои вопросы:

  • Должен ли я уменьшить счетчик (при условии, что мы ограничены числом), прежде чем пользователь перейдет в PayPal?Если пользователь не завершает транзакцию (просто проверяя, работает ли код), код может быть недействительным перед использованием его для общего количества продаж со скидкой.

  • Уменьшить ли значениепосле получения IPN PayPal?До достижения лимита может быть несколько покупателей (идущих в PayPal), которые платят после его достижения.Мало того, что я мог продать больше, чем планировал, по сниженной цене, так как у моего обработчика IPN есть чек на уплаченную сумму, я обнаружу, что покупатель заплатил меньше, чем является (на тот момент) фактическая цена.

[Для ясности, я ожидаю 1) сохранить коды купонов в БД и 2) сохранить погашения купонов в БД вместе с уникальным номером счета, который проходит через PayPal.Таким образом, обработчик IPN может сверять номер счета с правильно выкупленными кодами.]

Итак, в любом случае у меня есть компромиссы.Как я могу лучше всего справиться с этим?

1 Ответ

2 голосов
/ 27 марта 2011

Мне кажется, что вы должны обращаться с ним так же, как вы управляете запасами.В какой-то момент в течение цикла транзакции вы должны предотвратить продажу товаров, превышающих запасы.Скидочные купоны ограниченного количества должны обрабатываться аналогичным образом.

Итак, если вы проверяете запас при добавлении в корзину, то поступайте так же с купонами.Если срок действия корзины истекает, верните акции и купоны одновременно.Если вы проверите запас на более поздний срок и сообщите пользователю, если заказ не может быть выполнен, то сделайте то же самое с купонами на этом этапе.

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