1

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

我从文档中找到了过滤器“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;
}
4

1 回答 1

4

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

如果你看一下'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 );
于 2017-08-03T09:12:43.860 回答