Passed
Push — feature/eco-3656/eco-3658-enab... ( da021b...202423 )
by
unknown
04:29
created

createQuoteDefaultShippingMethodExpander()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * MIT License
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\Computop\Business;
9
10
use Spryker\Zed\Kernel\Business\AbstractBusinessFactory;
11
use SprykerEco\Service\ComputopApi\ComputopApiServiceInterface;
12
use SprykerEco\Zed\Computop\Business\DefaultShippingMethodQuoteExpander\QuoteDefaultShippingMethodExpander;
13
use SprykerEco\Zed\Computop\Business\DefaultShippingMethodQuoteExpander\QuoteDefaultShippingMethodExpanderInterface;
14
use SprykerEco\Zed\Computop\Business\Hook\ComputopPostSaveHook;
15
use SprykerEco\Zed\Computop\Business\Hook\ComputopPostSaveHookInterface;
16
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitCreditCardMapper;
17
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitDirectDebitMapper;
18
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitEasyCreditMapper;
19
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitIdealMapper;
20
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface;
21
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitPaydirektMapper;
22
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitPayNowMapper;
23
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitPayPalExpressMapper;
24
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitPayPalMapper;
25
use SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitSofortMapper;
26
use SprykerEco\Zed\Computop\Business\Logger\ComputopResponseLogger as ComputopLogger;
27
use SprykerEco\Zed\Computop\Business\Logger\LoggerInterface;
28
use SprykerEco\Zed\Computop\Business\Oms\Command\AuthorizeCommandHandler;
29
use SprykerEco\Zed\Computop\Business\Oms\Command\CancelCommandHandler;
30
use SprykerEco\Zed\Computop\Business\Oms\Command\CaptureCommandHandler;
31
use SprykerEco\Zed\Computop\Business\Oms\Command\CommandHandlerInterface;
32
use SprykerEco\Zed\Computop\Business\Oms\Command\Manager\AuthorizeManager;
33
use SprykerEco\Zed\Computop\Business\Oms\Command\Manager\CancelManager;
34
use SprykerEco\Zed\Computop\Business\Oms\Command\Manager\CancelManagerInterface;
35
use SprykerEco\Zed\Computop\Business\Oms\Command\Manager\CaptureManager;
36
use SprykerEco\Zed\Computop\Business\Oms\Command\Manager\ManagerInterface;
37
use SprykerEco\Zed\Computop\Business\Oms\Command\Manager\RefundManager;
38
use SprykerEco\Zed\Computop\Business\Oms\Command\RefundCommandHandler;
39
use SprykerEco\Zed\Computop\Business\Order\ComputopBusinessOrderFactory;
40
use SprykerEco\Zed\Computop\Business\Order\ComputopBusinessOrderFactoryInterface;
41
use SprykerEco\Zed\Computop\Business\Order\OrderManager;
42
use SprykerEco\Zed\Computop\Business\Order\OrderManagerInterface;
43
use SprykerEco\Zed\Computop\Business\Payment\Handler\Logger\ComputopResponseLogger;
44
use SprykerEco\Zed\Computop\Business\Payment\Handler\Logger\ComputopResponseLoggerInterface;
45
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\AuthorizeHandler;
46
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\CaptureHandler;
47
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\EasyCreditAuthorizeHandler;
48
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface as PostPlaceHandlerInterface;
49
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\InquireHandler;
50
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\RefundHandler;
51
use SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\ReverseHandler;
52
use SprykerEco\Zed\Computop\Business\Payment\Handler\PrePlace\EasyCreditStatusHandler;
53
use SprykerEco\Zed\Computop\Business\Payment\Handler\PrePlace\PrePlaceHandlerInterface;
54
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\AuthorizeSaver;
55
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\CaptureSaver;
56
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Complete\CompleteResponseSaverInterface;
57
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Complete\PayPalExpressCompleteResponseSaver;
58
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\CreditCardResponseSaver;
59
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\DirectDebitResponseSaver;
60
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\EasyCreditResponseSaver;
61
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\IdealResponseSaver;
62
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface;
63
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\PaydirektResponseSaver;
64
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\PayNowResponseSaver;
65
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\PayPalExpressResponseSaver;
66
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\PayPalResponseSaver;
67
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\SofortResponseSaver;
68
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\InquireSaver;
69
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\RefundSaver;
70
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\ReverseSaver;
71
use SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\SaverInterface;
72
use SprykerEco\Zed\Computop\Business\Payment\PaymentMethodFilter;
73
use SprykerEco\Zed\Computop\Business\Payment\PaymentMethodFilterInterface;
74
use SprykerEco\Zed\Computop\Business\Payment\Reader\ComputopPaymentReader;
75
use SprykerEco\Zed\Computop\Business\Payment\Reader\ComputopPaymentReaderInterface;
76
use SprykerEco\Zed\Computop\Business\Processor\NotificationProcessor;
77
use SprykerEco\Zed\Computop\Business\Processor\NotificationProcessorInterface;
78
use SprykerEco\Zed\Computop\Business\RiskCheck\Handler\CrifHandler;
79
use SprykerEco\Zed\Computop\Business\RiskCheck\Handler\HandlerInterface;
80
use SprykerEco\Zed\Computop\Business\RiskCheck\Saver\CrifSaver;
81
use SprykerEco\Zed\Computop\Business\RiskCheck\Saver\RiskCheckSaverInterface;
82
use SprykerEco\Zed\Computop\ComputopDependencyProvider;
83
use SprykerEco\Zed\Computop\Dependency\ComputopToStoreInterface;
84
use SprykerEco\Zed\Computop\Dependency\Facade\ComputopToComputopApiFacadeInterface;
85
use SprykerEco\Zed\Computop\Dependency\Facade\ComputopToMessengerFacadeInterface;
86
use SprykerEco\Zed\Computop\Dependency\Facade\ComputopToMoneyFacadeInterface;
87
use SprykerEco\Zed\Computop\Dependency\Facade\ComputopToOmsFacadeInterface;
88
89
/**
90
 * @method \SprykerEco\Zed\Computop\ComputopConfig getConfig()
91
 * @method \SprykerEco\Zed\Computop\Persistence\ComputopQueryContainerInterface getQueryContainer()
92
 * @method \SprykerEco\Zed\Computop\Persistence\ComputopEntityManagerInterface getEntityManager()
93
 */
94
class ComputopBusinessFactory extends AbstractBusinessFactory
95
{
96
    /**
97
     * @return \SprykerEco\Zed\Computop\Business\Order\OrderManagerInterface
98
     */
99
    public function createOrderSaver(): OrderManagerInterface
100
    {
101
        $orderSaver = new OrderManager($this->getConfig());
102
103
        $orderSaver->registerMapper($this->createOrderFactory()->createInitCreditCardMapper());
104
        $orderSaver->registerMapper($this->createOrderFactory()->createInitPayNowMapper());
105
        $orderSaver->registerMapper($this->createOrderFactory()->createInitPayPalMapper());
106
        $orderSaver->registerMapper($this->createOrderFactory()->createPayPalExpressMapper());
107
        $orderSaver->registerMapper($this->createOrderFactory()->createInitDirectDebitMapper());
108
        $orderSaver->registerMapper($this->createOrderFactory()->createInitSofortMapper());
109
        $orderSaver->registerMapper($this->createOrderFactory()->createInitPaydirektMapper());
110
        $orderSaver->registerMapper($this->createOrderFactory()->createInitIdealMapper());
111
        $orderSaver->registerMapper($this->createOrderFactory()->createInitEasyCreditMapper());
112
113
        return $orderSaver;
114
    }
115
116
    /**
117
     * @return \SprykerEco\Zed\Computop\Business\Hook\ComputopPostSaveHookInterface
118
     */
119
    public function createPostSaveHook(): ComputopPostSaveHookInterface
120
    {
121
        $postSaveHook = new ComputopPostSaveHook($this->getConfig());
122
        $postSaveHook->registerMapper($this->createPostSaveSofortMapper());
123
        $postSaveHook->registerMapper($this->createPostSavePaydirektMapper());
124
        $postSaveHook->registerMapper($this->createPostSaveIdealMapper());
125
        $postSaveHook->registerMapper($this->createPostSaveCreditCart());
126
        $postSaveHook->registerMapper($this->createPostSavePayNowMapper());
127
        $postSaveHook->registerMapper($this->createPostSavePayPal());
128
        $postSaveHook->registerMapper($this->createPostSavePayPalExpress());
129
        $postSaveHook->registerMapper($this->createPostSaveDirectDebit());
130
        $postSaveHook->registerMapper($this->createPostSaveEasyCredit());
131
132
        return $postSaveHook;
133
    }
134
135
    /**
136
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
137
     */
138
    public function createSofortResponseSaver(): InitResponseSaverInterface
139
    {
140
        return new SofortResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
141
    }
142
143
    /**
144
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
145
     */
146
    public function createIdealResponseSaver(): InitResponseSaverInterface
147
    {
148
        return new IdealResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
149
    }
150
151
    /**
152
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
153
     */
154
    public function createPaydirektResponseSaver(): InitResponseSaverInterface
155
    {
156
        return new PaydirektResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
157
    }
158
159
    /**
160
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
161
     */
162
    public function createCreditCardResponseSaver(): InitResponseSaverInterface
163
    {
164
        return new CreditCardResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
165
    }
166
167
    /**
168
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
169
     */
170
    public function createPayNowResponseSaver(): InitResponseSaverInterface
171
    {
172
        return new PayNowResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
173
    }
174
175
    /**
176
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
177
     */
178
    public function createPayPalResponseSaver(): InitResponseSaverInterface
179
    {
180
        return new PayPalResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
181
    }
182
183
    /**
184
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
185
     */
186
    public function createPayPalExpressResponseSaver(): InitResponseSaverInterface
187
    {
188
        return new PayPalExpressResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
189
    }
190
191
    /**
192
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Complete\CompleteResponseSaverInterface
193
     */
194
    public function createPayPalExpressCompleteResponseSaver(): CompleteResponseSaverInterface
195
    {
196
        return new PayPalExpressCompleteResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
197
    }
198
199
    /**
200
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
201
     */
202
    public function createDirectDebitResponseSaver(): InitResponseSaverInterface
203
    {
204
        return new DirectDebitResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
205
    }
206
207
    /**
208
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\Init\InitResponseSaverInterface
209
     */
210
    public function createEasyCreditResponseSaver(): InitResponseSaverInterface
211
    {
212
        return new EasyCreditResponseSaver($this->getQueryContainer(), $this->getOmsFacade(), $this->getConfig());
213
    }
214
215
    /**
216
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Logger\ComputopResponseLoggerInterface
217
     */
218
    public function createComputopResponseLogger(): ComputopResponseLoggerInterface
219
    {
220
        return new ComputopResponseLogger();
221
    }
222
223
    /**
224
     * @return \SprykerEco\Zed\Computop\Dependency\ComputopToStoreInterface
225
     */
226
    public function getStore(): ComputopToStoreInterface
227
    {
228
        return $this->getProvidedDependency(ComputopDependencyProvider::STORE);
229
    }
230
231
    /**
232
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\CommandHandlerInterface
233
     */
234
    public function createAuthorizeCommandHandler(): CommandHandlerInterface
235
    {
236
        return new AuthorizeCommandHandler(
237
            $this->createAuthorizeHandler(),
238
            $this->createAuthorizeManager()
239
        );
240
    }
241
242
    /**
243
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\CommandHandlerInterface
244
     */
245
    public function createCancelCommandHandler(): CommandHandlerInterface
246
    {
247
        return new CancelCommandHandler(
248
            $this->createInquireHandler(),
249
            $this->createReverseHandler(),
250
            $this->createCancelManager(),
251
            $this->getFlashMessengerFacade()
252
        );
253
    }
254
255
    /**
256
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\CommandHandlerInterface
257
     */
258
    public function createCaptureCommandHandler(): CommandHandlerInterface
259
    {
260
        return new CaptureCommandHandler(
261
            $this->createCaptureHandler(),
262
            $this->createCaptureManager()
263
        );
264
    }
265
266
    /**
267
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\CommandHandlerInterface
268
     */
269
    public function createRefundCommandHandler(): CommandHandlerInterface
270
    {
271
        return new RefundCommandHandler(
272
            $this->createRefundHandler(),
273
            $this->createRefundManager()
274
        );
275
    }
276
277
    /**
278
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\CommandHandlerInterface
279
     */
280
    public function createEasyCreditAuthorizeCommandHandler(): CommandHandlerInterface
281
    {
282
        return new AuthorizeCommandHandler(
283
            $this->createEasyCreditAuthorizeHandler(),
284
            $this->createAuthorizeManager()
285
        );
286
    }
287
288
    /**
289
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PrePlace\PrePlaceHandlerInterface
290
     */
291
    public function createEasyCreditStatusHandler(): PrePlaceHandlerInterface
292
    {
293
        return new EasyCreditStatusHandler(
294
            $this->getComputopApiFacade(),
295
            $this->getMoneyFacade(),
296
            $this->createComputopResponseLogger()
297
        );
298
    }
299
300
    /**
301
     * @return \SprykerEco\Zed\Computop\Business\RiskCheck\Handler\HandlerInterface
302
     */
303
    public function createCrifHandler(): HandlerInterface
304
    {
305
        return new CrifHandler(
306
            $this->getComputopApiFacade(),
307
            $this->createCrifSaver(),
308
            $this->getConfig()
309
        );
310
    }
311
312
    /**
313
     * @return \SprykerEco\Zed\Computop\Business\Logger\LoggerInterface
314
     */
315
    public function createComputopLogger(): LoggerInterface
316
    {
317
        return new ComputopLogger();
318
    }
319
320
    /**
321
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface
322
     */
323
    public function createEasyCreditAuthorizeHandler(): PostPlaceHandlerInterface
324
    {
325
        return new EasyCreditAuthorizeHandler(
326
            $this->getComputopApiFacade(),
327
            $this->createAuthorizeSaver()
328
        );
329
    }
330
331
    /**
332
     * @return \SprykerEco\Zed\Computop\Business\Payment\Reader\ComputopPaymentReaderInterface
333
     */
334
    public function createPaymentReader(): ComputopPaymentReaderInterface
335
    {
336
        return new ComputopPaymentReader($this->getQueryContainer());
337
    }
338
339
    /**
340
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface
341
     */
342
    public function createAuthorizeHandler(): PostPlaceHandlerInterface
343
    {
344
        return new AuthorizeHandler(
345
            $this->getComputopApiFacade(),
346
            $this->createAuthorizeSaver()
347
        );
348
    }
349
350
    /**
351
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface
352
     */
353
    public function createReverseHandler(): PostPlaceHandlerInterface
354
    {
355
        return new ReverseHandler(
356
            $this->getComputopApiFacade(),
357
            $this->createReverseSaver()
358
        );
359
    }
360
361
    /**
362
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface
363
     */
364
    public function createInquireHandler(): PostPlaceHandlerInterface
365
    {
366
        return new InquireHandler(
367
            $this->getComputopApiFacade(),
368
            $this->createInquireSaver()
369
        );
370
    }
371
372
    /**
373
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface
374
     */
375
    public function createCaptureHandler(): PostPlaceHandlerInterface
376
    {
377
        return new CaptureHandler(
378
            $this->getComputopApiFacade(),
379
            $this->createCaptureSaver()
380
        );
381
    }
382
383
    /**
384
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\PostPlace\HandlerInterface
385
     */
386
    public function createRefundHandler(): PostPlaceHandlerInterface
387
    {
388
        return new RefundHandler(
389
            $this->getComputopApiFacade(),
390
            $this->createRefundSaver()
391
        );
392
    }
393
394
    /**
395
     * @return \SprykerEco\Zed\Computop\Business\RiskCheck\Saver\RiskCheckSaverInterface
396
     */
397
    public function createCrifSaver(): RiskCheckSaverInterface
398
    {
399
        return new CrifSaver(
400
            $this->getQueryContainer(),
401
            $this->createComputopLogger(),
402
            $this->getConfig()
403
        );
404
    }
405
406
    /**
407
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\SaverInterface
408
     */
409
    public function createAuthorizeSaver(): SaverInterface
410
    {
411
        return new AuthorizeSaver(
412
            $this->getQueryContainer(),
413
            $this->createComputopResponseLogger(),
414
            $this->getConfig()
415
        );
416
    }
417
418
    /**
419
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\SaverInterface
420
     */
421
    public function createReverseSaver(): SaverInterface
422
    {
423
        return new ReverseSaver(
424
            $this->getQueryContainer(),
425
            $this->createComputopResponseLogger(),
426
            $this->getConfig()
427
        );
428
    }
429
430
    /**
431
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\SaverInterface
432
     */
433
    public function createInquireSaver(): SaverInterface
434
    {
435
        return new InquireSaver(
436
            $this->getQueryContainer(),
437
            $this->createComputopResponseLogger(),
438
            $this->getConfig()
439
        );
440
    }
441
442
    /**
443
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\SaverInterface
444
     */
445
    public function createCaptureSaver(): SaverInterface
446
    {
447
        return new CaptureSaver(
448
            $this->getQueryContainer(),
449
            $this->createComputopResponseLogger(),
450
            $this->getConfig()
451
        );
452
    }
453
454
    /**
455
     * @return \SprykerEco\Zed\Computop\Business\Payment\Handler\Saver\SaverInterface
456
     */
457
    public function createRefundSaver(): SaverInterface
458
    {
459
        return new RefundSaver(
460
            $this->getQueryContainer(),
461
            $this->createComputopResponseLogger(),
462
            $this->getConfig()
463
        );
464
    }
465
466
    /**
467
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\Manager\ManagerInterface
468
     */
469
    public function createAuthorizeManager(): ManagerInterface
470
    {
471
        return new AuthorizeManager($this->getQueryContainer(), $this->getConfig());
472
    }
473
474
    /**
475
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\Manager\CancelManagerInterface
476
     */
477
    public function createCancelManager(): CancelManagerInterface
478
    {
479
        return new CancelManager($this->getQueryContainer(), $this->getConfig());
480
    }
481
482
    /**
483
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\Manager\ManagerInterface
484
     */
485
    public function createCaptureManager(): ManagerInterface
486
    {
487
        return new CaptureManager($this->getQueryContainer(), $this->getConfig());
488
    }
489
490
    /**
491
     * @return \SprykerEco\Zed\Computop\Business\Oms\Command\Manager\ManagerInterface
492
     */
493
    public function createRefundManager(): ManagerInterface
494
    {
495
        return new RefundManager($this->getQueryContainer(), $this->getConfig());
496
    }
497
498
    /**
499
     * @return \SprykerEco\Zed\Computop\Business\Order\ComputopBusinessOrderFactoryInterface
500
     */
501
    public function createOrderFactory(): ComputopBusinessOrderFactoryInterface
502
    {
503
        return new ComputopBusinessOrderFactory();
504
    }
505
506
    /**
507
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
508
     */
509
    public function createPostSaveSofortMapper(): InitMapperInterface
510
    {
511
        return new InitSofortMapper($this->getConfig(), $this->getComputopApiService());
512
    }
513
514
    /**
515
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
516
     */
517
    public function createPostSaveCreditCart(): InitMapperInterface
518
    {
519
        return new InitCreditCardMapper($this->getConfig(), $this->getComputopApiService());
520
    }
521
522
    /**
523
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
524
     */
525
    public function createPostSavePayNowMapper(): InitMapperInterface
526
    {
527
        return new InitPayNowMapper($this->getConfig(), $this->getComputopApiService());
528
    }
529
530
    /**
531
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
532
     */
533
    public function createPostSavePayPal(): InitMapperInterface
534
    {
535
        return new InitPayPalMapper($this->getConfig(), $this->getComputopApiService());
536
    }
537
538
    /**
539
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
540
     */
541
    public function createPostSavePayPalExpress(): InitMapperInterface
542
    {
543
        return new InitPayPalExpressMapper($this->getConfig(), $this->getComputopApiService());
544
    }
545
546
    /**
547
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
548
     */
549
    public function createPostSaveDirectDebit(): InitMapperInterface
550
    {
551
        return new InitDirectDebitMapper($this->getConfig(), $this->getComputopApiService());
552
    }
553
554
    /**
555
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
556
     */
557
    public function createPostSaveEasyCredit(): InitMapperInterface
558
    {
559
        return new InitEasyCreditMapper($this->getConfig(), $this->getComputopApiService());
560
    }
561
562
    /**
563
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
564
     */
565
    public function createPostSavePaydirektMapper(): InitMapperInterface
566
    {
567
        return new InitPaydirektMapper($this->getConfig(), $this->getComputopApiService());
568
    }
569
570
    /**
571
     * @return \SprykerEco\Zed\Computop\Business\Hook\Mapper\Init\InitMapperInterface
572
     */
573
    public function createPostSaveIdealMapper(): InitMapperInterface
574
    {
575
        return new InitIdealMapper($this->getConfig(), $this->getComputopApiService());
576
    }
577
578
    /**
579
     * @return \SprykerEco\Zed\Computop\Business\Payment\PaymentMethodFilterInterface
580
     */
581
    public function createPaymentMethodFilter(): PaymentMethodFilterInterface
582
    {
583
        return new PaymentMethodFilter($this->getConfig());
584
    }
585
586
    /**
587
     * @return \SprykerEco\Zed\Computop\Business\Processor\NotificationProcessorInterface
588
     */
589
    public function createNotificationProcessor(): NotificationProcessorInterface
590
    {
591
        return new NotificationProcessor($this->getEntityManager());
592
    }
593
594
    /**
595
     * @return \SprykerEco\Service\ComputopApi\ComputopApiServiceInterface
596
     */
597
    public function getComputopApiService(): ComputopApiServiceInterface
598
    {
599
        return $this->getProvidedDependency(ComputopDependencyProvider::SERVICE_COMPUTOP_API);
600
    }
601
602
    /**
603
     * @return \SprykerEco\Zed\Computop\Dependency\Facade\ComputopToOmsFacadeInterface
604
     */
605
    public function getOmsFacade(): ComputopToOmsFacadeInterface
606
    {
607
        return $this->getProvidedDependency(ComputopDependencyProvider::FACADE_OMS);
608
    }
609
610
    /**
611
     * @return \SprykerEco\Zed\Computop\Dependency\Facade\ComputopToMessengerFacadeInterface
612
     */
613
    public function getFlashMessengerFacade(): ComputopToMessengerFacadeInterface
614
    {
615
        return $this->getProvidedDependency(ComputopDependencyProvider::FACADE_FLASH_MESSENGER);
616
    }
617
618
    /**
619
     * @return \SprykerEco\Zed\Computop\Dependency\Facade\ComputopToMoneyFacadeInterface
620
     */
621
    public function getMoneyFacade(): ComputopToMoneyFacadeInterface
622
    {
623
        return $this->getProvidedDependency(ComputopDependencyProvider::FACADE_MONEY);
624
    }
625
626
    /**
627
     * @return \SprykerEco\Zed\Computop\Dependency\Facade\ComputopToComputopApiFacadeInterface
628
     */
629
    public function getComputopApiFacade(): ComputopToComputopApiFacadeInterface
630
    {
631
        return $this->getProvidedDependency(ComputopDependencyProvider::FACADE_COMPUTOP_API);
632
    }
633
634
    /**
635
     * @return \SprykerEco\Zed\Computop\Business\DefaultShippingMethodQuoteExpander\QuoteDefaultShippingMethodExpanderInterface
636
     */
637
    public function createQuoteDefaultShippingMethodExpander(): QuoteDefaultShippingMethodExpanderInterface
638
    {
639
        return new QuoteDefaultShippingMethodExpander(
640
            $this->getConfig(),
641
            $this->getProvidedDependency(ComputopDependencyProvider::FACADE_SHIPMENT)
642
        );
643
    }
644
}
645