Woocommerce 订阅:自动创建续订订单并暂停有效订阅
Posted
技术标签:
【中文标题】Woocommerce 订阅:自动创建续订订单并暂停有效订阅【英文标题】:Woocommerce Subscriptions: renewal orders created automatically and pausing active subscriptions 【发布时间】:2019-04-09 10:45:29 【问题描述】:我的客户使用 WC 订阅和会员资格。他为客户提供 1 美元的试用会员资格,以试用他的服务 30 天。 30 天后,如果客户未选择退出订阅,则将向他们收取全额费用。
这是 PayPal Standard 上正在发生的事情:
客户购买了 1 美元试用版并前往 PayPal 付款。成功付款后,他们将返回网站,并会在订阅的同时创建试用付费会员。 在成功交易几分钟后,该订阅的单独续订订单将自动创建(应该在 30 天内发生)并随后暂停试用付费会员资格。 由于续订订单未收到付款,因此它处于待付款状态,这会影响订阅状态,因为它认为付款到期,但尚未收到付款。问题是我刚刚在我的 PayPal 沙箱中测试了这个场景,并且一切正常。未生成自动续订订单。谁能帮我理解为什么这个续订订单会自动生成?
谢谢。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。 但是,问题是,当订阅自动续订时,它的 MEMBERSHIP 状态变为 PAUSED。我开发并应用了以下解决方案,它奏效了!!
/*
* FIXED : Membership got PAUSED everytime at automatic membership renewal
*/
function change_membership_status_active( $subscription , $order )
global $wpdb;
if( 'completed' === $order->get_status() )
$membership = $wpdb->get_row( "SELECT * FROM wp_postmeta WHERE meta_key = '_subscription_id' AND meta_value = $subscription->ID" );
$mem_id = $membership->post_id;
$status = 'wcm-active';
$update_args = array( 'ID' => $mem_id, 'post_status' => $status );
wp_update_post($update_args);
add_action( 'woocommerce_subscription_renewal_payment_complete', 'change_membership_status_active', 10, 2 );
【讨论】:
谢谢!原来这是其他网站遇到的 WC 订阅中的一个错误。他们更新了插件并修复了错误。以上是关于Woocommerce 订阅:自动创建续订订单并暂停有效订阅的主要内容,如果未能解决你的问题,请参考以下文章