【问题标题】:What is the hook for successful payment in ubercart 3.x for drupal 7drupal 7在ubercart 3.x中成功付款的钩子是什么
【发布时间】:2012-05-27 09:22:14
【问题描述】:

我在 drupal 7 上使用 ubercart。ubercart 版本是 3.x。我试图搜索很多在付款成功后运行的钩子。之后我想在数据库中插入更多细节。 是否有任何完整和成功付款的钩子。 我相信大多数项目在付款后都会涉及一些工作,因此必须有一个钩子或方法来完成它。

谢谢大家 史密斯

【问题讨论】:

    标签: drupal-7 hook payment ubercart


    【解决方案1】:

    使用 hook_uc_order 确定订单何时成功完成所需的条件是:

    1. $op == '更新'
    2. $order->order_status == 'payment_received'
    3. $arg2 == '完成'

    我不确定 #2 是否绝对需要,但它似乎并没有什么坏处。

    因此,此代码将让您在订单成功完成时采取行动:

    function MODULE_NAME_uc_order($op, $order, $arg2) {
        if($op == 'update' && $order->order_status == 'payment_received' && $arg2 == 'completed'){
            //do something on successful order completion
        }
    }
    

    【讨论】:

      【解决方案2】:

      我认为没有特定的钩子,而是使用规则和操作,只需按照下面的代码创建一个操作,然后转到配置、工作流、规则并将您的操作添加到现有规则“更新订单” status on full payment”或创建一个单独的规则,确保添加一个条件来检查 value order:payment-balance 是否

      /**
       * Implements hook_rules_action_info().
       *
       * Add rules action to process order after payment
       */
      function my_module_rules_action_info() {
        $order_arg = array(
          'type' => 'uc_order',
          'label' => t('Order'),
        );
      
        $actions['my_module_action_process_order'] = array(
          'label' => t('My Module Process Ubercart Order'),
          'group' => t('My Module'),
          'base' => 'my_module_action_process_order',
          'parameter' => array(
            'order' => $order_arg,
          ),
        );
      
        return $actions;
      }
      
      function my_module_action_process_order($order) {
         // Do Whatever Here
      }
      

      【讨论】:

        【解决方案3】:

        使用hook_uc_order() (documentation) 和$op = 'save' 大小写。并检查$order->order_status 了解订单状态。

        【讨论】:

        • 这是不正确的,我尝试了这个没有运气,经过多次测试,我能够弄清楚哪些值实际上对应于成功的订单完成,请参阅我的答案。
        猜你喜欢
        • 2011-05-12
        • 2012-04-07
        • 2011-12-03
        • 2013-05-02
        • 2017-10-01
        • 2018-07-05
        • 2011-01-23
        • 2011-08-02
        • 2012-04-21
        相关资源
        最近更新 更多