Bill::createBulk()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 6
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Digikraaft\Flutterwave;
4
5
class Bill extends ApiResource
6
{
7
    const OBJECT_NAME = 'bills';
8
9
    use ApiOperations\All;
10
    use ApiOperations\Create;
11
12
    /**
13
     * @return array|object
14
     * @link https://developer.flutterwave.com/reference#get-bill-categories
15
     */
16
    public static function categories()
17
    {
18
        $url = urlencode("bill-categories");
19
20
        return static::staticRequest('GET', $url);
21
    }
22
23
    /**
24
     * @param string $itemCode
25
     * @param array $params
26
     * @return array|object
27
     * @link https://developer.flutterwave.com/reference#validate-bill-service
28
     */
29
    public static function validate(string $itemCode, array $params)
30
    {
31
        static::validateParams($params, true);
32
        $url = urlencode("bill-items/{$itemCode}/validate");
33
        $url .= '?'.http_build_query($params);
34
35
        return static::staticRequest('GET', $url);
36
    }
37
38
    /**
39
     * @param array $params
40
     *
41
     * @return array|object
42
     * @link https://developer.flutterwave.com/reference#create-bulk-bills
43
     */
44
    public static function createBulk(array $params)
45
    {
46
        self::validateParams($params, true);
47
        $url = urlencode("bulk-bills");
48
49
        return static::staticRequest('POST', $url, $params);
50
    }
51
52
    /**
53
     * @param string $transactionRef
54
     * @return array|object
55
     * @link https://developer.flutterwave.com/reference#get-status-of-a-bill-payment
56
     */
57
    public static function status(string $transactionRef)
58
    {
59
        $url = static::endPointUrl("{$transactionRef}");
60
61
        return static::staticRequest('GET', $url);
62
    }
63
}
64