CreditCardPayment::capture()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 1
dl 0
loc 7
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\Heidelpay\Business\Adapter\Payment;
9
10
use Generated\Shared\Transfer\HeidelpayRequestTransfer;
11
use Generated\Shared\Transfer\HeidelpayResponseTransfer;
12
use Heidelpay\PhpPaymentApi\PaymentMethods\CreditCardPaymentMethod;
13
14
class CreditCardPayment extends BasePayment implements
15
    CreditCardPaymentInterface
16
{
17
    /**
18
     * @param \Generated\Shared\Transfer\HeidelpayRequestTransfer $registerRequestTransfer
19
     *
20
     * @return \Generated\Shared\Transfer\HeidelpayResponseTransfer
21
     */
22
    public function register(HeidelpayRequestTransfer $registerRequestTransfer): HeidelpayResponseTransfer
23
    {
24
        $creditCardMethod = new CreditCardPaymentMethod();
25
        $this->prepareRequest($registerRequestTransfer, $creditCardMethod->getRequest());
26
27
        $creditCardMethod->registration(
28
            $this->config->getCreditCardPaymentFrameOrigin(),
29
            $this->config->getCreditCardPaymentFramePreventAsyncRedirect(),
30
            $this->config->getCreditCardPaymentFrameCustomCssUrl()
31
        );
32
33
        return $this->verifyAndParseResponse($creditCardMethod->getResponse());
34
    }
35
36
    /**
37
     * @param \Generated\Shared\Transfer\HeidelpayRequestTransfer $authorizeRequestTransfer
38
     *
39
     * @return \Generated\Shared\Transfer\HeidelpayResponseTransfer
40
     */
41
    public function authorize(HeidelpayRequestTransfer $authorizeRequestTransfer): HeidelpayResponseTransfer
42
    {
43
        $creditCardMethod = new CreditCardPaymentMethod();
44
        $this->prepareRequest($authorizeRequestTransfer, $creditCardMethod->getRequest());
45
46
        $creditCardMethod->authorizeOnRegistration($authorizeRequestTransfer->getIdPaymentRegistration());
47
48
        return $this->verifyAndParseResponse($creditCardMethod->getResponse());
49
    }
50
51
    /**
52
     * @param \Generated\Shared\Transfer\HeidelpayRequestTransfer $captureRequestTransfer
53
     *
54
     * @return \Generated\Shared\Transfer\HeidelpayResponseTransfer
55
     */
56
    public function capture(HeidelpayRequestTransfer $captureRequestTransfer): HeidelpayResponseTransfer
57
    {
58
        $creditCardMethod = new CreditCardPaymentMethod();
59
        $this->prepareRequest($captureRequestTransfer, $creditCardMethod->getRequest());
60
        $creditCardMethod->capture($captureRequestTransfer->getIdPaymentReference());
61
62
        return $this->verifyAndParseResponse($creditCardMethod->getResponse());
63
    }
64
}
65