【问题标题】:Woocommerce Subscriptions: renewal orders created automatically and pausing active subscriptionsWoocommerce 订阅:自动创建续订订单并暂停有效订阅
【发布时间】:2019-04-09 10:45:29
【问题描述】:

我的客户使用 WC 订阅和会员资格。他为客户提供 1 美元的试用会员资格,以试用他的服务 30 天。 30 天后,如果客户未选择退出订阅,则将向他们收取全额费用。

这是 PayPal Standard 上正在发生的事情:

  • 客户购买了 1 美元试用版并前往 PayPal 付款。成功付款后,他们将返回网站,并会在订阅的同时创建试用付费会员。
  • 在成功交易几分钟后,该订阅的单独续订订单将自动创建(应该在 30 天内发生)并随后暂停试用付费会员资格。
  • 由于续订订单未收到付款,因此它处于待付款状态,这会影响订阅状态,因为它认为付款到期,但尚未收到付款。

问题是我刚刚在我的 PayPal 沙箱中测试了这个场景,并且一切正常。未生成自动续订订单。谁能帮我理解为什么这个续订订单会自动生成?

谢谢。

【问题讨论】:

    标签: php paypal woocommerce paypal-subscriptions woocommerce-subscriptions


    【解决方案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 订阅中的一个错误。他们更新了插件并修复了错误。
    猜你喜欢
    • 1970-01-01
    • 2019-09-27
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多