From 263806904b9c178483a187a9dec2ed435ea1dff0 Mon Sep 17 00:00:00 2001
From: Philipp Stracker
Date: Fri, 8 Nov 2024 17:09:07 +0100
Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Move=20code=20from=20old?=
=?UTF-8?q?=20onboarding=20to=20api=20module?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
To make services reusable in the new settings module, without creating a dependency on the old module
---
.psalm/stubs.php | 33 ++++++++++--
modules/ppcp-api-client/services.php | 36 ++++++++++++-
modules/ppcp-onboarding/services.php | 75 ++++++++--------------------
3 files changed, 85 insertions(+), 59 deletions(-)
diff --git a/.psalm/stubs.php b/.psalm/stubs.php
index 93a59aa84..56ba72451 100644
--- a/.psalm/stubs.php
+++ b/.psalm/stubs.php
@@ -29,9 +29,33 @@ if ( ! defined( 'MINUTE_IN_SECONDS' ) ) {
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', '' );
}
+if ( ! defined( 'PAYPAL_API_URL' ) ) {
+ define( 'PAYPAL_API_URL', 'https://api-m.paypal.com' );
+}
+if ( ! defined( 'PAYPAL_SANDBOX_API_URL' ) ) {
+ define( 'PAYPAL_SANDBOX_API_URL', 'https://api-m.sandbox.paypal.com' );
+}
if ( ! defined( 'PPCP_PAYPAL_BN_CODE' ) ) {
define( 'PPCP_PAYPAL_BN_CODE', 'Woo_PPCP' );
}
+if ( ! defined( 'CONNECT_WOO_CLIENT_ID' ) ) {
+ define( 'CONNECT_WOO_CLIENT_ID', 'AcCAsWta_JTL__OfpjspNyH7c1GGHH332fLwonA5CwX4Y10mhybRZmHLA0GdRbwKwjQIhpDQy0pluX_P' );
+}
+if ( ! defined( 'CONNECT_WOO_SANDBOX_CLIENT_ID' ) ) {
+ define( 'CONNECT_WOO_SANDBOX_CLIENT_ID', 'AYmOHbt1VHg-OZ_oihPdzKEVbU3qg0qXonBcAztuzniQRaKE0w1Hr762cSFwd4n8wxOl-TCWohEa0XM_' );
+}
+if ( ! defined( 'CONNECT_WOO_MERCHANT_ID' ) ) {
+ define( 'CONNECT_WOO_MERCHANT_ID', 'K8SKZ36LQBWXJ' );
+}
+if ( ! defined( 'CONNECT_WOO_SANDBOX_MERCHANT_ID' ) ) {
+ define( 'CONNECT_WOO_SANDBOX_MERCHANT_ID', 'MPMFHQTVMBZ6G' );
+}
+if ( ! defined( 'CONNECT_WOO_URL' ) ) {
+ define( 'CONNECT_WOO_URL', 'https://api.woocommerce.com/integrations/ppc' );
+}
+if ( ! defined( 'CONNECT_WOO_SANDBOX_URL' ) ) {
+ define( 'CONNECT_WOO_SANDBOX_URL', 'https://api.woocommerce.com/integrations/ppcsandbox' );
+}
/**
* Cancel the next occurrence of a scheduled action.
@@ -78,12 +102,15 @@ class WP_HTML_Tag_Processor {
public function __construct( $html ) {
}
- public function next_tag( $query = null ) {
+ public function next_tag( $query = null ) : bool {
+ return false;
}
- public function set_attribute( $name, $value ) {
+ public function set_attribute( $name, $value ) : bool {
+ return false;
}
- public function get_updated_html() {
+ public function get_updated_html() : string {
+ return '';
}
}
diff --git a/modules/ppcp-api-client/services.php b/modules/ppcp-api-client/services.php
index a3850bd7c..4554f24f9 100644
--- a/modules/ppcp-api-client/services.php
+++ b/modules/ppcp-api-client/services.php
@@ -15,7 +15,6 @@ use WooCommerce\PayPalCommerce\ApiClient\Authentication\UserIdToken;
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\Orders;
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\PaymentMethodTokensEndpoint;
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\PaymentTokensEndpoint;
-use WooCommerce\PayPalCommerce\ApiClient\Entity\CardAuthenticationResult;
use WooCommerce\PayPalCommerce\ApiClient\Factory\CardAuthenticationResultFactory;
use WooCommerce\PayPalCommerce\ApiClient\Helper\CurrencyGetter;
use WooCommerce\PayPalCommerce\ApiClient\Helper\FailureRegistry;
@@ -79,6 +78,7 @@ use WooCommerce\PayPalCommerce\ApiClient\Repository\OrderRepository;
use WooCommerce\PayPalCommerce\ApiClient\Repository\PartnerReferralsData;
use WooCommerce\PayPalCommerce\ApiClient\Repository\PayeeRepository;
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
+use WooCommerce\PayPalCommerce\ApiClient\Authentication\ConnectBearer;
return array(
'api.host' => function( ContainerInterface $container ) : string {
@@ -179,6 +179,22 @@ return array(
$container->get( 'woocommerce.logger.woocommerce' )
);
},
+ 'api.endpoint.partner-referrals-sandbox' => static function ( ContainerInterface $container ) : PartnerReferrals {
+
+ return new PartnerReferrals(
+ CONNECT_WOO_SANDBOX_URL,
+ new ConnectBearer(),
+ $container->get( 'woocommerce.logger.woocommerce' )
+ );
+ },
+ 'api.endpoint.partner-referrals-production' => static function ( ContainerInterface $container ) : PartnerReferrals {
+
+ return new PartnerReferrals(
+ CONNECT_WOO_URL,
+ new ConnectBearer(),
+ $container->get( 'woocommerce.logger.woocommerce' )
+ );
+ },
'api.endpoint.identity-token' => static function ( ContainerInterface $container ) : IdentityToken {
$logger = $container->get( 'woocommerce.logger.woocommerce' );
$settings = $container->get( 'wcgateway.settings' );
@@ -853,4 +869,22 @@ return array(
$container->get( 'api.client-credentials-cache' )
);
},
+ 'api.paypal-host-production' => static function( ContainerInterface $container ) : string {
+ return PAYPAL_API_URL;
+ },
+ 'api.paypal-host-sandbox' => static function( ContainerInterface $container ) : string {
+ return PAYPAL_SANDBOX_API_URL;
+ },
+ 'api.paypal-website-url-production' => static function( ContainerInterface $container ) : string {
+ return PAYPAL_URL;
+ },
+ 'api.paypal-website-url-sandbox' => static function( ContainerInterface $container ) : string {
+ return PAYPAL_SANDBOX_URL;
+ },
+ 'api.partner_merchant_id-production' => static function( ContainerInterface $container ) : string {
+ return CONNECT_WOO_MERCHANT_ID;
+ },
+ 'api.partner_merchant_id-sandbox' => static function( ContainerInterface $container ) : string {
+ return CONNECT_WOO_SANDBOX_MERCHANT_ID;
+ },
);
diff --git a/modules/ppcp-onboarding/services.php b/modules/ppcp-onboarding/services.php
index 369e82824..56a49be8e 100644
--- a/modules/ppcp-onboarding/services.php
+++ b/modules/ppcp-onboarding/services.php
@@ -15,7 +15,6 @@ use WooCommerce\PayPalCommerce\ApiClient\Authentication\Bearer;
use WooCommerce\PayPalCommerce\ApiClient\Authentication\ConnectBearer;
use WooCommerce\PayPalCommerce\ApiClient\Authentication\PayPalBearer;
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\LoginSeller;
-use WooCommerce\PayPalCommerce\ApiClient\Endpoint\PartnerReferrals;
use WooCommerce\PayPalCommerce\ApiClient\Helper\Cache;
use WooCommerce\PayPalCommerce\Onboarding\Assets\OnboardingAssets;
use WooCommerce\PayPalCommerce\Onboarding\Endpoint\LoginSellerEndpoint;
@@ -25,7 +24,7 @@ use WooCommerce\PayPalCommerce\Onboarding\Render\OnboardingRenderer;
use WooCommerce\PayPalCommerce\Onboarding\OnboardingRESTController;
return array(
- 'api.sandbox-host' => static function ( ContainerInterface $container ): string {
+ 'api.sandbox-host' => static function ( ContainerInterface $container ): string {
$state = $container->get( 'onboarding.state' );
@@ -39,7 +38,7 @@ return array(
}
return CONNECT_WOO_SANDBOX_URL;
},
- 'api.production-host' => static function ( ContainerInterface $container ): string {
+ 'api.production-host' => static function ( ContainerInterface $container ): string {
$state = $container->get( 'onboarding.state' );
@@ -54,7 +53,7 @@ return array(
}
return CONNECT_WOO_URL;
},
- 'api.host' => static function ( ContainerInterface $container ): string {
+ 'api.host' => static function ( ContainerInterface $container ): string {
$environment = $container->get( 'onboarding.environment' );
/**
@@ -66,25 +65,7 @@ return array(
? (string) $container->get( 'api.sandbox-host' ) : (string) $container->get( 'api.production-host' );
},
- 'api.paypal-host-production' => static function( ContainerInterface $container ) : string {
- return PAYPAL_API_URL;
- },
- 'api.paypal-host-sandbox' => static function( ContainerInterface $container ) : string {
- return PAYPAL_SANDBOX_API_URL;
- },
- 'api.paypal-website-url-production' => static function( ContainerInterface $container ) : string {
- return PAYPAL_URL;
- },
- 'api.paypal-website-url-sandbox' => static function( ContainerInterface $container ) : string {
- return PAYPAL_SANDBOX_URL;
- },
- 'api.partner_merchant_id-production' => static function( ContainerInterface $container ) : string {
- return CONNECT_WOO_MERCHANT_ID;
- },
- 'api.partner_merchant_id-sandbox' => static function( ContainerInterface $container ) : string {
- return CONNECT_WOO_SANDBOX_MERCHANT_ID;
- },
- 'api.paypal-host' => function( ContainerInterface $container ) : string {
+ 'api.paypal-host' => function( ContainerInterface $container ) : string {
$environment = $container->get( 'onboarding.environment' );
/**
* The current environment.
@@ -97,7 +78,7 @@ return array(
return $container->get( 'api.paypal-host-production' );
},
- 'api.paypal-website-url' => function( ContainerInterface $container ) : string {
+ 'api.paypal-website-url' => function( ContainerInterface $container ) : string {
$environment = $container->get( 'onboarding.environment' );
assert( $environment instanceof Environment );
if ( $environment->current_environment_is( Environment::SANDBOX ) ) {
@@ -107,7 +88,7 @@ return array(
},
- 'api.bearer' => static function ( ContainerInterface $container ): Bearer {
+ 'api.bearer' => static function ( ContainerInterface $container ): Bearer {
$state = $container->get( 'onboarding.state' );
@@ -134,16 +115,16 @@ return array(
$settings
);
},
- 'onboarding.state' => function( ContainerInterface $container ) : State {
+ 'onboarding.state' => function( ContainerInterface $container ) : State {
$settings = $container->get( 'wcgateway.settings' );
return new State( $settings );
},
- 'onboarding.environment' => function( ContainerInterface $container ) : Environment {
+ 'onboarding.environment' => function( ContainerInterface $container ) : Environment {
$settings = $container->get( 'wcgateway.settings' );
return new Environment( $settings );
},
- 'onboarding.assets' => function( ContainerInterface $container ) : OnboardingAssets {
+ 'onboarding.assets' => function( ContainerInterface $container ) : OnboardingAssets {
$state = $container->get( 'onboarding.state' );
$login_seller_endpoint = $container->get( 'onboarding.endpoint.login-seller' );
return new OnboardingAssets(
@@ -156,14 +137,14 @@ return array(
);
},
- 'onboarding.url' => static function ( ContainerInterface $container ): string {
+ 'onboarding.url' => static function ( ContainerInterface $container ): string {
return plugins_url(
'/modules/ppcp-onboarding/',
dirname( realpath( __FILE__ ), 3 ) . '/woocommerce-paypal-payments.php'
);
},
- 'api.endpoint.login-seller-production' => static function ( ContainerInterface $container ) : LoginSeller {
+ 'api.endpoint.login-seller-production' => static function ( ContainerInterface $container ) : LoginSeller {
$logger = $container->get( 'woocommerce.logger.woocommerce' );
return new LoginSeller(
@@ -173,7 +154,7 @@ return array(
);
},
- 'api.endpoint.login-seller-sandbox' => static function ( ContainerInterface $container ) : LoginSeller {
+ 'api.endpoint.login-seller-sandbox' => static function ( ContainerInterface $container ) : LoginSeller {
$logger = $container->get( 'woocommerce.logger.woocommerce' );
return new LoginSeller(
@@ -183,7 +164,7 @@ return array(
);
},
- 'onboarding.endpoint.login-seller' => static function ( ContainerInterface $container ) : LoginSellerEndpoint {
+ 'onboarding.endpoint.login-seller' => static function ( ContainerInterface $container ) : LoginSellerEndpoint {
$request_data = $container->get( 'button.request-data' );
$login_seller_production = $container->get( 'api.endpoint.login-seller-production' );
@@ -203,7 +184,7 @@ return array(
new Cache( 'ppcp-client-credentials-cache' )
);
},
- 'onboarding.endpoint.pui' => static function( ContainerInterface $container ) : UpdateSignupLinksEndpoint {
+ 'onboarding.endpoint.pui' => static function( ContainerInterface $container ) : UpdateSignupLinksEndpoint {
return new UpdateSignupLinksEndpoint(
$container->get( 'wcgateway.settings' ),
$container->get( 'button.request-data' ),
@@ -213,26 +194,10 @@ return array(
$container->get( 'woocommerce.logger.woocommerce' )
);
},
- 'api.endpoint.partner-referrals-sandbox' => static function ( ContainerInterface $container ) : PartnerReferrals {
-
- return new PartnerReferrals(
- CONNECT_WOO_SANDBOX_URL,
- new ConnectBearer(),
- $container->get( 'woocommerce.logger.woocommerce' )
- );
- },
- 'api.endpoint.partner-referrals-production' => static function ( ContainerInterface $container ) : PartnerReferrals {
-
- return new PartnerReferrals(
- CONNECT_WOO_URL,
- new ConnectBearer(),
- $container->get( 'woocommerce.logger.woocommerce' )
- );
- },
- 'onboarding.signup-link-cache' => static function( ContainerInterface $container ): Cache {
+ 'onboarding.signup-link-cache' => static function( ContainerInterface $container ): Cache {
return new Cache( 'ppcp-paypal-signup-link' );
},
- 'onboarding.signup-link-ids' => static function ( ContainerInterface $container ): array {
+ 'onboarding.signup-link-ids' => static function ( ContainerInterface $container ): array {
return array(
'production-ppcp',
'production-express_checkout',
@@ -240,12 +205,12 @@ return array(
'sandbox-express_checkout',
);
},
- 'onboarding.render-send-only-notice' => static function( ContainerInterface $container ) {
+ 'onboarding.render-send-only-notice' => static function( ContainerInterface $container ) {
return new OnboardingSendOnlyNoticeRenderer(
$container->get( 'wcgateway.send-only-message' )
);
},
- 'onboarding.render' => static function ( ContainerInterface $container ) : OnboardingRenderer {
+ 'onboarding.render' => static function ( ContainerInterface $container ) : OnboardingRenderer {
$partner_referrals = $container->get( 'api.endpoint.partner-referrals-production' );
$partner_referrals_sandbox = $container->get( 'api.endpoint.partner-referrals-sandbox' );
$partner_referrals_data = $container->get( 'api.repository.partner-referrals-data' );
@@ -261,14 +226,14 @@ return array(
$logger
);
},
- 'onboarding.render-options' => static function ( ContainerInterface $container ) : OnboardingOptionsRenderer {
+ 'onboarding.render-options' => static function ( ContainerInterface $container ) : OnboardingOptionsRenderer {
return new OnboardingOptionsRenderer(
$container->get( 'onboarding.url' ),
$container->get( 'api.shop.country' ),
$container->get( 'wcgateway.settings' )
);
},
- 'onboarding.rest' => static function( $container ) : OnboardingRESTController {
+ 'onboarding.rest' => static function( $container ) : OnboardingRESTController {
return new OnboardingRESTController( $container );
},
);