Dispute   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 85
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 22
c 1
b 0
f 0
dl 0
loc 85
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A listTransactionDisputes() 0 6 1
A addEvidence() 0 7 1
A getUploadUrl() 0 6 1
A export() 0 6 1
A resolve() 0 7 1
1
<?php
2
3
namespace Digikraaft\Paystack;
4
5
class Dispute extends ApiResource
6
{
7
    const OBJECT_NAME = 'dispute';
8
9
    use ApiOperations\All;
10
    use ApiOperations\Fetch;
11
    use ApiOperations\Update;
12
13
    /**
14
     * @param string $transaction_id
15
     *
16
     * @link https://paystack.com/docs/api/#dispute-transaction
17
     *
18
     * @return array|object
19
     */
20
    public static function listTransactionDisputes(string $transaction_id)
21
    {
22
        $url = "transaction/{$transaction_id}";
23
        $url = static::endPointUrl($url);
24
25
        return static::staticRequest('GET', $url);
26
    }
27
28
    /**
29
     * @param string $dispute_id
30
     * @param array  $params
31
     *
32
     * @link https://paystack.com/docs/api/#dispute-evidence
33
     *
34
     * @return array|object
35
     */
36
    public static function addEvidence(string $dispute_id, $params)
37
    {
38
        self::validateParams($params, true);
39
        $url = "{$dispute_id}/evidence";
40
        $url = static::endPointUrl($url);
41
42
        return static::staticRequest('POST', $url, $params);
43
    }
44
45
    /**
46
     * @param string $dispute_id
47
     *
48
     * @link https://paystack.com/docs/api/#dispute-upload-url
49
     *
50
     * @return array|object
51
     */
52
    public static function getUploadUrl(string $dispute_id)
53
    {
54
        $url = "{$dispute_id}/upload_url";
55
        $url = static::endPointUrl($url);
56
57
        return static::staticRequest('GET', $url);
58
    }
59
60
    /**
61
     * @param string $dispute_id
62
     * @param array  $params
63
     *
64
     * @link https://paystack.com/docs/api/#dispute-resolve
65
     *
66
     * @return array|object
67
     */
68
    public static function resolve(string $dispute_id, $params)
69
    {
70
        self::validateParams($params, true);
71
        $url = "{$dispute_id}/resolve";
72
        $url = static::endPointUrl($url);
73
74
        return static::staticRequest('PUT', $url, $params);
75
    }
76
77
    /**
78
     * @param array $params
79
     *
80
     * @link https://paystack.com/docs/api/#dispute-export
81
     *
82
     * @return array|object
83
     */
84
    public static function export($params)
85
    {
86
        self::validateParams($params);
87
        $url = static::buildQueryString('export', $params);
88
89
        return static::staticRequest('GET', $url);
90
    }
91
}
92