我想在创建订阅的续订订单时应用优惠券。 我使用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;
}
答案 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 );