Passed
Pull Request — master (#34)
by Roman
06:02
created

BraintreeFacade::executeCheckoutPostSaveHook()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 2
dl 0
loc 5
rs 10
c 0
b 0
f 0
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\Zed\Braintree\Business;
9
10
use Generated\Shared\Transfer\BraintreeTransactionResponseTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfe...sactionResponseTransfer 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\CheckoutResponseTransfer;
0 ignored issues
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...
12
use Generated\Shared\Transfer\OrderTransfer;
0 ignored issues
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...
13
use Generated\Shared\Transfer\PaymentMethodsTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfer\PaymentMethodsTransfer 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;
0 ignored issues
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;
0 ignored issues
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 Generated\Shared\Transfer\TransactionMetaTransfer;
0 ignored issues
show
Bug introduced by
The type Generated\Shared\Transfer\TransactionMetaTransfer 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...
17
use Orm\Zed\Sales\Persistence\SpySalesOrder;
0 ignored issues
show
Bug introduced by
The type Orm\Zed\Sales\Persistence\SpySalesOrder 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...
18
use Spryker\Zed\Kernel\Business\AbstractFacade;
19
20
/**
21
 * @method \SprykerEco\Zed\Braintree\Business\BraintreeBusinessFactory getFactory()
22
 * @method \SprykerEco\Zed\Braintree\Persistence\BraintreeRepositoryInterface getRepository()
23
 * @method \SprykerEco\Zed\Braintree\Persistence\BraintreeEntityManagerInterface getEntityManager()
24
 */
25
class BraintreeFacade extends AbstractFacade implements BraintreeFacadeInterface
26
{
27
    /**
28
     * {@inheritDoc}
29
     *
30
     * @api
31
     *
32
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
33
     * @param \Generated\Shared\Transfer\SaveOrderTransfer $saveOrderTransfer
34
     *
35
     * @return void
36
     */
37
    public function saveOrderPayment(QuoteTransfer $quoteTransfer, SaveOrderTransfer $saveOrderTransfer)
38
    {
39
        $this->getFactory()
40
            ->createOrderSaver()
41
            ->saveOrderPayment($quoteTransfer, $saveOrderTransfer);
42
    }
43
44
    /**
45
     * {@inheritDoc}
46
     *
47
     * @api
48
     *
49
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
50
     *
51
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
52
     */
53
    public function preCheckPayment(QuoteTransfer $quoteTransfer)
54
    {
55
        return $this
56
            ->getFactory()
57
            ->createPreCheckTransactionHandler()
58
            ->preCheck($quoteTransfer);
59
    }
60
61
    /**
62
     * {@inheritDoc}
63
     *
64
     * @api
65
     *
66
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
67
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
68
     *
69
     * @return \Generated\Shared\Transfer\QuoteTransfer
70
     */
71
    public function createPayment(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponseTransfer)
72
    {
73
        return $this
74
            ->getFactory()
75
            ->createPaymentTransactionHandler()
76
            ->createPayment($quoteTransfer, $checkoutResponseTransfer);
77
    }
78
79
    /**
80
     * {@inheritDoc}
81
     *
82
     * @api
83
     *
84
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
85
     *
86
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
87
     */
88
    public function authorizePayment(TransactionMetaTransfer $transactionMetaTransfer)
89
    {
90
        return $this
91
            ->getFactory()
92
            ->createAuthorizeTransactionHandler()
93
            ->authorize($transactionMetaTransfer);
94
    }
95
96
    /**
97
     * {@inheritDoc}
98
     *
99
     * @api
100
     *
101
     * @deprecated Use `\SprykerEco\Zed\Braintree\Business\BraintreeFacadeInterface::captureOrderPayment()` instead.
102
     *
103
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
104
     *
105
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
106
     */
107
    public function capturePayment(TransactionMetaTransfer $transactionMetaTransfer)
108
    {
109
        return $this->captureOrderPayment($transactionMetaTransfer);
110
    }
111
112
    /**
113
     * {@inheritDoc}
114
     *
115
     * @api
116
     *
117
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
118
     *
119
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
120
     */
121
    public function revertPayment(TransactionMetaTransfer $transactionMetaTransfer)
122
    {
123
        return $this
124
            ->getFactory()
125
            ->createRevertTransactionHandler()
126
            ->revert($transactionMetaTransfer);
127
    }
128
129
    /**
130
     * {@inheritDoc}
131
     *
132
     * @api
133
     *
134
     * @deprecated Use `\SprykerEco\Zed\Braintree\Business\BraintreeFacadeInterface::refundOrderPayment()` instead.
135
     *
136
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $salesOrderItems
137
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
138
     *
139
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
140
     */
141
    public function refundPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity)
142
    {
143
        return $this->refundOrderPayment($salesOrderItems, $salesOrderEntity);
144
    }
145
146
    /**
147
     * {@inheritDoc}
148
     *
149
     * @api
150
     *
151
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $salesOrderItems
152
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
153
     *
154
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
155
     */
156
    public function refundOrderPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity): BraintreeTransactionResponseTransfer
157
    {
158
        return $this->getFactory()
159
            ->createRefundOrderTransactionHandler()
160
            ->refund($salesOrderItems, $salesOrderEntity);
161
    }
162
163
    /**
164
     * {@inheritDoc}
165
     *
166
     * @api
167
     *
168
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $salesOrderItems
169
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
170
     *
171
     * @return void
172
     */
173
    public function refundItemsPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity): void
174
    {
175
        $this->getFactory()
176
            ->createRefundItemsTransactionHandler()
177
            ->refund($salesOrderItems, $salesOrderEntity);
178
    }
179
180
    /**
181
     * {@inheritDoc}
182
     *
183
     * @api
184
     *
185
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
186
     *
187
     * @return bool
188
     */
189
    public function isAuthorizationApproved(OrderTransfer $orderTransfer)
190
    {
191
        return $this
192
            ->getFactory()
193
            ->createTransactionStatusLog()
194
            ->isAuthorizationApproved($orderTransfer);
195
    }
196
197
    /**
198
     * {@inheritDoc}
199
     *
200
     * @api
201
     *
202
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
203
     *
204
     * @return bool
205
     */
206
    public function isReversalApproved(OrderTransfer $orderTransfer)
207
    {
208
        return $this
209
            ->getFactory()
210
            ->createTransactionStatusLog()
211
            ->isReversalApproved($orderTransfer);
212
    }
213
214
    /**
215
     * {@inheritDoc}
216
     *
217
     * @api
218
     *
219
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
220
     *
221
     * @return bool
222
     */
223
    public function isCaptureApproved(OrderTransfer $orderTransfer)
224
    {
225
        return $this
226
            ->getFactory()
227
            ->createTransactionStatusLog()
228
            ->isCaptureApproved($orderTransfer);
229
    }
230
231
    /**
232
     * {@inheritDoc}
233
     *
234
     * @api
235
     *
236
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
237
     *
238
     * @return bool
239
     */
240
    public function isRefundApproved(OrderTransfer $orderTransfer)
241
    {
242
        return $this
243
            ->getFactory()
244
            ->createTransactionStatusLog()
245
            ->isRefundApproved($orderTransfer);
246
    }
247
248
    /**
249
     * {@inheritDoc}
250
     *
251
     * @api
252
     *
253
     * @deprecated Use `\SprykerEco\Zed\Braintree\Business\BraintreeFacadeInterface::checkoutPostSaveHook()` instead.
254
     *
255
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
256
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponse
257
     *
258
     * @return \Generated\Shared\Transfer\CheckoutResponseTransfer
259
     */
260
    public function postSaveHook(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponse)
261
    {
262
        return $this
263
            ->getFactory()
264
            ->createPostSaveHook()
265
            ->postSaveHook($quoteTransfer, $checkoutResponse);
266
    }
267
268
    /**
269
     * {@inheritDoc}
270
     *
271
     * @api
272
     *
273
     * @param \Generated\Shared\Transfer\PaymentMethodsTransfer $paymentMethodsTransfer
274
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
275
     *
276
     * @return \Generated\Shared\Transfer\PaymentMethodsTransfer
277
     */
278
    public function filterPaypalExpressPaymentMethod(PaymentMethodsTransfer $paymentMethodsTransfer, QuoteTransfer $quoteTransfer): PaymentMethodsTransfer
279
    {
280
        return $this
281
            ->getFactory()
282
            ->createPaypalExpressCheckoutPaymentMethod()
283
            ->filterPaymentMethods($paymentMethodsTransfer, $quoteTransfer);
284
    }
285
286
    /**
287
     * {@inheritDoc}
288
     *
289
     * @api
290
     *
291
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
292
     *
293
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
294
     */
295
    public function captureOrderPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
296
    {
297
        return $this
298
            ->getFactory()
299
            ->createCaptureOrderTransactionHandler()
300
            ->capture($transactionMetaTransfer);
301
    }
302
303
    /**
304
     * {@inheritDoc}
305
     *
306
     * @api
307
     *
308
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
309
     *
310
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
311
     */
312
    public function captureItemsPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
313
    {
314
        return $this
315
            ->getFactory()
316
            ->createCaptureItemsTransactionHandler()
317
            ->capture($transactionMetaTransfer);
318
    }
319
320
    /**
321
     * {@inheritDoc}
322
     *
323
     * @api
324
     *
325
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
326
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
327
     *
328
     * @return bool
329
     */
330
    public function isQuotePaymentValid(
331
        QuoteTransfer $quoteTransfer,
332
        CheckoutResponseTransfer $checkoutResponseTransfer
333
    ): bool {
334
        return $this->getFactory()
335
            ->createCheckoutPaymentChecker()
336
            ->isQuotePaymentValid($quoteTransfer, $checkoutResponseTransfer);
337
    }
338
339
    /**
340
     * {@inheritDoc}
341
     *
342
     * @api
343
     *
344
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
345
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
346
     *
347
     * @return \Generated\Shared\Transfer\CheckoutResponseTransfer
348
     */
349
    public function executeCheckoutPostSaveHook(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponseTransfer): CheckoutResponseTransfer
350
    {
351
        return $this->getFactory()
352
            ->createCheckoutPostSaveHook()
353
            ->executeCheckoutPostSaveHook($quoteTransfer, $checkoutResponseTransfer);
354
    }
355
}
356