Passed
Pull Request — main (#3)
by Leith
11:04
created

CompletePurchaseResponse::getCardReference()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Omnipay\Worldline\Message;
4
5
use Omnipay\Common\Message\AbstractResponse;
6
7
/**
8
 * Worldline Complete Purchase Response
9
 */
10
class CompletePurchaseResponse extends AbstractResponse
11
{
12
    /**
13
     * Is the response pending?
14
     *
15
     * @return boolean
16
     */
17
    public function isPending()
18
    {
19
        return $this->data->createdPaymentOutput->payment->statusOutput->statusCategory == 'PENDING_PAYMENT';
20
    }
21
22
    /**
23
     * Is the response successful?
24
     *
25
     * @return boolean
26
     */
27
    public function isSuccessful()
28
    {
29
        return $this->data->createdPaymentOutput->paymentStatusCategory == 'SUCCESSFUL';
30
    }
31
32
    /**
33
     * Get the authorisation code if available.
34
     *
35
     * @return null|string
36
     */
37
    public function getTransactionReference()
38
    {
39
        return $this->data->createdPaymentOutput->payment->id ?? null;
40
    }
41
42
    /**
43
     * Get the merchant response message if available.
44
     *
45
     * @return null|string
46
     */
47
    public function getMessage()
48
    {
49
        return $this->data->createdPaymentOutput->payment->status;
50
    }
51
52
    /**
53
     * Get the card reference (payment token) if available
54
     *
55
     * @return null|string
56
     */
57
    public function getCardReference()
58
    {
59
        return $this->data->createdPaymentOutput->payment->paymentOutput->cardPaymentMethodSpecificOutput->token
60
            ?? null;
61
    }
62
}
63