以编程方式创建事务 memberpress
programmatically create transaction memberpress
我在 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";
它不起作用,请提供任何线索
以下代码有效,希望对其他人也有帮助。
$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();
我在 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";
它不起作用,请提供任何线索
以下代码有效,希望对其他人也有帮助。
$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();