CancelRequest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 12
c 1
b 0
f 0
dl 0
loc 39
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A setTransactionReference() 0 5 1
A getTransactionReference() 0 3 1
A execute() 0 6 1
A __construct() 0 7 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Ticketpark\SaferpayJson\Request\Transaction;
6
7
use JMS\Serializer\Annotation\SerializedName;
8
use Ticketpark\SaferpayJson\Request\Container\TransactionReference;
9
use Ticketpark\SaferpayJson\Request\Request;
10
use Ticketpark\SaferpayJson\Request\RequestCommonsTrait;
11
use Ticketpark\SaferpayJson\Request\RequestConfig;
12
use Ticketpark\SaferpayJson\Response\Transaction\CancelResponse;
13
14
final class CancelRequest extends Request
15
{
16
    use RequestCommonsTrait;
17
    public const API_PATH = '/Payment/v1/Transaction/Cancel';
18
    public const RESPONSE_CLASS = CancelResponse::class;
19
20
    /**
21
     * @var TransactionReference
22
     * @SerializedName("TransactionReference")
23
     */
24
    private $transactionReference;
25
26
    public function __construct(
27
        RequestConfig $requestConfig,
28
        TransactionReference $transactionReference
29
    ) {
30
        $this->transactionReference = $transactionReference;
31
32
        parent::__construct($requestConfig);
33
    }
34
35
    public function getTransactionReference(): TransactionReference
36
    {
37
        return $this->transactionReference;
38
    }
39
40
    public function setTransactionReference(TransactionReference $transactionReference): self
41
    {
42
        $this->transactionReference = $transactionReference;
43
44
        return $this;
45
    }
46
47
    public function execute(): CancelResponse
48
    {
49
        /** @var CancelResponse $response */
50
        $response = $this->doExecute();
51
52
        return $response;
53
    }
54
}
55