PHP 8.2.31
Preview: Customer.php Size: 9.91 KB
/home/nshryvcy/blissfulnepal.com/wp-content/plugins/tourmaster/include/stripe/lib/Customer.php

<?php

namespace Stripe;

/**
 * Class Customer
 *
 * @property string $id
 * @property string $object
 * @property mixed $address
 * @property int $balance
 * @property string $created
 * @property string $currency
 * @property string $default_source
 * @property bool $delinquent
 * @property string $description
 * @property Discount $discount
 * @property string $email
 * @property string $invoice_prefix
 * @property mixed $invoice_settings
 * @property bool $livemode
 * @property StripeObject $metadata
 * @property string $name
 * @property string $phone
 * @property string[] preferred_locales
 * @property mixed $shipping
 * @property Collection $sources
 * @property Collection $subscriptions
 * @property string $tax_exempt
 * @property Collection $tax_ids
 *
 * @package Stripe
 */
class Customer extends ApiResource
{

    const OBJECT_NAME = "customer";

    use ApiOperations\All;
    use ApiOperations\Create;
    use ApiOperations\Delete;
    use ApiOperations\NestedResource;
    use ApiOperations\Retrieve;
    use ApiOperations\Update;

    /**
     * Possible string representations of the customer's type of tax exemption.
     * @link https://stripe.com/docs/api/customers/object#customer_object-tax_exempt
     */
    const TAX_EXEMPT_NONE    = 'none';
    const TAX_EXEMPT_EXEMPT  = 'exempt';
    const TAX_EXEMPT_REVERSE = 'reverse';

    public static function getSavedNestedResources()
    {
        static $savedNestedResources = null;
        if ($savedNestedResources === null) {
            $savedNestedResources = new Util\Set([
                'source',
            ]);
        }
        return $savedNestedResources;
    }

    const PATH_BALANCE_TRANSACTIONS = '/balance_transactions';
    const PATH_SOURCES = '/sources';
    const PATH_TAX_IDS = '/tax_ids';

    /**
     * @param array|null $params
     *
     * @return InvoiceItem The resulting invoice item.
     */
    public function addInvoiceItem($params = null)
    {
        $params = $params ?: [];
        $params['customer'] = $this->id;
        $ii = InvoiceItem::create($params, $this->_opts);
        return $ii;
    }

    /**
     * @param array|null $params
     *
     * @return array An array of the customer's Invoices.
     */
    public function invoices($params = null)
    {
        $params = $params ?: [];
        $params['customer'] = $this->id;
        $invoices = Invoice::all($params, $this->_opts);
        return $invoices;
    }

    /**
     * @param array|null $params
     *
     * @return array An array of the customer's InvoiceItems.
     */
    public function invoiceItems($params = null)
    {
        $params = $params ?: [];
        $params['customer'] = $this->id;
        $iis = InvoiceItem::all($params, $this->_opts);
        return $iis;
    }

    /**
     * @param array|null $params
     *
     * @return array An array of the customer's Charges.
     */
    public function charges($params = null)
    {
        $params = $params ?: [];
        $params['customer'] = $this->id;
        $charges = Charge::all($params, $this->_opts);
        return $charges;
    }

    /**
     * @param array|null $params
     *
     * @return Subscription The updated subscription.
     */
    public function updateSubscription($params = null)
    {
        $url = $this->instanceUrl() . '/subscription';
        list($response, $opts) = $this->_request('post', $url, $params);
        $this->refreshFrom(['subscription' => $response], $opts, true);
        return $this->subscription;
    }

    /**
     * @param array|null $params
     *
     * @return Subscription The cancelled subscription.
     */
    public function cancelSubscription($params = null)
    {
        $url = $this->instanceUrl() . '/subscription';
        list($response, $opts) = $this->_request('delete', $url, $params);
        $this->refreshFrom(['subscription' => $response], $opts, true);
        return $this->subscription;
    }

    /**
     * @return Customer The updated customer.
     */
    public function deleteDiscount()
    {
        $url = $this->instanceUrl() . '/discount';
        list($response, $opts) = $this->_request('delete', $url);
        $this->refreshFrom(['discount' => null], $opts, true);
    }

    /**
     * @param string|null $id The ID of the customer on which to create the source.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function createSource($id, $params = null, $opts = null)
    {
        return self::_createNestedResource($id, static::PATH_SOURCES, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer to which the source belongs.
     * @param string|null $sourceId The ID of the source to retrieve.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function retrieveSource($id, $sourceId, $params = null, $opts = null)
    {
        return self::_retrieveNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer to which the source belongs.
     * @param string|null $sourceId The ID of the source to update.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function updateSource($id, $sourceId, $params = null, $opts = null)
    {
        return self::_updateNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer to which the source belongs.
     * @param string|null $sourceId The ID of the source to delete.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function deleteSource($id, $sourceId, $params = null, $opts = null)
    {
        return self::_deleteNestedResource($id, static::PATH_SOURCES, $sourceId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer on which to retrieve the sources.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return Collection The list of sources.
     */
    public static function allSources($id, $params = null, $opts = null)
    {
        return self::_allNestedResources($id, static::PATH_SOURCES, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer on which to create the tax id.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function createTaxId($id, $params = null, $opts = null)
    {
        return self::_createNestedResource($id, static::PATH_TAX_IDS, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer to which the tax id belongs.
     * @param string|null $taxIdId The ID of the tax id to retrieve.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function retrieveTaxId($id, $taxIdId, $params = null, $opts = null)
    {
        return self::_retrieveNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer to which the tax id belongs.
     * @param string|null $taxIdId The ID of the tax id to delete.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function deleteTaxId($id, $taxIdId, $params = null, $opts = null)
    {
        return self::_deleteNestedResource($id, static::PATH_TAX_IDS, $taxIdId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer on which to retrieve the tax ids.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return Collection The list of tax ids.
     */
    public static function allTaxIds($id, $params = null, $opts = null)
    {
        return self::_allNestedResources($id, static::PATH_TAX_IDS, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer on which to create the balance transaction.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function createBalanceTransaction($id, $params = null, $opts = null)
    {
        return self::_createNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer to which the balance transaction belongs.
     * @param string|null $balanceTransactionId The ID of the balance transaction to retrieve.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return ApiResource
     */
    public static function retrieveBalanceTransaction($id, $balanceTransactionId, $params = null, $opts = null)
    {
        return self::_retrieveNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $balanceTransactionId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer on which to update the balance transaction.
     * @param string|null $balanceTransactionId The ID of the balance transaction to update.
     * @param array|null $params
     * @param array|string|null $opts
     *
     *
     * @return ApiResource
     */
    public static function updateBalanceTransaction($id, $balanceTransactionId, $params = null, $opts = null)
    {
        return self::_updateNestedResource($id, static::PATH_BALANCE_TRANSACTIONS, $balanceTransactionId, $params, $opts);
    }

    /**
     * @param string|null $id The ID of the customer on which to retrieve the customer balance transactions.
     * @param array|null $params
     * @param array|string|null $opts
     *
     * @return Collection The list of customer balance transactions.
     */
    public static function allBalanceTransactions($id, $params = null, $opts = null)
    {
        return self::_allNestedResources($id, static::PATH_BALANCE_TRANSACTIONS, $params, $opts);
    }
}

Directory Contents

Dirs: 10 × Files: 74

Name Size Perms Modified Actions
- drwxr-xr-x 2024-05-28 15:48:43
Edit Download
Checkout DIR
- drwxr-xr-x 2024-05-28 15:48:43
Edit Download
Error DIR
- drwxr-xr-x 2024-05-28 15:48:44
Edit Download
- drwxr-xr-x 2024-05-28 15:48:43
Edit Download
Issuing DIR
- drwxr-xr-x 2024-05-28 15:48:43
Edit Download
Radar DIR
- drwxr-xr-x 2024-05-28 15:48:44
Edit Download
Reporting DIR
- drwxr-xr-x 2024-05-28 15:48:43
Edit Download
Sigma DIR
- drwxr-xr-x 2024-05-28 15:48:44
Edit Download
Terminal DIR
- drwxr-xr-x 2024-05-28 15:48:43
Edit Download
Util DIR
- drwxr-xr-x 2024-05-28 15:48:44
Edit Download
12.98 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
302 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
2.22 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
15.87 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
3.22 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
549 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
550 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
2.77 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.29 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
505 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.65 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
3.48 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.31 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
181 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
2.26 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
4.24 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
7.87 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.89 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
560 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
743 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.05 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
9.91 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.83 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
320 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
2.63 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
894 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
11.00 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
223 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.67 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
523 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
154 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
6.42 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
870 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
705 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
436 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
236 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
3.13 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
1.61 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
355 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
471 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
3.19 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.44 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
3.00 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
3.06 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
871 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.09 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
1.04 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
919 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
1.77 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
559 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.61 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
2.12 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
937 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
692 B lrw-r--r-- 2024-05-28 15:48:43
Edit Download
4.38 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
415 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
6.59 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
17.34 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.70 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.09 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
3.23 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
2.15 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
2.20 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
600 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
334 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
767 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.52 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
3.62 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download
1.42 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.21 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
383 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
1.46 KB lrw-r--r-- 2024-05-28 15:48:44
Edit Download
550 B lrw-r--r-- 2024-05-28 15:48:44
Edit Download
4.14 KB lrw-r--r-- 2024-05-28 15:48:43
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).