2014-04-16 45 views
0

我在我的網站上使用Mijireh擴展程序進行結賬以保持PCI合規性。但是,Mijireh不支持訂閱,因此對於訂閱,我想使用Stripe。我在擴展中添加了,但現在當用戶嘗試使用非訂購產品結賬時,它顯示了兩個付款選項,Mijireh和Stripe。Woocommerce:我怎樣才能使用條紋僅用於訂閱?我想關閉它以購買常規產品

我怎樣才能讓Stripe只用於訂閱,而不是其他的選項?

www.mijireh.com/integrations/woocommerce/

回答

0

您需要檢查車或訂單中包含一種訂購產品,當它不,從可用的支付網關刪除條紋。

像這樣的東西應該是足以讓它工作(未經測試,但擁有所有正確的運動部件):

function so23120782_maybe_remove_stripe($available_gateways) { 

    if (class_exists('WC_Subscriptions_Cart') && (! WC_Subscriptions_Cart::cart_contains_subscription() || (isset($_GET['order_id']) && ! WC_Subscriptions_Order::order_contains_subscription($_GET['order_id'])))) { 
     if (isset($available_gateways['stripe'])) { 
      unset($available_gateways['stripe']); 
     } 
    } 

    return $available_gateways; 
} 
add_filter('woocommerce_available_payment_gateways', 'so23120782_maybe_remove_stripe', 11); 

this gist定製。

+0

太棒了。完美的作品。 – bcreative

相關問題