Completed
Push — feature/eco-3656/eco-3658-enab... ( 4f4220...78bea4 )
by
unknown
04:14
created

createPostSavePayPalExpress()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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