CreditCardPayment   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 49
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A capture() 0 7 1
A authorize() 0 8 1
A register() 0 12 1
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