2017-04-26 7 views
1

サブスクリプションの更新オーダーが作成されたときにクーポンを適用します。 私はwoocommerceサブスクリプションの支払いゲートウェイとしてストライプを使用します。Woocomerceサブスクリプション:更新オーダーのクーポンを適用

私はフィルタを見つけたが、ドキュメントから「wcs_renewal_order_created」:https://docs.woocommerce.com/document/subscriptions/develop/filter-reference/

は、私はそれを適用するために管理し、それが引き金と私がこの順にクーポンを適用することができます十分です。 注文金額は、クーポンの金額だけ減少します。

問題:ストライプは、割引なしで注文の全額を請求します。変更した注文がストライプで使用されていない場合と同じです。ここで

は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); 
関連する問題