processExternalEasyCreditPaymentResponse()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 10
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Client\Heidelpay\Zed;
9
10
use Generated\Shared\Transfer\HeidelpayAuthorizeTransactionLogRequestTransfer;
11
use Generated\Shared\Transfer\HeidelpayCreditCardPaymentOptionsTransfer;
12
use Generated\Shared\Transfer\HeidelpayCreditCardRegistrationTransfer;
13
use Generated\Shared\Transfer\HeidelpayDirectDebitPaymentOptionsTransfer;
14
use Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer;
15
use Generated\Shared\Transfer\HeidelpayExternalPaymentRequestTransfer;
16
use Generated\Shared\Transfer\HeidelpayNotificationTransfer;
17
use Generated\Shared\Transfer\HeidelpayPaymentProcessingResponseTransfer;
18
use Generated\Shared\Transfer\HeidelpayRegistrationByIdAndQuoteRequestTransfer;
19
use Generated\Shared\Transfer\HeidelpayRegistrationRequestTransfer;
20
use Generated\Shared\Transfer\HeidelpayRegistrationSaveResponseTransfer;
21
use Generated\Shared\Transfer\HeidelpayResponseTransfer;
22
use Generated\Shared\Transfer\HeidelpayTransactionLogTransfer;
23
use Generated\Shared\Transfer\QuoteTransfer;
24
use Spryker\Client\ZedRequest\Stub\ZedRequestStub;
25
26
class HeidelpayStub extends ZedRequestStub implements HeidelpayStubInterface
27
{
28
    protected const ZED_GET_AUTHORIZE_TRANSACTION_LOG = '/heidelpay/gateway/get-authorize-transaction-log';
29
    protected const ZED_GET_CREDIT_CARD_PAYMENT_OPTIONS = '/heidelpay/gateway/get-credit-card-payment-options';
30
    protected const ZED_GET_DIRECT_DEBIT_PAYMENT_OPTIONS = '/heidelpay/gateway/get-direct-debit-payment-options';
31
    protected const ZED_GET_PROCESS_EXTERNAL_PAYMENT_RESPONSE = '/heidelpay/gateway/process-external-payment-response';
32
    protected const ZED_GET_SAVE_CREDIT_CARD_REGISTRATION = '/heidelpay/gateway/save-credit-card-registration';
33
    protected const ZED_GET_SAVE_DIRECT_DEBIT_REGISTRATION = '/heidelpay/gateway/save-direct-debit-registration';
34
    protected const ZED_GET_FIND_CREDIT_CARD_REGISTRATION = '/heidelpay/gateway/find-credit-card-registration';
35
    protected const ZED_GET_RETRIEVE_DIRECT_DEBIT_REGISTRATION = '/heidelpay/gateway/retrieve-direct-debit-registration';
36
    protected const ZED_SEND_EASYCREDIT_INITIALIZE_REQUEST = '/heidelpay/gateway/easycredit-initialize-payment';
37
    protected const ZED_GET_AUTHORIZE_ON_REGISTRATION_TRANSACTION_LOG = '/heidelpay/gateway/get-authorize-on-registration-transaction-log';
38
    protected const ZED_GET_PROCESS_EXTERNAL_EASY_CREDIT_PAYMENT_RESPONSE = '/heidelpay/gateway/process-external-easy-credit-payment-response';
39
    protected const ZED_PROCESS_NOTIFICATION = '/heidelpay/gateway/process-notification';
40
41
    /**
42
     * @param string $orderReference
43
     *
44
     * @return \Generated\Shared\Transfer\HeidelpayTransactionLogTransfer
45
     */
46
    public function getAuthorizeTransactionLogByOrderReference(string $orderReference): HeidelpayTransactionLogTransfer
47
    {
48
        /** @var \Generated\Shared\Transfer\HeidelpayTransactionLogTransfer $heidelpayTransactionLogTransfer */
49
        $heidelpayTransactionLogTransfer = $this->zedStub->call(
50
            static::ZED_GET_AUTHORIZE_TRANSACTION_LOG,
51
            $this->createAuthorizeTransactionLogRequestByOrderReference($orderReference)
52
        );
53
54
        return $heidelpayTransactionLogTransfer;
55
    }
56
57
    /**
58
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
59
     *
60
     * @return \Generated\Shared\Transfer\HeidelpayCreditCardPaymentOptionsTransfer
61
     */
62
    public function getCreditCardPaymentOptions(QuoteTransfer $quoteTransfer): HeidelpayCreditCardPaymentOptionsTransfer
63
    {
64
        /** @var \Generated\Shared\Transfer\HeidelpayCreditCardPaymentOptionsTransfer $heidelpayCreditCardPaymentOptionsTransfer */
65
        $heidelpayCreditCardPaymentOptionsTransfer = $this->zedStub->call(
66
            static::ZED_GET_CREDIT_CARD_PAYMENT_OPTIONS,
67
            $quoteTransfer
68
        );
69
70
        return $heidelpayCreditCardPaymentOptionsTransfer;
71
    }
72
73
    /**
74
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
75
     *
76
     * @return \Generated\Shared\Transfer\HeidelpayDirectDebitPaymentOptionsTransfer
77
     */
78
    public function getDirectDebitPaymentOptions(QuoteTransfer $quoteTransfer): HeidelpayDirectDebitPaymentOptionsTransfer
79
    {
80
        /** @var \Generated\Shared\Transfer\HeidelpayDirectDebitPaymentOptionsTransfer $heidelpayDirectDebitPaymentOptionsTransfer */
81
        $heidelpayDirectDebitPaymentOptionsTransfer = $this->zedStub->call(
82
            static::ZED_GET_DIRECT_DEBIT_PAYMENT_OPTIONS,
83
            $quoteTransfer
84
        );
85
86
        return $heidelpayDirectDebitPaymentOptionsTransfer;
87
    }
88
89
    /**
90
     * @param \Generated\Shared\Transfer\HeidelpayExternalPaymentRequestTransfer $externalPaymentRequestTransfer
91
     *
92
     * @return \Generated\Shared\Transfer\HeidelpayPaymentProcessingResponseTransfer
93
     */
94
    public function processExternalPaymentResponse(
95
        HeidelpayExternalPaymentRequestTransfer $externalPaymentRequestTransfer
96
    ): HeidelpayPaymentProcessingResponseTransfer {
97
        /** @var \Generated\Shared\Transfer\HeidelpayPaymentProcessingResponseTransfer $heidelpayPaymentProcessingResponseTransfer */
98
        $heidelpayPaymentProcessingResponseTransfer = $this->zedStub->call(
99
            static::ZED_GET_PROCESS_EXTERNAL_PAYMENT_RESPONSE,
100
            $externalPaymentRequestTransfer
101
        );
102
103
        return $heidelpayPaymentProcessingResponseTransfer;
104
    }
105
106
    /**
107
     * @param \Generated\Shared\Transfer\HeidelpayExternalPaymentRequestTransfer $externalPaymentRequestTransfer
108
     *
109
     * @return \Generated\Shared\Transfer\HeidelpayPaymentProcessingResponseTransfer
110
     */
111
    public function processExternalEasyCreditPaymentResponse(
112
        HeidelpayExternalPaymentRequestTransfer $externalPaymentRequestTransfer
113
    ): HeidelpayPaymentProcessingResponseTransfer {
114
        /** @var \Generated\Shared\Transfer\HeidelpayPaymentProcessingResponseTransfer $heidelpayPaymentProcessingResponseTransfer */
115
        $heidelpayPaymentProcessingResponseTransfer = $this->zedStub->call(
116
            static::ZED_GET_PROCESS_EXTERNAL_EASY_CREDIT_PAYMENT_RESPONSE,
117
            $externalPaymentRequestTransfer
118
        );
119
120
        return $heidelpayPaymentProcessingResponseTransfer;
121
    }
122
123
    /**
124
     * @param \Generated\Shared\Transfer\HeidelpayRegistrationRequestTransfer $registrationRequestTransfer
125
     *
126
     * @return \Generated\Shared\Transfer\HeidelpayRegistrationSaveResponseTransfer
127
     */
128
    public function saveCreditCardRegistration(
129
        HeidelpayRegistrationRequestTransfer $registrationRequestTransfer
130
    ): HeidelpayRegistrationSaveResponseTransfer {
131
        /** @var \Generated\Shared\Transfer\HeidelpayRegistrationSaveResponseTransfer $heidelpayRegistrationSaveResponseTransfer */
132
        $heidelpayRegistrationSaveResponseTransfer = $this->zedStub->call(
133
            static::ZED_GET_SAVE_CREDIT_CARD_REGISTRATION,
134
            $registrationRequestTransfer
135
        );
136
137
        return $heidelpayRegistrationSaveResponseTransfer;
138
    }
139
140
    /**
141
     * @param \Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer $directDebitRegistrationTransfer
142
     *
143
     * @return \Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer
144
     */
145
    public function saveDirectDebitRegistration(
146
        HeidelpayDirectDebitRegistrationTransfer $directDebitRegistrationTransfer
147
    ): HeidelpayDirectDebitRegistrationTransfer {
148
        /** @var \Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer $directDebitRegistrationTransfer */
149
        $directDebitRegistrationTransfer = $this->zedStub->call(
150
            static::ZED_GET_SAVE_DIRECT_DEBIT_REGISTRATION,
151
            $directDebitRegistrationTransfer
152
        );
153
154
        return $directDebitRegistrationTransfer;
155
    }
156
157
    /**
158
     * @param \Generated\Shared\Transfer\HeidelpayRegistrationByIdAndQuoteRequestTransfer $findRegistrationRequestTransfer
159
     *
160
     * @return \Generated\Shared\Transfer\HeidelpayCreditCardRegistrationTransfer|null
161
     */
162
    public function findCreditCardRegistrationByIdAndQuote(
163
        HeidelpayRegistrationByIdAndQuoteRequestTransfer $findRegistrationRequestTransfer
164
    ): ?HeidelpayCreditCardRegistrationTransfer {
165
        /** @var \Generated\Shared\Transfer\HeidelpayCreditCardRegistrationTransfer $heidelpayCreditCardRegistrationTransfer */
166
        $heidelpayCreditCardRegistrationTransfer = $this->zedStub->call(
167
            static::ZED_GET_FIND_CREDIT_CARD_REGISTRATION,
168
            $findRegistrationRequestTransfer
169
        );
170
171
        return $heidelpayCreditCardRegistrationTransfer;
172
    }
173
174
    /**
175
     * @param \Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer $directDebitRegistrationTransfer
176
     *
177
     * @return \Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer
178
     */
179
    public function retrieveDirectDebitRegistration(
180
        HeidelpayDirectDebitRegistrationTransfer $directDebitRegistrationTransfer
181
    ): HeidelpayDirectDebitRegistrationTransfer {
182
        /** @var \Generated\Shared\Transfer\HeidelpayDirectDebitRegistrationTransfer $directDebitRegistrationTransfer */
183
        $directDebitRegistrationTransfer = $this->zedStub->call(
184
            static::ZED_GET_RETRIEVE_DIRECT_DEBIT_REGISTRATION,
185
            $directDebitRegistrationTransfer
186
        );
187
188
        return $directDebitRegistrationTransfer;
189
    }
190
191
    /**
192
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
193
     *
194
     * @return \Generated\Shared\Transfer\HeidelpayResponseTransfer
195
     */
196
    public function sendEasycreditInitializeRequest(QuoteTransfer $quoteTransfer): HeidelpayResponseTransfer
197
    {
198
        /** @var \Generated\Shared\Transfer\HeidelpayResponseTransfer $heidelpayResponseTransfer */
199
        $heidelpayResponseTransfer = $this->zedStub->call(
200
            static::ZED_SEND_EASYCREDIT_INITIALIZE_REQUEST,
201
            $quoteTransfer
202
        );
203
204
        return $heidelpayResponseTransfer;
205
    }
206
207
    /**
208
     * @param \Generated\Shared\Transfer\HeidelpayNotificationTransfer $notificationTransfer
209
     *
210
     * @return \Generated\Shared\Transfer\HeidelpayNotificationTransfer
211
     */
212
    public function processNotification(HeidelpayNotificationTransfer $notificationTransfer): HeidelpayNotificationTransfer
213
    {
214
        /** @var \Generated\Shared\Transfer\HeidelpayNotificationTransfer $notificationTransfer */
215
        $notificationTransfer = $this->zedStub->call(
216
            static::ZED_PROCESS_NOTIFICATION,
217
            $notificationTransfer
218
        );
219
220
        return $notificationTransfer;
221
    }
222
223
    /**
224
     * @param string $orderReference
225
     *
226
     * @return \Generated\Shared\Transfer\HeidelpayAuthorizeTransactionLogRequestTransfer
227
     */
228
    protected function createAuthorizeTransactionLogRequestByOrderReference(
229
        string $orderReference
230
    ): HeidelpayAuthorizeTransactionLogRequestTransfer {
231
        $authorizeTransactionLogRequestTransfer = new HeidelpayAuthorizeTransactionLogRequestTransfer();
232
        $authorizeTransactionLogRequestTransfer->setOrderReference($orderReference);
233
234
        return $authorizeTransactionLogRequestTransfer;
235
    }
236
}
237