Passed
Pull Request — dev (#9)
by Andrey
07:30 queued 03:53
created

IpnFactory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 58
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createIpnRequestLogger() 0 3 1
A __construct() 0 10 1
A createIpnRequestFactory() 0 7 1
1
<?php
2
3
/**
4
 * Apache OSL-2
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\AmazonPay\Business\Payment\Handler\Ipn;
9
10
use SprykerEco\Zed\AmazonPay\Business\Order\RefundOrderInterface;
11
use SprykerEco\Zed\AmazonPay\Business\Payment\Handler\Ipn\Logger\IpnRequestLogger;
12
use SprykerEco\Zed\AmazonPay\Dependency\Facade\AmazonPayToOmsInterface;
13
use SprykerEco\Zed\AmazonPay\Dependency\Facade\AmazonPayToUtilEncodingInterface;
14
use SprykerEco\Zed\AmazonPay\Persistence\AmazonPayQueryContainerInterface;
15
16
class IpnFactory implements IpnFactoryInterface
17
{
18
    /**
19
     * @var \SprykerEco\Zed\AmazonPay\Dependency\Facade\AmazonPayToOmsInterface
20
     */
21
    protected $omsFacade;
22
23
    /**
24
     * @var \SprykerEco\Zed\AmazonPay\Persistence\AmazonPayQueryContainerInterface
25
     */
26
    protected $amazonpayQueryContainer;
27
28
    /**
29
     * @var \SprykerEco\Zed\AmazonPay\Dependency\Facade\AmazonPayToUtilEncodingInterface
30
     */
31
    protected $encodingService;
32
33
    /**
34
     * @var \SprykerEco\Zed\AmazonPay\Business\Order\RefundOrderInterface
35
     */
36
    protected $refundOrderModel;
37
38
    /**
39
     * @param \SprykerEco\Zed\AmazonPay\Dependency\Facade\AmazonPayToOmsInterface $omsFacade
40
     * @param \SprykerEco\Zed\AmazonPay\Persistence\AmazonPayQueryContainerInterface $amazonpayQueryContainer
41
     * @param \SprykerEco\Zed\AmazonPay\Dependency\Facade\AmazonPayToUtilEncodingInterface $amazonpayToUtilEncoding
42
     * @param \SprykerEco\Zed\AmazonPay\Business\Order\RefundOrderInterface $refundOrderModel
43
     */
44
    public function __construct(
45
        AmazonPayToOmsInterface $omsFacade,
46
        AmazonPayQueryContainerInterface $amazonpayQueryContainer,
47
        AmazonPayToUtilEncodingInterface $amazonpayToUtilEncoding,
48
        RefundOrderInterface $refundOrderModel
49
    ) {
50
        $this->omsFacade = $omsFacade;
51
        $this->amazonpayQueryContainer = $amazonpayQueryContainer;
52
        $this->encodingService = $amazonpayToUtilEncoding;
53
        $this->refundOrderModel = $refundOrderModel;
54
    }
55
56
    /**
57
     * @return \SprykerEco\Zed\AmazonPay\Business\Payment\Handler\Ipn\Logger\IpnRequestLoggerInterface
58
     */
59
    public function createIpnRequestLogger()
60
    {
61
        return new IpnRequestLogger($this->encodingService);
62
    }
63
64
    /**
65
     * @return \SprykerEco\Zed\AmazonPay\Business\Payment\Handler\Ipn\IpnRequestFactoryInterface
66
     */
67
    public function createIpnRequestFactory()
68
    {
69
        return new IpnRequestFactory(
70
            $this->omsFacade,
71
            $this->amazonpayQueryContainer,
72
            $this->createIpnRequestLogger(),
73
            $this->refundOrderModel
74
        );
75
    }
76
}
77