Code Duplication    Length = 14-14 lines in 3 locations

src/Services/Pay.php 3 locations

@@ 43-56 (lines=14) @@
40
        return $this->map($this->makeRequest('init', $parameters), new InitResponse());
41
    }
42
43
    public function card(array $params, int $merchantId, string $secretWord): CardResponse
44
    {
45
        $params['token'] = md5(
46
            $merchantId
47
            .($params['product_id'] ?? '')
48
            .($params['amount'] ?? '')
49
            .($params['cf'] ?? '')
50
            .($params['cf2'] ?? '')
51
            .($params['cf3'] ?? '')
52
            .($secretWord ?? '')
53
        );
54
55
        return $this->map($this->makeRequest('card', $params), new CardResponse());
56
    }
57
58
    public function cancel(array $params, int $merchantId, string $secretWord): CancelResponse
59
    {
@@ 92-105 (lines=14) @@
89
        return $this->map($this->makeRequest('complete-auth', $params), new CompleteAuthResponse());
90
    }
91
92
    public function cardInit(array $params, int $merchantId, string $secretWord): CardInitResponse
93
    {
94
        $params['token'] = md5(
95
            $merchantId
96
            .($params['product_id'] ?? '')
97
            .($params['amount'] ?? '')
98
            .($params['cf'] ?? '')
99
            .($params['cf2'] ?? '')
100
            .($params['cf3'] ?? '')
101
            .$secretWord
102
        );
103
104
        return $this->map($this->makeRequest('card-init', $params), new CardInitResponse());
105
    }
106
107
    public function p2p(array $params, int $merchantId, string $secretWord): P2PResponse
108
    {
@@ 107-120 (lines=14) @@
104
        return $this->map($this->makeRequest('card-init', $params), new CardInitResponse());
105
    }
106
107
    public function p2p(array $params, int $merchantId, string $secretWord): P2PResponse
108
    {
109
        $params['token'] = md5(
110
            $merchantId
111
            .($params['product_id'] ?? '')
112
            .($params['amount'] ?? '')
113
            .($params['cf'] ?? '')
114
            .($params['cf2'] ?? '')
115
            .($params['cf3'] ?? '')
116
            .$secretWord
117
        );
118
119
        return $this->map($this->makeRequest('p2p', $params), new P2PResponse());
120
    }
121
122
    public function recurrent(array $params, int $merchantId, string $secretWord): RecurrentResponse
123
    {