Passed
Push — master ( f980d8...9eb105 )
by Tim
09:53
created

Transaction::checkAuthorization()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 6
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Digikraaft\Paystack;
4
5
class Transaction extends ApiResource
6
{
7
    const OBJECT_NAME = 'transaction';
8
9
    use ApiOperations\All;
10
    use ApiOperations\Fetch;
11
12
    /**
13
     * @param array $params details at
14
     *
15
     * @link https://paystack.com/docs/api/#transaction-initialize
16
     *
17
     * @return array|object
18
     */
19
    public static function initialize($params)
20
    {
21
        self::validateParams($params, true);
22
        $url = static::endPointUrl('initialize');
23
24
        return static::staticRequest('POST', $url, $params);
25
    }
26
27
    /**
28
     * @param string $reference details at
29
     *
30
     * @link https://paystack.com/docs/api/#transaction-verify
31
     *
32
     * @return array|object
33
     */
34
    public static function verify($reference)
35
    {
36
        $url = "verify/{$reference}";
37
        $url = static::endPointUrl($url);
38
39
        return static::staticRequest('GET', $url);
40
    }
41
42
    /**
43
     * @param array $params details of parameter content at
44
     *
45
     * @link https://paystack.com/docs/api/#transaction-charge-authorization
46
     *
47
     * @return array|object
48
     */
49
    public static function chargeAuthorization($params)
50
    {
51
        self::validateParams($params, true);
52
        $url = static::endPointUrl('charge_authorization');
53
54
        return static::staticRequest('POST', $url, $params);
55
    }
56
57
    /**
58
     * @param array $params details of parameter content at
59
     *
60
     * @link https://paystack.com/docs/api/#transaction-check-authorization
61
     *
62
     * @return array|object
63
     */
64
    public static function checkAuthorization($params)
65
    {
66
        self::validateParams($params, true);
67
        $url = static::endPointUrl('check_authorization');
68
69
        return static::staticRequest('POST', $url, $params);
70
    }
71
72
    /**
73
     * @param string $transaction_id details at
74
     *
75
     * @link https://paystack.com/docs/api/#transaction-view-timeline
76
     *
77
     * @return array|object
78
     */
79
    public static function timeline($transaction_id)
80
    {
81
        $url = static::resourceUrl($transaction_id);
82
83
        return static::staticRequest('GET', $url);
84
    }
85
86
    /**
87
     * @param array $params details at
88
     *
89
     * @link https://paystack.com/docs/api/#transaction-totals
90
     *
91
     * @return array|object
92
     */
93
    public static function totals($params)
94
    {
95
        self::validateParams($params, true);
96
        $url = static::buildQueryString('totals', $params);
97
98
        return static::staticRequest('GET', $url);
99
    }
100
101
    /**
102
     * @param array $params details at
103
     *
104
     * @link https://paystack.com/docs/api/#transaction-export
105
     *
106
     * @return array|object
107
     */
108
    public static function export($params)
109
    {
110
        self::validateParams($params);
111
        $url = static::buildQueryString('export', $params);
112
113
        return static::staticRequest('get', $url, $params);
114
    }
115
116
    /**
117
     * @param array $params details at
118
     *
119
     * @link https://developers.paystack.co/reference#request-reauthorization
120
     *
121
     * @return array|object
122
     */
123
    public static function requestReauthorization($params)
124
    {
125
        self::validateParams($params, true);
126
        $url = static::endPointUrl('request_reauthorization');
127
128
        return static::staticRequest('POST', $url, $params);
129
    }
130
131
    /**
132
     * @param array $params details at
133
     *
134
     * @link https://paystack.com/docs/api/#transaction-partial-debit
135
     *
136
     * @return array|object
137
     */
138
    public static function partialDebit($params)
139
    {
140
        self::validateParams($params, true);
141
        $url = static::endPointUrl('partial_debit');
142
143
        return static::staticRequest('POST', $url, $params);
144
    }
145
}
146