Completed
Pull Request — master (#32)
by Artem
09:58 queued 05:49
created

BraintreeFacade::postSaveHook()   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 2
dl 0
loc 6
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\SpySalesOrderIBraintreeBusinessFactorytem[] $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
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
254
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponse
255
     *
256
     * @return \Generated\Shared\Transfer\CheckoutResponseTransfer
257
     */
258
    public function postSaveHook(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponse)
259
    {
260
        return $this
261
            ->getFactory()
262
            ->createPostSaveHook()
263
            ->postSaveHook($quoteTransfer, $checkoutResponse);
264
    }
265
266
    /**
267
     * {@inheritDoc}
268
     *
269
     * @api
270
     *
271
     * @param \Generated\Shared\Transfer\PaymentMethodsTransfer $paymentMethodsTransfer
272
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
273
     *
274
     * @return \Generated\Shared\Transfer\PaymentMethodsTransfer
275
     */
276
    public function filterPaypalExpressPaymentMethod(PaymentMethodsTransfer $paymentMethodsTransfer, QuoteTransfer $quoteTransfer): PaymentMethodsTransfer
277
    {
278
        return $this
279
            ->getFactory()
280
            ->createPaypalExpressCheckoutPaymentMethod()
281
            ->filterPaymentMethods($paymentMethodsTransfer, $quoteTransfer);
282
    }
283
284
    /**
285
     * {@inheritDoc}
286
     *
287
     * @api
288
     *
289
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
290
     *
291
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
292
     */
293
    public function captureOrderPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
294
    {
295
        return $this
296
            ->getFactory()
297
            ->createCaptureOrderTransactionHandler()
298
            ->capture($transactionMetaTransfer);
299
    }
300
301
    /**
302
     * {@inheritDoc}
303
     *
304
     * @api
305
     *
306
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
307
     *
308
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
309
     */
310
    public function captureItemsPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
311
    {
312
        return $this
313
            ->getFactory()
314
            ->createCaptureItemsTransactionHandler()
315
            ->capture($transactionMetaTransfer);
316
    }
317
318
    /**
319
     * {@inheritDoc}
320
     *
321
     * @api
322
     *
323
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
324
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
325
     *
326
     * @return bool
327
     */
328
    public function checkoutPreCheck(
329
        QuoteTransfer $quoteTransfer,
330
        CheckoutResponseTransfer $checkoutResponseTransfer
331
    ): bool {
332
        return $this->getFactory()
333
            ->createCheckoutPaymentPluginExecutor()
334
            ->executePreCheckPlugin($quoteTransfer, $checkoutResponseTransfer);
335
    }
336
}
337