diff --git a/modules/ppcp-paylater-configurator/src/Endpoint/SaveConfig.php b/modules/ppcp-paylater-configurator/src/Endpoint/SaveConfig.php index df4e4affa..b1f77de85 100644 --- a/modules/ppcp-paylater-configurator/src/Endpoint/SaveConfig.php +++ b/modules/ppcp-paylater-configurator/src/Endpoint/SaveConfig.php @@ -94,7 +94,7 @@ public function handle_request(): bool { * * @param array $config The configurator config. */ - private function save_config( array $config ): void { + public function save_config( array $config ): void { $this->settings->set( 'pay_later_enable_styling_per_messaging_location', true ); $this->settings->set( 'pay_later_messaging_enabled', true ); diff --git a/modules/ppcp-settings/services.php b/modules/ppcp-settings/services.php index 0016a0096..3ce60b18e 100644 --- a/modules/ppcp-settings/services.php +++ b/modules/ppcp-settings/services.php @@ -128,7 +128,8 @@ }, 'settings.rest.pay_later_messaging' => static function ( ContainerInterface $container ) : PayLaterMessagingEndpoint { return new PayLaterMessagingEndpoint( - $container->get( 'wcgateway.settings' ) + $container->get( 'wcgateway.settings' ), + $container->get( 'paylater-configurator.endpoint.save-config' ) ); }, 'settings.rest.settings' => static function ( ContainerInterface $container ) : SettingsRestEndpoint { diff --git a/modules/ppcp-settings/src/Endpoint/PayLaterMessagingEndpoint.php b/modules/ppcp-settings/src/Endpoint/PayLaterMessagingEndpoint.php index 5dfbe7613..c39fa056f 100644 --- a/modules/ppcp-settings/src/Endpoint/PayLaterMessagingEndpoint.php +++ b/modules/ppcp-settings/src/Endpoint/PayLaterMessagingEndpoint.php @@ -9,6 +9,7 @@ namespace WooCommerce\PayPalCommerce\Settings\Endpoint; +use WooCommerce\PayPalCommerce\PayLaterConfigurator\Endpoint\SaveConfig; use WooCommerce\PayPalCommerce\PayLaterConfigurator\Factory\ConfigFactory; use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings; use WP_REST_Request; @@ -36,13 +37,22 @@ class PayLaterMessagingEndpoint extends RestEndpoint { */ protected $settings; + /** + * Save config handler. + * + * @var SaveConfig + */ + private $save_config; + /** * PayLaterMessagingEndpoint constructor. * - * @param Settings $settings The settings. + * @param Settings $settings The settings. + * @param SaveConfig $save_config Save config handler. */ - public function __construct( Settings $settings ) { - $this->settings = $settings; + public function __construct( Settings $settings, SaveConfig $save_config ) { + $this->settings = $settings; + $this->save_config = $save_config; } /** @@ -77,7 +87,7 @@ public function register_routes() : void { } /** - * Returns all payment methods details. + * Returns Pay Later Messaging configuration details. * * @return WP_REST_Response The current payment methods details. */ @@ -86,14 +96,15 @@ public function get_details() : WP_REST_Response { } /** - * Updates payment methods details based on the request. + * Updates Pay Later Messaging configuration details based on the request. * * @param WP_REST_Request $request Full data about the request. * * @return WP_REST_Response The updated payment methods details. */ public function update_details( WP_REST_Request $request ) : WP_REST_Response { + $this->save_config->save_config( $request->get_params() ); + return $this->get_details(); } - }