Disabled GooglePay and ApplePay on locations with subsciption products.

This commit is contained in:
Pedro Silva 2023-11-13 17:36:18 +00:00
parent ac7779bc41
commit 24f98cd038
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3
10 changed files with 65 additions and 1 deletions

View file

@ -42,6 +42,10 @@ class ApplepayButton {
return;
}
if (!this.contextHandler.validateContext()) {
return;
}
this.log('Init', this.context);
this.initEventHandlers();
this.isInitialized = true;
@ -263,7 +267,7 @@ class ApplepayButton {
switch (this.context) {
case 'product':
// Refresh product data that makes the price change.
this.productQuantity = document.querySelector('input.qty').value;
this.productQuantity = document.querySelector('input.qty')?.value;
this.products = this.contextHandler.products();
this.log('Products updated', this.products);
break;

View file

@ -9,6 +9,13 @@ class BaseHandler {
this.ppcpConfig = ppcpConfig;
}
validateContext() {
if ( this.ppcpConfig?.locations_with_subscription_product?.cart ) {
return false;
}
return true;
}
shippingAllowed() {
return true;
}

View file

@ -5,6 +5,13 @@ import CheckoutActionHandler
class PayNowHandler extends BaseHandler {
validateContext() {
if ( this.ppcpConfig?.locations_with_subscription_product?.payorder ) {
return false;
}
return true;
}
shippingAllowed() {
return false;
}

View file

@ -7,6 +7,13 @@ import BaseHandler from "./BaseHandler";
class SingleProductHandler extends BaseHandler {
validateContext() {
if ( this.ppcpConfig?.locations_with_subscription_product?.product ) {
return false;
}
return true;
}
transactionInfo() {
const errorHandler = new ErrorHandler(
this.ppcpConfig.labels.error.generic,