woocommerce-paypal-payments/modules/ppcp-settings/services.php

52 lines
1.8 KiB
PHP
Raw Normal View History

2024-10-18 17:17:07 +02:00
<?php
/**
* The Settings module services.
*
* @package WooCommerce\PayPalCommerce\Settings
*/
declare( strict_types = 1 );
namespace WooCommerce\PayPalCommerce\Settings;
2024-10-31 09:44:04 +02:00
use WooCommerce\PayPalCommerce\Settings\Endpoint\ConnectManualRestEndpoint;
2024-10-18 17:17:07 +02:00
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
use WooCommerce\PayPalCommerce\Settings\Endpoint\OnboardingRestEndpoint;
2024-10-22 18:53:24 +02:00
use WooCommerce\PayPalCommerce\Settings\Data\OnboardingProfile;
2024-10-18 17:17:07 +02:00
return array(
2024-10-31 09:44:04 +02:00
'settings.url' => static function ( ContainerInterface $container ) : string {
2024-10-18 17:17:07 +02:00
/**
* The path cannot be false.
*
* @psalm-suppress PossiblyFalseArgument
*/
return plugins_url(
'/modules/ppcp-settings/',
dirname( realpath( __FILE__ ), 3 ) . '/woocommerce-paypal-payments.php'
);
},
2024-10-31 09:44:04 +02:00
'settings.data.onboarding' => static function ( ContainerInterface $container ) : OnboardingProfile {
$can_use_casual_selling = false;
$can_use_vaulting = $container->has( 'save-payment-methods.eligible' ) && $container->get( 'save-payment-methods.eligible' );
$can_use_card_payments = $container->has( 'card-fields.eligible' ) && $container->get( 'card-fields.eligible' );
// Card payments are disabled for this plugin when WooPayments is active.
if ( class_exists( '\WC_Payments' ) ) {
$can_use_card_payments = false;
}
return new OnboardingProfile(
$can_use_casual_selling,
$can_use_vaulting,
$can_use_card_payments
);
2024-10-22 18:53:24 +02:00
},
2024-10-31 09:44:04 +02:00
'settings.rest.onboarding' => static function ( ContainerInterface $container ) : OnboardingRestEndpoint {
2024-10-22 18:53:24 +02:00
return new OnboardingRestEndpoint( $container->get( 'settings.data.onboarding' ) );
},
2024-10-31 09:44:04 +02:00
'settings.rest.connect_manual' => static function ( ContainerInterface $container ) : ConnectManualRestEndpoint {
return new ConnectManualRestEndpoint();
},
2024-10-18 17:17:07 +02:00
);