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 订阅:自动创建续订订单并暂停有效订阅的主要内容,如果未能解决你的问题,请参考以下文章

WooCommerce订阅 - 续订时未触发动作挂钩

自动续订订阅 SKProduct.PeriodUnit == 7

Woocommerce:结帐页面后获取订单ID [重复]

扑。如何检查自动续订订阅是否仍然有效

我可以将自动续订订阅链接到应用帐户吗?

从逗号分隔的订单ID中获取有效的WooCommerce订阅