Passed
Push — feature/paypal-express ( aa383f...32ec15 )
by Volodymyr
05:03
created

ShipmentRefundTransaction::getTransactionType()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
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\Payment\Transaction;
9
10
use Braintree\Transaction as BraintreeTransaction;
11
use SprykerEco\Zed\Braintree\BraintreeConfig;
12
use SprykerEco\Zed\Braintree\Business\Payment\Method\ApiConstants;
13
use SprykerEco\Zed\Braintree\Persistence\BraintreeEntityManagerInterface;
14
15
class ShipmentRefundTransaction extends AbstractTransaction
16
{
17
    /**
18
     * @var \SprykerEco\Zed\Braintree\Persistence\BraintreeEntityManagerInterface
19
     */
20
    protected $braintreeEntityManager;
21
22
    /**
23
     * @param \SprykerEco\Zed\Braintree\BraintreeConfig $config
24
     * @param \SprykerEco\Zed\Braintree\Persistence\BraintreeEntityManagerInterface $braintreeEntityManager
25
     */
26
    public function __construct(
27
        BraintreeConfig $config,
28
        BraintreeEntityManagerInterface $braintreeEntityManager
29
    ) {
30
        parent::__construct($config);
31
        $this->braintreeEntityManager = $braintreeEntityManager;
32
    }
33
34
    /**
35
     * @return string
36
     */
37
    protected function getTransactionType()
38
    {
39
        return ApiConstants::CREDIT;
40
    }
41
42
    /**
43
     * @return string
44
     */
45
    protected function getTransactionCode()
46
    {
47
        return ApiConstants::TRANSACTION_CODE_REFUND;
48
    }
49
50
    /**
51
     * @return \Braintree\Result\Successful|\Braintree\Result\Error|\Braintree\Transaction
52
     */
53
    protected function doTransaction()
54
    {
55
        return $this->refund();
56
    }
57
58
    /**
59
     * @return \Braintree\Result\Error|\Braintree\Result\Successful
60
     */
61
    protected function refund()
62
    {
63
        return BraintreeTransaction::refund(
64
            $this->transactionMetaTransfer->getShipmentRefundTransactionId(),
65
            $this->transactionMetaTransfer->getRefundAmount()
66
        );
67
    }
68
}
69