Passed
Pull Request — master (#13)
by Volodymyr
04:33
created

BraintreeFacade::refundOrderPayment()   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\SpySalesOrderIBraintreeBusinessFactorytem[] $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 \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $salesOrderItems
151
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
152
     *
153
     * @return void
154
     */
155
    public function refundItemsPayment(array $salesOrderItems, SpySalesOrder $salesOrderEntity): void
156
    {
157
        $this->getFactory()
158
            ->createRefundItemsTransactionHandler()
159
            ->refund($salesOrderItems, $salesOrderEntity);
160
    }
161
162
    /**
163
     * {@inheritdoc}
164
     *
165
     * @api
166
     *
167
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
168
     *
169
     * @return bool
170
     */
171
    public function isAuthorizationApproved(OrderTransfer $orderTransfer)
172
    {
173
        return $this
174
            ->getFactory()
175
            ->createTransactionStatusLog()
176
            ->isAuthorizationApproved($orderTransfer);
177
    }
178
179
    /**
180
     * {@inheritdoc}
181
     *
182
     * @api
183
     *
184
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
185
     *
186
     * @return bool
187
     */
188
    public function isReversalApproved(OrderTransfer $orderTransfer)
189
    {
190
        return $this
191
            ->getFactory()
192
            ->createTransactionStatusLog()
193
            ->isReversalApproved($orderTransfer);
194
    }
195
196
    /**
197
     * {@inheritdoc}
198
     *
199
     * @api
200
     *
201
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
202
     *
203
     * @return bool
204
     */
205
    public function isCaptureApproved(OrderTransfer $orderTransfer)
206
    {
207
        return $this
208
            ->getFactory()
209
            ->createTransactionStatusLog()
210
            ->isCaptureApproved($orderTransfer);
211
    }
212
213
    /**
214
     * {@inheritdoc}
215
     *
216
     * @api
217
     *
218
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
219
     *
220
     * @return bool
221
     */
222
    public function isRefundApproved(OrderTransfer $orderTransfer)
223
    {
224
        return $this
225
            ->getFactory()
226
            ->createTransactionStatusLog()
227
            ->isRefundApproved($orderTransfer);
228
    }
229
230
    /**
231
     * {@inheritdoc}
232
     *
233
     * @api
234
     *
235
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
236
     * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponse
237
     *
238
     * @return \Generated\Shared\Transfer\CheckoutResponseTransfer
239
     */
240
    public function postSaveHook(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponse)
241
    {
242
        return $this
243
            ->getFactory()
244
            ->createPostSaveHook()
245
            ->postSaveHook($quoteTransfer, $checkoutResponse);
246
    }
247
248
    /**
249
     * {@inheritdoc}
250
     *
251
     * @api
252
     *
253
     * @param \Generated\Shared\Transfer\PaymentMethodsTransfer $paymentMethodsTransfer
254
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
255
     *
256
     * @return \Generated\Shared\Transfer\PaymentMethodsTransfer
257
     */
258
    public function filterPaypalExpressPaymentMethod(PaymentMethodsTransfer $paymentMethodsTransfer, QuoteTransfer $quoteTransfer): PaymentMethodsTransfer
259
    {
260
        return $this
261
            ->getFactory()
262
            ->createPaypalExpressCheckoutPaymentMethod()
263
            ->filterPaymentMethods($paymentMethodsTransfer, $quoteTransfer);
264
    }
265
266
    /**
267
     * {@inheritdoc}
268
     *
269
     * @api
270
     *
271
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
272
     *
273
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
274
     */
275
    public function captureOrderPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
276
    {
277
        return $this
278
            ->getFactory()
279
            ->createCaptureOrderTransactionHandler()
280
            ->capture($transactionMetaTransfer);
281
    }
282
283
    /**
284
     * {@inheritdoc}
285
     *
286
     * @api
287
     *
288
     * @param \Generated\Shared\Transfer\TransactionMetaTransfer $transactionMetaTransfer
289
     *
290
     * @return \Generated\Shared\Transfer\BraintreeTransactionResponseTransfer
291
     */
292
    public function captureItemsPayment(TransactionMetaTransfer $transactionMetaTransfer): BraintreeTransactionResponseTransfer
293
    {
294
        return $this
295
            ->getFactory()
296
            ->createCaptureItemsTransactionHandler()
297
            ->capture($transactionMetaTransfer);
298
    }
299
}
300