以编程方式创建事务成员

时间:2016-07-15 18:07:43

标签: wordpress membership recurring-billing

我在github上找到了以下片段:

https://gist.github.com/supercleanse/8010675

    if(is_plugin_active('memberpress/memberpress.php')) {
      add_action( 'user_register', 'mp_auto_enroll' );
      //add_action( 'gform_user_registered', 'mp_auto_enroll', 10, 4 );

      function mp_auto_enroll($user_id, $user_config=array(), $entry='', $user_pass='') {
        $txn = new MeprTransaction();
        $txn->user_id = $user_id;
        $txn->product_id = 8; // TODO: Make sure you change this value to whatever the product_id will be
        $txn->trans_num  = uniqid();
        $txn->status     = MeprTransaction::$complete_str;
        $txn->gateway    = MeprTransaction::$free_gateway_str;
        $txn->expires_at = 0; // 0 = Lifetime, null = product default expiration
        $txn->store();
      }
    }

以上代码仅添加非经常性交易,如何添加定期交易

我尝试添加

 $txn->amount = 100;

 $txn->period_type="month";

它不起作用,请提供任何线索

1 个答案:

答案 0 :(得分:1)

以下代码有效,希望它也有助于其他人。

            $sub = new MeprSubscription();
            $sub->user_id = $user_ID;
            $sub->product_id = 123;
            $sub->price = 12.99;
            $sub->total = 12.99;
            $sub->period = 1;
            $sub->period_type = 'months';
            $sub->status = MeprSubscription::$active_str;
            $sub_id = $sub->store();

            $txn = new MeprTransaction();
            $txn->amount = 12.99;
            $txn->total = 12.99;
            $txn->user_id = $user_ID;
            $txn->product_id = 123;
            $txn->status = MeprTransaction::$complete_str;
            $txn->txn_type = MeprTransaction::$payment_str;
            $txn->gateway = 'manual';
            $txn->expires_at = gmdate('Y-m-d 23:59:59', (time() + MeprUtils::months(1)));
            $txn->subscription_id = $sub_id;
            $txn->store();