diff --git a/modules/ppcp-vaulting/services.php b/modules/ppcp-vaulting/services.php index 4b46e3197..1eea5810a 100644 --- a/modules/ppcp-vaulting/services.php +++ b/modules/ppcp-vaulting/services.php @@ -35,7 +35,8 @@ return array( 'vaulting.endpoint.delete' => function( $container ) : DeletePaymentTokenEndpoint { return new DeletePaymentTokenEndpoint( $container->get( 'vaulting.repository.payment-token' ), - $container->get( 'button.request-data' ) + $container->get( 'button.request-data' ), + $container->get( 'woocommerce.logger.woocommerce' ) ); }, ); diff --git a/modules/ppcp-vaulting/src/Endpoint/class-deletepaymenttokenendpoint.php b/modules/ppcp-vaulting/src/Endpoint/class-deletepaymenttokenendpoint.php index 35301b569..d6a232942 100644 --- a/modules/ppcp-vaulting/src/Endpoint/class-deletepaymenttokenendpoint.php +++ b/modules/ppcp-vaulting/src/Endpoint/class-deletepaymenttokenendpoint.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace WooCommerce\PayPalCommerce\Vaulting\Endpoint; use Exception; +use Psr\Log\LoggerInterface; use WooCommerce\PayPalCommerce\Button\Endpoint\RequestData; use WooCommerce\PayPalCommerce\Vaulting\PaymentTokenRepository; @@ -34,15 +35,24 @@ class DeletePaymentTokenEndpoint { */ protected $request_data; + /** + * The logger. + * + * @var LoggerInterface + */ + protected $logger; + /** * DeletePaymentTokenEndpoint constructor. * * @param PaymentTokenRepository $repository The repository. * @param RequestData $request_data The request data. + * @param LoggerInterface $logger The logger. */ - public function __construct( PaymentTokenRepository $repository, RequestData $request_data ) { + public function __construct( PaymentTokenRepository $repository, RequestData $request_data, LoggerInterface $logger ) { $this->repository = $repository; $this->request_data = $request_data; + $this->logger = $logger; } /** @@ -76,6 +86,7 @@ class DeletePaymentTokenEndpoint { } } } catch ( Exception $error ) { + $this->logger->error( 'Failed to delete payment: ' . $error->getMessage() ); wp_send_json_error( $error->getMessage(), 403 ); return false; } diff --git a/modules/ppcp-vaulting/src/class-vaultingmodule.php b/modules/ppcp-vaulting/src/class-vaultingmodule.php index 2b6c010c6..30af2424c 100644 --- a/modules/ppcp-vaulting/src/class-vaultingmodule.php +++ b/modules/ppcp-vaulting/src/class-vaultingmodule.php @@ -106,7 +106,7 @@ class VaultingModule implements ModuleInterface { */ private function is_payments_page(): bool { global $wp; - $request = explode( '/', $wp->request ); + $request = explode( '/', wp_parse_url( $wp->request, PHP_URL_PATH ) ); if ( end( $request ) === 'ppcp-paypal-payment-tokens' ) { return true; }