Log order data on order does not contain intent error

This commit is contained in:
Emili Castells Guasch 2023-07-10 12:32:31 +02:00
parent 5a0b0b41a9
commit 08a2b15fcb
2 changed files with 16 additions and 2 deletions

View file

@ -361,12 +361,14 @@ return array(
$application_context_repository = $container->get( 'api.repository.application-context' ); $application_context_repository = $container->get( 'api.repository.application-context' );
$application_context_factory = $container->get( 'api.factory.application-context' ); $application_context_factory = $container->get( 'api.factory.application-context' );
$payment_source_factory = $container->get( 'api.factory.payment-source' ); $payment_source_factory = $container->get( 'api.factory.payment-source' );
$logger = $container->get( 'woocommerce.logger.woocommerce' );
return new OrderFactory( return new OrderFactory(
$purchase_unit_factory, $purchase_unit_factory,
$payer_factory, $payer_factory,
$application_context_repository, $application_context_repository,
$application_context_factory, $application_context_factory,
$payment_source_factory $payment_source_factory,
$logger
); );
}, },
'api.factory.payments' => static function ( ContainerInterface $container ): PaymentsFactory { 'api.factory.payments' => static function ( ContainerInterface $container ): PaymentsFactory {

View file

@ -9,6 +9,7 @@ declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\ApiClient\Factory; namespace WooCommerce\PayPalCommerce\ApiClient\Factory;
use Psr\Log\LoggerInterface;
use WooCommerce\PayPalCommerce\ApiClient\Entity\Order; use WooCommerce\PayPalCommerce\ApiClient\Entity\Order;
use WooCommerce\PayPalCommerce\ApiClient\Entity\OrderStatus; use WooCommerce\PayPalCommerce\ApiClient\Entity\OrderStatus;
use WooCommerce\PayPalCommerce\ApiClient\Entity\PurchaseUnit; use WooCommerce\PayPalCommerce\ApiClient\Entity\PurchaseUnit;
@ -55,6 +56,13 @@ class OrderFactory {
*/ */
private $payment_source_factory; private $payment_source_factory;
/**
* The logger.
*
* @var LoggerInterface
*/
private LoggerInterface $logger;
/** /**
* OrderFactory constructor. * OrderFactory constructor.
* *
@ -63,13 +71,15 @@ class OrderFactory {
* @param ApplicationContextRepository $application_context_repository The Application Context repository. * @param ApplicationContextRepository $application_context_repository The Application Context repository.
* @param ApplicationContextFactory $application_context_factory The Application Context factory. * @param ApplicationContextFactory $application_context_factory The Application Context factory.
* @param PaymentSourceFactory $payment_source_factory The Payment Source factory. * @param PaymentSourceFactory $payment_source_factory The Payment Source factory.
* @param LoggerInterface $logger The logger.
*/ */
public function __construct( public function __construct(
PurchaseUnitFactory $purchase_unit_factory, PurchaseUnitFactory $purchase_unit_factory,
PayerFactory $payer_factory, PayerFactory $payer_factory,
ApplicationContextRepository $application_context_repository, ApplicationContextRepository $application_context_repository,
ApplicationContextFactory $application_context_factory, ApplicationContextFactory $application_context_factory,
PaymentSourceFactory $payment_source_factory PaymentSourceFactory $payment_source_factory,
LoggerInterface $logger
) { ) {
$this->purchase_unit_factory = $purchase_unit_factory; $this->purchase_unit_factory = $purchase_unit_factory;
@ -77,6 +87,7 @@ class OrderFactory {
$this->application_context_repository = $application_context_repository; $this->application_context_repository = $application_context_repository;
$this->application_context_factory = $application_context_factory; $this->application_context_factory = $application_context_factory;
$this->payment_source_factory = $payment_source_factory; $this->payment_source_factory = $payment_source_factory;
$this->logger = $logger;
} }
/** /**
@ -128,6 +139,7 @@ class OrderFactory {
); );
} }
if ( ! isset( $order_data->intent ) ) { if ( ! isset( $order_data->intent ) ) {
$this->logger->info(wc_print_r($order_data, true));
throw new RuntimeException( throw new RuntimeException(
__( 'Order does not contain intent.', 'woocommerce-paypal-payments' ) __( 'Order does not contain intent.', 'woocommerce-paypal-payments' )
); );