Completed
Push — feature/eco-3656/eco-3658-enab... ( 85b20e...4f4220 )
by
unknown
04:19
created

ComputopBusinessFactory::createPaymentReader()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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