1 woocommerce woocommerce-subscriptions
我想在创建订阅续订订单时应用优惠券。我使用 stripe 作为 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;
}
Run Code Online (Sandbox Code Playgroud)
    小智 5
这有点晚了,但还没有回复。
如果你看一下“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 );
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1538 次  |  
        
|   最近记录:  |