PurchaseResponse::getRedirectUrl()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 2
c 1
b 0
f 0
nc 2
nop 0
dl 0
loc 4
rs 10
1
<?php
2
3
namespace Omnipay\Worldline\Message;
4
5
use Omnipay\Common\Message\AbstractResponse;
6
use Omnipay\Common\Message\RedirectResponseInterface;
7
8
/**
9
 * Worldline Purchase Response
10
 */
11
class PurchaseResponse extends AbstractResponse implements RedirectResponseInterface
12
{
13
    public function isSuccessful()
14
    {
15
        return false;
16
    }
17
18
    public function isRedirect()
19
    {
20
        return empty($this->data->errors);
21
    }
22
23
    public function getMessage()
24
    {
25
        if (!$this->isRedirect()) {
26
            // get the details from the first error in the array, if it's available
27
            $error = isset($this->data->errors) ? reset($this->data->errors) : null;
28
            return $error->id ?? $this->data->errorId ?? null;
29
        }
30
    }
31
32
    public function getRedirectUrl()
33
    {
34
        if ($this->isRedirect()) {
35
            return $this->data->redirectUrl;
36
        }
37
    }
38
39
    public function getRedirectMethod()
40
    {
41
        return 'GET';
42
    }
43
44
    public function getRedirectData()
45
    {
46
        return null;
47
    }
48
49
    public function getHostedCheckoutId()
50
    {
51
        return $this->getData()->hostedCheckoutId ?? null;
52
    }
53
}
54