Test Failed
Push — master ( 3dd85e...34f16b )
by Devin
04:34 queued 10s
created

CustomerBalanceTransaction::retrieve()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 2
dl 0
loc 6
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Stripe;
4
5
/**
6
 * Class CustomerBalanceTransaction
7
 *
8
 * @package Stripe
9
 *
10
 * @property string $id
11
 * @property string $object
12
 * @property int $amount
13
 * @property string $credit_note
14
 * @property int $created
15
 * @property string $currency
16
 * @property string $customer
17
 * @property string $description
18
 * @property int $ending_balance
19
 * @property string $invoice
20
 * @property bool $livemode
21
 * @property StripeObject $metadata
22
 * @property string $type
23
 */
24
class CustomerBalanceTransaction extends ApiResource
25
{
26
    const OBJECT_NAME = "customer_balance_transaction";
27
28
    /**
29
     * Possible string representations of a balance transaction's type.
30
     * @link https://stripe.com/docs/api/customers/customer_balance_transaction_object#customer_balance_transaction_object-type
31
     */
32
    const TYPE_ADJUSTEMENT             = 'adjustment';
33
    const TYPE_APPLIED_TO_INVOICE      = 'applied_to_invoice';
34
    const TYPE_CREDIT_NOTE             = 'credit_note';
35
    const TYPE_INITIAL                 = 'initial';
36
    const TYPE_INVOICE_TOO_LARGE       = 'invoice_too_large';
37
    const TYPE_INVOICE_TOO_SMALL       = 'invoice_too_small';
38
    const TYPE_UNSPENT_RECEIVER_CREDIT = 'unspent_receiver_credit';
39
40
    /**
41
     * @return string The API URL for this balance transaction.
42
     */
43
    public function instanceUrl()
44
    {
45
        $id = $this['id'];
46
        $customer = $this['customer'];
47
        if (!$id) {
48
            throw new Error\InvalidRequest(
49
                "Could not determine which URL to request: class instance has invalid ID: $id",
50
                null
51
            );
52
        }
53
        $id = Util\Util::utf8($id);
54
        $customer = Util\Util::utf8($customer);
55
56
        $base = Customer::classUrl();
57
        $customerExtn = urlencode($customer);
58
        $extn = urlencode($id);
59
        return "$base/$customerExtn/balance_transactions/$extn";
60
    }
61
62
    /**
63
     * @param array|string $_id
64
     * @param array|string|null $_opts
65
     *
66
     * @throws \Stripe\Error\InvalidRequest
67
     */
68
    public static function retrieve($_id, $_opts = null)
0 ignored issues
show
Unused Code introduced by
The parameter $_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $_opts is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
69
    {
70
        $msg = "Customer Balance Transactions cannot be accessed without a customer ID. " .
71
               "Retrieve a balance transaction using Customer::retrieveBalanceTransaction('cus_123', 'cbtxn_123') instead.";
72
        throw new Error\InvalidRequest($msg, null);
73
    }
74
75
    /**
76
     * @param string $_id
77
     * @param array|null $_params
78
     * @param array|string|null $_options
79
     *
80
     * @throws \Stripe\Error\InvalidRequest
81
     */
82
    public static function update($_id, $_params = null, $_options = null)
0 ignored issues
show
Unused Code introduced by
The parameter $_id is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $_params is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $_options is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
83
    {
84
        $msg = "Customer Balance Transactions cannot be accessed without a customer ID. " .
85
               "Update a balance transaction using Customer::updateBalanceTransaction('cus_123', 'cbtxn_123', \$params) instead.";
86
        throw new Error\InvalidRequest($msg, null);
87
    }
88
}
89