Passed
Push — master ( 55c384...001f9d )
by Tim
09:13 queued 07:21
created

Payment   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 8
c 0
b 0
f 0
dl 0
loc 37
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A recurringDebitStatus() 0 5 1
A onetimeDebitStatus() 0 5 1
A initiate() 0 5 1
1
<?php
2
3
4
    namespace Digikraaft\Mono;
5
6
7
    use Digikraaft\Mono\Util\Util;
8
9
    class Payment extends ApiResource
10
    {
11
        const OBJECT_NAME = 'payments';
12
13
        /**
14
         * @param array $params
15
         * @return array|object
16
         * @throws Exceptions\InvalidArgumentException
17
         * @throws Exceptions\IsNullException
18
         * @link https://docs.mono.co/reference#initiate-payment
19
         */
20
        public static function initiate(array $params)
21
        {
22
            $url = self::endPointUrl("initiate");
23
24
            return self::staticRequest('POST', $url, $params);
25
        }
26
27
        /**
28
         * @param string $paymentId
29
         * @return array|object
30
         * @throws Exceptions\InvalidArgumentException
31
         * @throws Exceptions\IsNullException
32
         * @link https://docs.mono.co/reference#pull-status
33
         */
34
        public static function onetimeDebitStatus(string $paymentId)
35
        {
36
            $url = self::endPointUrl("debits/{$paymentId}");
37
38
            return self::staticRequest('GET', $url);
39
        }
40
41
        public static function recurringDebitStatus(string $paymentId)
42
        {
43
            $url = self::endPointUrl("recurring-debits/{$paymentId}");
44
45
            return self::staticRequest('GET', $url);
46
        }
47
    }
48