Woocommerce: как я могу использовать Stripe ONLY для разовых платежей? Я хочу отключить его для платежей по подписке - PullRequest
1 голос
/ 16 января 2020

Я пытаюсь отключить Stripe для платежей по подписке и показывать ТОЛЬКО для однократных платежей, как для однократных платежей.

Я сталкивался с кодом ниже, но это делает наоборот. Мне нужно, чтобы оно скрывалось за подписками и показывалось для разовых платежей (разовых платежей)

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 );

1 Ответ

1 голос
/ 16 января 2020

Может быть, просто измените условие, когда нужно сбросить полосу:

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'] ) ) ) ) {

(я убрал «не» -! - из условий, которые должны быть в порядке)

...