Fix subscription validations

This commit is contained in:
Pedro Silva 2024-01-30 18:22:53 +00:00
parent 6c0e0a96dc
commit ebcc2ba3f9
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3
2 changed files with 16 additions and 2 deletions

View file

@ -1,7 +1,10 @@
import {useEffect, useState} from '@wordpress/element'; import {useEffect, useState} from '@wordpress/element';
import {registerExpressPaymentMethod, registerPaymentMethod} from '@woocommerce/blocks-registry'; import {registerExpressPaymentMethod, registerPaymentMethod} from '@woocommerce/blocks-registry';
import {loadPaypalScript} from '../../../ppcp-button/resources/js/modules/Helper/ScriptLoading' import {loadPaypalScript} from '../../../ppcp-button/resources/js/modules/Helper/ScriptLoading'
import {cartHasSubscriptionProducts} from '../../../ppcp-blocks/resources/js/Helper/Subscription' import {
cartHasSubscriptionProducts,
isPayPalSubscription
} from '../../../ppcp-blocks/resources/js/Helper/Subscription'
import ApplepayManager from "./ApplepayManager"; import ApplepayManager from "./ApplepayManager";
import {loadCustomScript} from "@paypal/paypal-js"; import {loadCustomScript} from "@paypal/paypal-js";
@ -51,7 +54,10 @@ const ApplePayComponent = () => {
const features = ['products']; const features = ['products'];
if (cartHasSubscriptionProducts(ppcpConfig)) { if (cartHasSubscriptionProducts(ppcpConfig)
&& ! isPayPalSubscription(ppcpConfig)
&& ppcpConfig.can_save_vault_token
) {
features.push('subscriptions'); features.push('subscriptions');
} }

View file

@ -477,6 +477,14 @@ if(cartHasSubscriptionProducts(config.scriptData)) {
block_enabled = false; block_enabled = false;
} }
// Don't render if vaulting disabled and is in vault subscription mode
if(
! isPayPalSubscription(config.scriptData)
&& ! config.scriptData.can_save_vault_token
) {
block_enabled = false;
}
// Don't render buttons if in subscription mode and product not associated with a PayPal subscription // Don't render buttons if in subscription mode and product not associated with a PayPal subscription
if( if(
isPayPalSubscription(config.scriptData) isPayPalSubscription(config.scriptData)