Оплата после заказа / Различные статусы заказа - PullRequest
3 голосов
/ 17 ноября 2011

Я настраиваю коммерческий веб-сайт drupal, и мне бы хотелось, чтобы эта функция позволяла администратору обрабатывать заказ и изменять его статус, а затем пользователь получает ссылку на электронную почту, которая перенаправляет его на страницу оплаты.Возможна ли такая вещь с Eighter Drupal Commerce или Ubercart?

Примечание: uc_payafter не работает в 7.x

1 Ответ

6 голосов
/ 24 ноября 2011

Я думаю, вы можете сделать это с помощью комбинации Drupal Commerce и Rules и, возможно, некоторой настройки.

Насколько я понимаю, ваш сценарий выглядит так:

  1. Места пользователейзаказ, но не оплачивается.
  2. Администратор просматривает заказ и утверждает его для оплаты.
  3. Пользователю отправляется электронное письмо с предложением оплатить.
  4. Оплаченный заказ отмеченкак завершено.

Коммерция уже администратор редактировать статус заказа.Затем вы можете поймать это событие в правиле, которое отправляет платежное электронное письмо.Самой большой проблемой будет вмешательство в процесс оформления заказа, чтобы пользователь не платил сразу после размещения заказа.

Для этого вам нужно будет создать два новых статуса заказа.См. http://www.drupalcommerce.org/faq/order-states для получения информации о том, как это сделать.Давайте назовем эти статусы «Ожидание одобрения» и «Утверждено».

Остальное должно быть проще, без кодирования:

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

  2. Создать правило для добавления нашего нового статуса:

    • Событие: перед сохранением заказа
    • Условие: сравнить данные, без изменений статус заказа: Корзина
    • Условие: Сравнить данные, обновлен статус заказа Оформить заказ
    • Действие: Установить статус заказа на Ожидание утверждения

  3. Создать правило, чтобы пользователь не мог перейти к оформлению заказа:

    • Событие: инициализация Drupal
    • Условие: сравнить данные,путь к странице содержит «оформить заказ»
    • Условие: сравнить данные, текущий статус заказа в ожидании утверждения
    • Действие: перенаправить пользователя на информационную страницу, созданную на шаге 1

      Теперь, когдапользователь пытается проверить, заказ получаетпомечен как ожидающий утверждения, и пользователь перенаправляется на информационную страницу.Администратор теперь может редактировать заказ и изменять его статус на Утверждено.Я бы порекомендовал:

  4. Создать представление всех заказов в статусе «Ожидание утверждения», включая ссылки «Изменить».

    Затем,чтобы завершить процесс:

  5. Создать правило, информирующее пользователя, что его заказ был утвержден к оплате:

    • Событие: заказ был обновлен
    • Условие: статус заказа подтвержден
    • Действие: пользователь электронной почты

  6. Создать правило, позволяющее пользователю платить:

    • Событие: инициализация Drupal
    • Условие: сравнить данные, путь к странице содержит «извлечение»
    • Условие: сравнить данные, текущий статус заказа утвержден
    • Действие: Измените статус заказа на Checkout

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

Обратите внимание, что если в любой момент, пользовательнажимает «Отмена» в процессе оформления заказа, заказ возвращается в статус «Корзина» и должен быть снова утвержденон админ.Если вы не хотите, чтобы это происходило, вы можете создать ссылку «отменить», чтобы элегантно «исчезнуть».

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