drupal - 下单后付款/不同订单状态

标签 drupal ubercart drupal-commerce

我正在建立一个 drupal 商务网站,我希望有一个功能可以让管理员处理订单并更改订单状态,然后用户会收到一个电子邮件链接,将他重定向到付款页面。八个 drupal commerce 或 ubercart 可能实现这样的事情吗?

注意:uc_payafter 在 7.x 中不起作用

最佳答案

我认为您可以结合使用 Drupal Commerce 和规则,或许还可以进行一些调整来做到这一点。

据我了解,您的情况是这样的:

  1. 用户下了订单但未付款。
  2. 管理员查看订单并批准付款。
  3. 用户会收到一封电子邮件,提示他付款。
  4. 付款订单标记为完成。

Commerce 管理员已编辑订单状态。然后,您可以在发送付款电子邮件的规则中捕获该事件。最大的挑战将是干预结帐过程,阻止用户下订单后立即付款。

为此,您必须创建两个新的订单状态。请参阅http://www.drupalcommerce.org/faq/order-states有关如何执行此操作的信息。我们将这些状态称为“等待批准”和“已批准”。

其余的应该更容易,不需要编码:

  1. 创建一个页面,通知用户他的订单将很快得到审核和批准。

  2. 创建规则来注入(inject)我们的新状态:

    • 事件:保存订单之前
    • 条件:对比数据,订单状态不变为购物车
    • 条件:比较数据,更新后的订单状态为“已结账”
    • 操作:将订单状态设置为等待批准

  3. 创建规则以阻止用户结账:

    • 事件:Drupal 正在初始化
    • 条件:比较数据,页面路径包含“checkout”
    • 条件:比较数据,当前订单状态为等待批准
    • 操作:将用户重定向到您在第 1 步中创建的信息页面

      现在,当用户尝试结账时,订单会被标记为等待批准,并且用户会被引导到信息页面。管理员现在可以自由编辑订单并将其状态更改为“已批准”。我会推荐:

  4. 创建所有处于等待批准状态的订单的 View ,包括“编辑”链接。

    然后,完成该过程:

  5. 创建一条规则,通知用户其订单已获批准付款:

    • 事件:订单已更新
    • 条件:订单状态已批准
    • 操作:向用户发送电子邮件

  6. 创建允许用户付款的规则:

    • 事件:Drupal 正在初始化
    • 条件:比较数据,页面路径包含“checkout”
    • 条件:比较数据,当前订单状态为已批准
    • 操作:将订单状态更改为“结账”

从这里开始,结账过程将照常进行,直到完成。

请注意,如果用户在结账过程中的任何时候点击“取消”,订单将恢复为购物车状态,并且需要管理员再次批准。如果您不希望这种情况发生,您可以将“取消”链接主题设置为优雅的“消失”。

关于drupal - 下单后付款/不同订单状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164471/

相关文章:

drupal - 在 Drupal 的 UberCart 结帐期间重定向到注册页面而不是登录页面?

drupal - 如何摆脱通过在 drupal 中使用 ubercart-paypal 开发的界面进行的欺诈交易

entities - Drupal Commerce 订单对象额外数据

Drupal 插入 img 标签

文件共享

php - Drupal:如何在与表单相同的页面上呈现表单结果

drupal - 将自定义字段添加到 Ubercart 发票

drupal - Fullcalendar 作为 Drupal 商务结帐的一部分

drupal - 查看结果中的内容重复