Path: blob/master/externals/stripe-php/lib/Stripe/Customer.php
12256 views
<?php12class Stripe_Customer extends Stripe_ApiResource3{4/**5* @param string $id The ID of the customer to retrieve.6* @param string|null $apiKey7*8* @return Stripe_Customer9*/10public static function retrieve($id, $apiKey=null)11{12$class = get_class();13return self::_scopedRetrieve($class, $id, $apiKey);14}1516/**17* @param array|null $params18* @param string|null $apiKey19*20* @return array An array of Stripe_Customers.21*/22public static function all($params=null, $apiKey=null)23{24$class = get_class();25return self::_scopedAll($class, $params, $apiKey);26}2728/**29* @param array|null $params30* @param string|null $apiKey31*32* @return Stripe_Customer The created customer.33*/34public static function create($params=null, $apiKey=null)35{36$class = get_class();37return self::_scopedCreate($class, $params, $apiKey);38}3940/**41* @returns Stripe_Customer The saved customer.42*/43public function save()44{45$class = get_class();46return self::_scopedSave($class);47}4849/**50* @param array|null $params51*52* @returns Stripe_Customer The deleted customer.53*/54public function delete($params=null)55{56$class = get_class();57return self::_scopedDelete($class, $params);58}5960/**61* @param array|null $params62*63* @returns Stripe_InvoiceItem The resulting invoice item.64*/65public function addInvoiceItem($params=null)66{67if (!$params)68$params = array();69$params['customer'] = $this->id;70$ii = Stripe_InvoiceItem::create($params, $this->_apiKey);71return $ii;72}7374/**75* @param array|null $params76*77* @returns array An array of the customer's Stripe_Invoices.78*/79public function invoices($params=null)80{81if (!$params)82$params = array();83$params['customer'] = $this->id;84$invoices = Stripe_Invoice::all($params, $this->_apiKey);85return $invoices;86}8788/**89* @param array|null $params90*91* @returns array An array of the customer's Stripe_InvoiceItems.92*/93public function invoiceItems($params=null)94{95if (!$params)96$params = array();97$params['customer'] = $this->id;98$iis = Stripe_InvoiceItem::all($params, $this->_apiKey);99return $iis;100}101102/**103* @param array|null $params104*105* @returns array An array of the customer's Stripe_Charges.106*/107public function charges($params=null)108{109if (!$params)110$params = array();111$params['customer'] = $this->id;112$charges = Stripe_Charge::all($params, $this->_apiKey);113return $charges;114}115116/**117* @param array|null $params118*119* @returns Stripe_Subscription The updated subscription.120*/121public function updateSubscription($params=null)122{123$requestor = new Stripe_ApiRequestor($this->_apiKey);124$url = $this->instanceUrl() . '/subscription';125list($response, $apiKey) = $requestor->request('post', $url, $params);126$this->refreshFrom(array('subscription' => $response), $apiKey, true);127return $this->subscription;128}129130/**131* @param array|null $params132*133* @returns Stripe_Subscription The cancelled subscription.134*/135public function cancelSubscription($params=null)136{137$requestor = new Stripe_ApiRequestor($this->_apiKey);138$url = $this->instanceUrl() . '/subscription';139list($response, $apiKey) = $requestor->request('delete', $url, $params);140$this->refreshFrom(array('subscription' => $response), $apiKey, true);141return $this->subscription;142}143144/**145* @param array|null $params146*147* @returns Stripe_Customer The updated customer.148*/149public function deleteDiscount()150{151$requestor = new Stripe_ApiRequestor($this->_apiKey);152$url = $this->instanceUrl() . '/discount';153list($response, $apiKey) = $requestor->request('delete', $url);154$this->refreshFrom(array('discount' => null), $apiKey, true);155}156}157158159