Consider manual renewal and vaulting option when displaying buttons on product page

This commit is contained in:
inpsyde-maticluznar 2024-10-11 13:58:25 +02:00
parent 3163593027
commit cf68af182c
No known key found for this signature in database
GPG key ID: D005973F231309F6
2 changed files with 22 additions and 5 deletions

View file

@ -233,11 +233,15 @@ class SingleProductBootstap {
this.form(),
this.errorHandler
);
if(!this.gateway.vaultingEnabled){
return;
}
if (
! this.gateway.vaultingEnabled &&
[ 'subscription', 'variable-subscription' ].includes(
this.gateway.productType
) &&
this.gateway.manualRenewalEnabled !== '1'
) {
return;
}
if (
PayPalCommerceGateway.data_client_id.has_subscriptions &&

View file

@ -1318,8 +1318,21 @@ document.querySelector("#payment").before(document.querySelector(".ppcp-messages
'should_handle_shipping_in_paypal' => $this->should_handle_shipping_in_paypal && ! $this->is_checkout(),
'needShipping' => $this->need_shipping(),
'vaultingEnabled' => $this->settings->has( 'vault_enabled' ) && $this->settings->get( 'vault_enabled' ),
'productType' => null,
'manualRenewalEnabled' => '',
);
if ( is_product() ) {
$product = wc_get_product( get_the_ID() );
if ( is_a( $product, \WC_Product::class ) ) {
$localize['productType'] = $product->get_type();
}
}
if ( class_exists( '\WCS_Manual_Renewal_Manager' ) ) {
$localize['manualRenewalEnabled'] = \WCS_Manual_Renewal_Manager::is_manual_renewal_enabled();
}
if ( 'pay-now' === $this->context() ) {
$localize['pay_now'] = $this->pay_now_script_data();
}