mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
Show error message in paylater block when vaulting enabled
This commit is contained in:
parent
f4ac4401c1
commit
fc1b5e9a1e
3 changed files with 40 additions and 3 deletions
|
@ -11,3 +11,9 @@
|
||||||
.ppcp-unclicable-overlay {
|
.ppcp-unclicable-overlay {
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ppcp-paylater-unavailable {
|
||||||
|
p.block-editor-warning__message {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -33,7 +33,11 @@ export default function Edit( { attributes, clientId, setAttributes } ) {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const props = useBlockProps({className: ['ppcp-paylater-block-preview', 'ppcp-overlay-parent']});
|
let classes = ['ppcp-paylater-block-preview', 'ppcp-overlay-parent'];
|
||||||
|
if (PcpPayLaterBlock.vaultingEnabled) {
|
||||||
|
classes = ['ppcp-paylater-block-preview', 'ppcp-paylater-unavailable', 'block-editor-warning'];
|
||||||
|
}
|
||||||
|
const props = useBlockProps({className: classes});
|
||||||
|
|
||||||
const loadingElement = <div {...props}><Spinner/></div>;
|
const loadingElement = <div {...props}><Spinner/></div>;
|
||||||
|
|
||||||
|
@ -43,6 +47,27 @@ export default function Edit( { attributes, clientId, setAttributes } ) {
|
||||||
}
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
if (PcpPayLaterBlock.vaultingEnabled) {
|
||||||
|
return <div {...props}>
|
||||||
|
<div className={'block-editor-warning__contents'}>
|
||||||
|
<h3>{__('PayPal Pay Later Messaging', 'woocommerce-paypal-payments')}</h3>
|
||||||
|
<p className={'block-editor-warning__message'}>{__('Pay Later Messaging cannot be used while PayPal Vaulting is active. Disable PayPal Vaulting in the PayPal Payment settings to reactivate this block', 'woocommerce-paypal-payments')}</p>
|
||||||
|
<div className={'class="block-editor-warning__actions"'}>
|
||||||
|
<span className={'block-editor-warning__action'}>
|
||||||
|
<a href={PcpPayLaterBlock.settingsUrl} className={'components-button is-primary'}>
|
||||||
|
{__('PayPal Payments Settings', 'woocommerce-paypal-payments')}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
<span className={'block-editor-warning__action'}>
|
||||||
|
<button onClick={() => wp.data.dispatch( 'core/block-editor' ).removeBlock(clientId)} type={'button'} className={'components-button is-secondary'}>
|
||||||
|
{__('Remove Block', 'woocommerce-paypal-payments')}
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
let scriptParams = useScriptParams(PcpPayLaterBlock.ajax.cart_script_params);
|
let scriptParams = useScriptParams(PcpPayLaterBlock.ajax.cart_script_params);
|
||||||
if (scriptParams === null) {
|
if (scriptParams === null) {
|
||||||
return loadingElement;
|
return loadingElement;
|
||||||
|
|
|
@ -15,6 +15,7 @@ use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Interop\Container\ServiceProviderInterface;
|
use WooCommerce\PayPalCommerce\Vendor\Interop\Container\ServiceProviderInterface;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class PayLaterBlockModule
|
* Class PayLaterBlockModule
|
||||||
|
@ -52,9 +53,12 @@ class PayLaterBlockModule implements ModuleInterface {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$settings = $c->get( 'wcgateway.settings' );
|
||||||
|
assert( $settings instanceof Settings );
|
||||||
|
|
||||||
add_action(
|
add_action(
|
||||||
'init',
|
'init',
|
||||||
function () use ( $c ): void {
|
function () use ( $c, $settings ): void {
|
||||||
$script_handle = 'ppcp-paylater-block';
|
$script_handle = 'ppcp-paylater-block';
|
||||||
wp_register_script(
|
wp_register_script(
|
||||||
$script_handle,
|
$script_handle,
|
||||||
|
@ -67,11 +71,13 @@ class PayLaterBlockModule implements ModuleInterface {
|
||||||
$script_handle,
|
$script_handle,
|
||||||
'PcpPayLaterBlock',
|
'PcpPayLaterBlock',
|
||||||
array(
|
array(
|
||||||
'ajax' => array(
|
'ajax' => array(
|
||||||
'cart_script_params' => array(
|
'cart_script_params' => array(
|
||||||
'endpoint' => \WC_AJAX::get_endpoint( CartScriptParamsEndpoint::ENDPOINT ),
|
'endpoint' => \WC_AJAX::get_endpoint( CartScriptParamsEndpoint::ENDPOINT ),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
'settingsUrl' => admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=ppcp-gateway' ),
|
||||||
|
'vaultingEnabled' => $settings->has( 'vault_enabled' ) && $settings->get( 'vault_enabled' ),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue