Passed
Pull Request — master (#13)
by Oleksandr
12:27 queued 02:17
created

BraintreeFacade::saveOrderPayment()   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\TransactionMetaTransfer $transactionMetaTransfer
67
     *
68
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
69
     */
70
    public function authorizePayment(TransactionMetaTransfer $transactionMetaTransfer)
71
    {
72
        return $this
73
            ->getFactory()
74
            ->createAuthorizeTransactionHandler()
75
            ->authorize($transactionMetaTransfer);
76
    }
77
78
    /**
79
     * {@inheritdoc}
80
     *
81
     * @api
82
     *
83
     * @deprecated Use `\SprykerEco\Zed\Braintree\Business\BraintreeFacadeInterface::captureOrderPayment()` instead.
84
     *
85
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
86
     *
87
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
88
     */
89
    public function capturePayment(TransactionMetaTransfer $transactionMetaTransfer)
90
    {
91
        return $this->captureOrderPayment($transactionMetaTransfer);
92
    }
93
94
    /**
95
     * {@inheritdoc}
96
     *
97
     * @api
98
     *
99
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
100
     *
101
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
102
     */
103
    public function revertPayment(TransactionMetaTransfer $transactionMetaTransfer)
104
    {
105
        return $this
106
            ->getFactory()
107
            ->createRevertTransactionHandler()
108
            ->revert($transactionMetaTransfer);
109
    }
110
111
    /**
112
     * {@inheritdoc}
113
     *
114
     * @api
115
     *
116
     * @deprecated Use `\SprykerEco\Zed\Braintree\Business\BraintreeFacadeInterface::refundOrderPayment()` instead.
117
     *
118
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $salesOrderItems
119
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
120
     *
121
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
122
     */
123
    public function refundPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity)
124
    {
125
        return $this->refundOrderPayment($salesOrderItems, $salesOrderEntity);
126
    }
127
128
    /**
129
     * {@inheritdoc}
130
     *
131
     * @api
132
     *
133
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $salesOrderItems
134
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
135
     *
136
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
137
     */
138
    public function refundOrderPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity): BraintreeTransactionResponseTransfer
139
    {
140
        return $this->getFactory()
141
            ->createRefundOrderTransactionHandler()
142
            ->refund($salesOrderItems, $salesOrderEntity);
143
    }
144
145
    /**
146
     * {@inheritdoc}
147
     *
148
     * @api
149
     *
150
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer|array $transactionMetaTransfer
151
     *
152
     * @return void
153
     */
154
    public function refundItemsPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity): void
155
    {
156
        $this->getFactory()
157
            ->createRefundItemsTransactionHandler()
158
            ->refund($salesOrderItems, $salesOrderEntity);
159
    }
160
161
    /**
162
     * {@inheritdoc}
163
     *
164
     * @api
165
     *
166
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
167
     *
168
     * @return bool
169
     */
170
    public function isAuthorizationApproved(OrderTransfer $orderTransfer)
171
    {
172
        return $this
173
            ->getFactory()
174
            ->createTransactionStatusLog()
175
            ->isAuthorizationApproved($orderTransfer);
176
    }
177
178
    /**
179
     * {@inheritdoc}
180
     *
181
     * @api
182
     *
183
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
184
     *
185
     * @return bool
186
     */
187
    public function isReversalApproved(OrderTransfer $orderTransfer)
188
    {
189
        return $this
190
            ->getFactory()
191
            ->createTransactionStatusLog()
192
            ->isReversalApproved($orderTransfer);
193
    }
194
195
    /**
196
     * {@inheritdoc}
197
     *
198
     * @api
199
     *
200
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
201
     *
202
     * @return bool
203
     */
204
    public function isCaptureApproved(OrderTransfer $orderTransfer)
205
    {
206
        return $this
207
            ->getFactory()
208
            ->createTransactionStatusLog()
209
            ->isCaptureApproved($orderTransfer);
210
    }
211
212
    /**
213
     * {@inheritdoc}
214
     *
215
     * @api
216
     *
217
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
218
     *
219
     * @return bool
220
     */
221
    public function isRefundApproved(OrderTransfer $orderTransfer)
222
    {
223
        return $this
224
            ->getFactory()
225
            ->createTransactionStatusLog()
226
            ->isRefundApproved($orderTransfer);
227
    }
228
229
    /**
230
     * {@inheritdoc}
231
     *
232
     * @api
233
     *
234
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
235
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponse
236
     *
237
     * @return \Generated\Shared\Transfer\CheckoutResponseTransfer
238
     */
239
    public function postSaveHook(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponse)
240
    {
241
        return $this
242
            ->getFactory()
243
            ->createPostSaveHook()
244
            ->postSaveHook($quoteTransfer, $checkoutResponse);
245
    }
246
247
    /**
248
     * {@inheritdoc}
249
     *
250
     * @api
251
     *
252
     * @param \Generated\Shared\Transfer\PaymentMethodsTransfer $paymentMethodsTransfer
253
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
254
     *
255
     * @return \Generated\Shared\Transfer\PaymentMethodsTransfer
256
     */
257
    public function filterPaypalExpressPaymentMethod(PaymentMethodsTransfer $paymentMethodsTransfer, QuoteTransfer $quoteTransfer): PaymentMethodsTransfer
258
    {
259
        return $this
260
            ->getFactory()
261
            ->createPaypalExpressCheckoutPaymentMethod()
262
            ->filterPaymentMethods($paymentMethodsTransfer, $quoteTransfer);
263
    }
264
265
    /**
266
     * {@inheritdoc}
267
     *
268
     * @api
269
     *
270
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
271
     *
272
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
273
     */
274
    public function captureOrderPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
275
    {
276
        return $this
277
            ->getFactory()
278
            ->createCaptureOrderTransactionHandler()
279
            ->capture($transactionMetaTransfer);
280
    }
281
282
    /**
283
     * {@inheritdoc}
284
     *
285
     * @api
286
     *
287
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
288
     *
289
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
290
     */
291
    public function captureItemsPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
292
    {
293
        return $this
294
            ->getFactory()
295
            ->createCaptureItemsTransactionHandler()
296
            ->capture($transactionMetaTransfer);
297
    }
298
}
299