Passed
Push — feature/eco-2635-amazon-psd2-a... ( 8790e7...3a42c7 )
by Volodymyr
04:06
created

AmazonPayFacade::cancelOrder()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
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;
9
10
use Generated\Shared\Transfer\AmazonpayCallTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfer\AmazonpayCallTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
11
use Generated\Shared\Transfer\AmazonpayIpnPaymentRequestTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfe...nPaymentRequestTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
12
use Generated\Shared\Transfer\CheckoutResponseTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfer\CheckoutResponseTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
13
use Generated\Shared\Transfer\OrderTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfer\OrderTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
14
use Generated\Shared\Transfer\QuoteTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfer\QuoteTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
15
use Generated\Shared\Transfer\SaveOrderTransfer;
1 ignored issue
show
Bug introduced by
The type Generated\Shared\Transfer\SaveOrderTransfer was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
16
use Spryker\Zed\Kernel\Business\AbstractFacade;
17
18
/**
19
 * @api
20
 *
21
 * @method \SprykerEco\Zed\AmazonPay\Business\AmazonPayBusinessFactory getFactory()
22
 */
23
class AmazonPayFacade extends AbstractFacade implements AmazonPayFacadeInterface
24
{
25
    /**
26
     * {@inheritdoc}
27
     *
28
     * @api
29
     *
30
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
31
     *
32
     * @return \Generated\Shared\Transfer\QuoteTransfer
33
     */
34
    public function handleCartWithAmazonPay(QuoteTransfer $quoteTransfer)
35
    {
36
        return $this->getFactory()
37
            ->createQuoteUpdateFactory()
38
            ->createQuoteUpdaterCollection()
39
            ->update($quoteTransfer);
40
    }
41
42
    /**
43
     * {@inheritdoc}
44
     *
45
     * @api
46
     *
47
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
48
     *
49
     * @return \Generated\Shared\Transfer\QuoteTransfer
50
     */
51
    public function addSelectedAddressToQuote(QuoteTransfer $quoteTransfer)
52
    {
53
        return $this->getFactory()
54
            ->createQuoteUpdateFactory()
55
            ->createShippingAddressQuoteDataUpdater()
56
            ->update($quoteTransfer);
57
    }
58
59
    /**
60
     * {@inheritdoc}
61
     *
62
     * @api
63
     *
64
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
65
     *
66
     * @return \Generated\Shared\Transfer\QuoteTransfer
67
     */
68
    public function addSelectedShipmentMethodToQuote(QuoteTransfer $quoteTransfer)
69
    {
70
        return $this->getFactory()
71
            ->createQuoteUpdateFactory()
72
            ->createShipmentDataQuoteUpdater()
73
            ->update($quoteTransfer);
74
    }
75
76
    /**
77
     * {@inheritdoc}
78
     *
79
     * @api
80
     *
81
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
82
     *
83
     * @return \Generated\Shared\Transfer\QuoteTransfer
84
     */
85
    public function confirmPurchase(QuoteTransfer $quoteTransfer)
86
    {
87
        return $this->getFactory()
88
            ->createTransactionFactory()
89
            ->createConfirmPurchaseTransaction()
90
            ->execute($quoteTransfer);
91
    }
92
93
    /**
94
     * {@inheritdoc}
95
     *
96
     * @api
97
     *
98
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
99
     *
100
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
101
     */
102
    public function captureOrder(AmazonpayCallTransfer $amazonpayCallTransfer)
103
    {
104
        return $this->getFactory()
105
            ->createTransactionFactory()
106
            ->createCaptureAuthorizedTransaction()
107
            ->execute($amazonpayCallTransfer);
108
    }
109
110
    /**
111
     * {@inheritdoc}
112
     *
113
     * @api
114
     *
115
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
116
     *
117
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
118
     */
119
    public function cancelOrder(AmazonpayCallTransfer $amazonpayCallTransfer)
120
    {
121
        return $this->getFactory()
122
            ->createTransactionFactory()
123
            ->createCancelOrderTransactionSequence()
124
            ->execute($amazonpayCallTransfer);
125
    }
126
127
    /**
128
     * {@inheritdoc}
129
     *
130
     * @api
131
     *
132
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
133
     *
134
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
135
     */
136
    public function closeOrder(AmazonpayCallTransfer $amazonpayCallTransfer)
137
    {
138
        return $this->getFactory()
139
            ->createTransactionFactory()
140
            ->createCloseCapturedOrderTransaction()
141
            ->execute($amazonpayCallTransfer);
142
    }
143
144
    /**
145
     * {@inheritdoc}
146
     *
147
     * @api
148
     *
149
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
150
     *
151
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
152
     */
153
    public function refundOrder(AmazonpayCallTransfer $amazonpayCallTransfer)
154
    {
155
        return $this->getFactory()
156
            ->createTransactionFactory()
157
            ->createRefundOrderTransaction()
158
            ->execute($amazonpayCallTransfer);
159
    }
160
161
    /**
162
     * {@inheritdoc}
163
     *
164
     * @api
165
     *
166
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
167
     *
168
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
169
     */
170
    public function reauthorizeExpiredOrder(AmazonpayCallTransfer $amazonpayCallTransfer)
171
    {
172
        return $this->getFactory()
173
            ->createTransactionFactory()
174
            ->createReauthorizeExpiredOrderTransaction()
175
            ->execute($amazonpayCallTransfer);
176
    }
177
178
    /**
179
     * {@inheritdoc}
180
     *
181
     * @api
182
     *
183
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
184
     *
185
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
186
     */
187
    public function authorizeOrderItems(AmazonpayCallTransfer $amazonpayCallTransfer)
188
    {
189
        return $this->getFactory()
190
            ->createTransactionFactory()
191
            ->createAuthorizeTransaction()
192
            ->execute($amazonpayCallTransfer);
193
    }
194
195
    /**
196
     * {@inheritdoc}
197
     *
198
     * @api
199
     *
200
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
201
     *
202
     * @return \Generated\Shared\Transfer\QuoteTransfer
203
     */
204
    public function authorizeOrder(QuoteTransfer $quoteTransfer): QuoteTransfer
205
    {
206
        return $this->getFactory()
207
            ->createOrderAuthorizer()
208
            ->authorizeOrder($quoteTransfer);
209
    }
210
211
    /**
212
     * {@inheritdoc}
213
     *
214
     * @api
215
     *
216
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
217
     *
218
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
219
     */
220
    public function reauthorizeSuspendedOrder(AmazonpayCallTransfer $amazonpayCallTransfer)
221
    {
222
        return $this->getFactory()
223
            ->createTransactionFactory()
224
            ->createReauthorizeOrderTransaction()
225
            ->execute($amazonpayCallTransfer);
226
    }
227
228
    /**
229
     * @api
230
     *
231
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
232
     *
233
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
234
     */
235
    public function updateAuthorizationStatus(AmazonpayCallTransfer $amazonpayCallTransfer)
236
    {
237
        return $this->getFactory()
238
            ->createTransactionFactory()
239
            ->createUpdateOrderAuthorizationStatusTransaction()
240
            ->execute($amazonpayCallTransfer);
241
    }
242
243
    /**
244
     * {@inheritdoc}
245
     *
246
     * @api
247
     *
248
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
249
     *
250
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
251
     */
252
    public function updateCaptureStatus(AmazonpayCallTransfer $amazonpayCallTransfer)
253
    {
254
        return $this->getFactory()
255
            ->createTransactionFactory()
256
            ->createUpdateOrderCaptureStatusHandler()
257
            ->execute($amazonpayCallTransfer);
258
    }
259
260
    /**
261
     * {@inheritdoc}
262
     *
263
     * @api
264
     *
265
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
266
     *
267
     * @return \Generated\Shared\Transfer\AmazonpayCallTransfer
268
     */
269
    public function updateRefundStatus(AmazonpayCallTransfer $amazonpayCallTransfer)
270
    {
271
        return $this->getFactory()
272
            ->createTransactionFactory()
273
            ->createUpdateOrderRefundStatusTransaction()
274
            ->execute($amazonpayCallTransfer);
275
    }
276
277
    /**
278
     * {@inheritdoc}
279
     *
280
     * @api
281
     *
282
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
283
     * @param \Generated\Shared\Transfer\SaveOrderTransfer $saveOrderTransfer
284
     *
285
     * @return void
286
     */
287
    public function saveOrderPayment(
288
        QuoteTransfer $quoteTransfer,
289
        SaveOrderTransfer $saveOrderTransfer
290
    ) {
291
        $this->getFactory()
292
            ->createOrderSaver()
293
            ->saveOrderPayment($quoteTransfer, $saveOrderTransfer);
294
    }
295
296
    /**
297
     * {@inheritdoc}
298
     *
299
     * @api
300
     *
301
     * @param array $headers
302
     * @param string $body
303
     *
304
     * @return \Generated\Shared\Transfer\AmazonpayIpnPaymentRequestTransfer
305
     */
306
    public function convertAmazonPayIpnRequest(array $headers, $body)
307
    {
308
        return $this->getFactory()
309
            ->createAdapterFactory()
310
            ->createIpnRequestAdapter($headers, $body)
311
            ->getIpnRequest($body);
312
    }
313
314
    /**
315
     * {@inheritdoc}
316
     *
317
     * @api
318
     *
319
     * @param \Generated\Shared\Transfer\AmazonpayIpnPaymentRequestTransfer $ipnRequestTransfer
320
     *
321
     * @return void
322
     */
323
    public function handleAmazonPayIpnRequest(AmazonpayIpnPaymentRequestTransfer $ipnRequestTransfer)
324
    {
325
        $this->getFactory()
326
            ->createIpnFactory()
327
            ->createIpnRequestFactory()
328
            ->getConcreteIpnRequestHandler($ipnRequestTransfer)
329
            ->handle($ipnRequestTransfer);
330
    }
331
332
    /**
333
     * {@inheritdoc}
334
     *
335
     * @api
336
     *
337
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
338
     *
339
     * @return \Generated\Shared\Transfer\OrderTransfer
340
     */
341
    public function hydrateOrderInfo(OrderTransfer $orderTransfer)
342
    {
343
        return $this->getFactory()
344
            ->createAmazonpayOrderInfoHydrator()
345
            ->hydrateOrderInfo($orderTransfer);
346
    }
347
348
    /**
349
     * {@inheritdoc}
350
     *
351
     * @api
352
     *
353
     * @param \Generated\Shared\Transfer\AmazonpayCallTransfer $amazonpayCallTransfer
354
     * @param int[] $alreadyAffectedItems
355
     * @param string $eventName
356
     *
357
     * @return void
358
     */
359
    public function triggerEventForRelatedItems(AmazonpayCallTransfer $amazonpayCallTransfer, array $alreadyAffectedItems, $eventName)
360
    {
361
        $this->getFactory()
362
            ->createRelatedItemsUpdateModel()
363
            ->triggerEvent($amazonpayCallTransfer, $alreadyAffectedItems, $eventName);
364
    }
365
366
    /**
367
     * {@inheritdoc}
368
     *
369
     * @api
370
     *
371
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
372
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
373
     *
374
     * @return bool
375
     */
376
    public function placeOrder(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponseTransfer)
377
    {
378
        return $this->getFactory()
379
            ->createPlacement()
380
            ->placeOrder($quoteTransfer, $checkoutResponseTransfer);
381
    }
382
}
383