mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
Create a processor class to handle the authorized payments
This commit is contained in:
parent
0ccfc87d58
commit
8e4af5766e
4 changed files with 189 additions and 62 deletions
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Inpsyde\PayPalCommerce\WcGateway;
|
||||
|
@ -9,6 +10,8 @@ use Inpsyde\PayPalCommerce\WcGateway\Gateway\WcGateway;
|
|||
use Inpsyde\PayPalCommerce\WcGateway\Gateway\WcGatewayBase;
|
||||
use Inpsyde\PayPalCommerce\WcGateway\Notice\AuthorizeOrderActionNotice;
|
||||
use Inpsyde\PayPalCommerce\WcGateway\Notice\ConnectAdminNotice;
|
||||
use Inpsyde\PayPalCommerce\WcGateway\Processor\AuthorizedPaymentsProcessor;
|
||||
use Inpsyde\PayPalCommerce\WcGateway\Processor\Processor;
|
||||
use Inpsyde\PayPalCommerce\WcGateway\Settings\Settings;
|
||||
use Inpsyde\PayPalCommerce\WcGateway\Settings\SettingsFields;
|
||||
|
||||
|
@ -19,11 +22,21 @@ return [
|
|||
'wcgateway.gateway' => function (ContainerInterface $container) : WcGateway {
|
||||
$sessionHandler = $container->get('session.handler');
|
||||
$cartRepository = $container->get('api.repository.cart');
|
||||
// TODO eventuall get rid of the endpoints as the processor is sufficient
|
||||
$orderEndpoint = $container->get('api.endpoint.order');
|
||||
$paymentsEndpoint = $container->get('api.endpoint.payments');
|
||||
$orderFactory = $container->get('api.factory.order');
|
||||
$settingsFields = $container->get('wcgateway.settings.fields');
|
||||
return new WcGateway($sessionHandler, $cartRepository, $orderEndpoint, $paymentsEndpoint, $orderFactory, $settingsFields);
|
||||
$processor = $container->get('wcgateway.processor');
|
||||
return new WcGateway(
|
||||
$sessionHandler,
|
||||
$cartRepository,
|
||||
$orderEndpoint,
|
||||
$paymentsEndpoint,
|
||||
$orderFactory,
|
||||
$settingsFields,
|
||||
$processor
|
||||
);
|
||||
},
|
||||
'wcgateway.disabler' => function (ContainerInterface $container) : DisableGateways {
|
||||
$sessionHandler = $container->get('session.handler');
|
||||
|
@ -45,4 +58,13 @@ return [
|
|||
'wcgateway.settings.fields' => function (ContainerInterface $container): SettingsFields {
|
||||
return new SettingsFields();
|
||||
},
|
||||
'wcgateway.processor' => function (ContainerInterface $container): Processor {
|
||||
$authorizedPaymentsProcessor = $container->get('wcgateway.processor.authorized-payments');
|
||||
return new Processor($authorizedPaymentsProcessor);
|
||||
},
|
||||
'wcgateway.processor.authorized-payments' => function (ContainerInterface $container): AuthorizedPaymentsProcessor {
|
||||
$orderEndpoint = $container->get('api.endpoint.order');
|
||||
$paymentsEndpoint = $container->get('api.endpoint.payments');
|
||||
return new AuthorizedPaymentsProcessor($orderEndpoint, $paymentsEndpoint);
|
||||
},
|
||||
];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue