diff --git a/modules/ppcp-wc-gateway/src/Settings/class-settingsrenderer.php b/modules/ppcp-wc-gateway/src/Settings/class-settingsrenderer.php index 1a7da4754..44c3eef05 100644 --- a/modules/ppcp-wc-gateway/src/Settings/class-settingsrenderer.php +++ b/modules/ppcp-wc-gateway/src/Settings/class-settingsrenderer.php @@ -9,6 +9,8 @@ declare(strict_types=1); namespace WooCommerce\PayPalCommerce\WcGateway\Settings; +use WooCommerce\PayPalCommerce\AdminNotices\Entity\Message; +use WooCommerce\PayPalCommerce\AdminNotices\Repository\Repository; use WooCommerce\PayPalCommerce\ApiClient\Helper\DccApplies; use WooCommerce\PayPalCommerce\Button\Helper\MessagesApply; use WooCommerce\PayPalCommerce\Onboarding\State; @@ -90,6 +92,30 @@ class SettingsRenderer { $this->dcc_product_status = $dcc_product_status; } + /** + * Returns the notice, when onboarding failed. + * + * @return array + */ + public function messages() : array { + //phpcs:ignore WordPress.Security.NonceVerification.Recommended + if ( ! isset( $_GET['ppcp-onboarding-error'] ) ) { + return array(); + } + + $messages = array( + new Message( + __( + 'We could not complete the onboarding process. Some features, such as card processing, will not be available. To fix this, please try again.', + 'paypal-payments-for-woocommerce' + ), + 'error', + false + ), + ); + return $messages; + } + /** * Renders the multiselect field. * @@ -224,21 +250,6 @@ class SettingsRenderer { */ public function render() { - //phpcs:ignore WordPress.Security.NonceVerification.Recommended - if ( isset( $_GET['ppcp-onboarding-error'] ) ) : - ?> -
-

- -

-
- get( 'wcgateway.settings.render' ); + /** + * The settings renderer. + * + * @var SettingsRenderer $settings_renderer + */ + $messages = $settings_renderer->messages(); + $notices = array_merge( $notices, $messages ); + return $notices; } );