Woocommerce订阅:续订订单的优惠券

时间:2017-04-26 22:04:48

标签: woocommerce woocommerce-subscriptions

我想在创建订阅的续订订单时应用优惠券。 我使用stripe作为woocommerce订阅的支付网关。

我从文档中找到了过滤器'wcs_renewal_order_created':https://docs.woocommerce.com/document/subscriptions/develop/filter-reference/

我设法应用它,触发得很好,我可以在这个订单上申请优惠券。 订单金额减少优惠券的金额。

问题:条纹收取订单的全部金额,没有折扣。就像我改变的订单没有被Stripe使用一样。

以下是代码示例,将任何续订订单减少5个:

function gens_renewal_order_created($order, $subscription){         
    $order = new WC_Order( $order->id );                
    $order->set_total($order->get_total() - 5);     
    return $order;
}

1 个答案:

答案 0 :(得分:2)

这有点晚了,但没有回复。

如果你看一下' wcs_create_order_from_subscription()'

这是创建新订单的功能。此处还有一个不同的过滤器,在文档中没有提及' wcs_new_order_created'。

所以这就是你的代码应该是什么。

function gens_renewal_order_created($order, $subscription){         
    $order = new WC_Order( $order->id );                
    $order->set_total($order->get_total() - 5);     
    return $order;
}
add_filter('wcs_new_order_created','gens_renewal_order_created', 10, 2 );