2017-04-26 92 views
1

我想在创建订阅的续订订单时应用优惠券。 我使用条纹作为woocommerce订阅的支付网关。Woocomerce订阅:使用优惠券更新订单

,我发现,文档“wcs_renewal_order_created”过滤器:https://docs.woocommerce.com/document/subscriptions/develop/filter-reference/

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

问题:Stripe收取订单的全部金额,没有折扣。就好像我改变的订单没有被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

这是有点晚了,但一直没有回音。

如果你看一看“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);