Changeset View
Changeset View
Standalone View
Standalone View
externals/stripe-php/lib/Stripe/Subscription.php
- This file was added.
<?php | |||||
class Stripe_Subscription extends Stripe_ApiResource | |||||
{ | |||||
/** | |||||
* @return string The API URL for this Stripe subscription. | |||||
*/ | |||||
public function instanceUrl() | |||||
{ | |||||
$id = $this['id']; | |||||
$customer = $this['customer']; | |||||
if (!$id) { | |||||
throw new Stripe_InvalidRequestError( | |||||
"Could not determine which URL to request: " . | |||||
"class instance has invalid ID: $id", | |||||
null | |||||
); | |||||
} | |||||
$id = Stripe_ApiRequestor::utf8($id); | |||||
$customer = Stripe_ApiRequestor::utf8($customer); | |||||
$base = self::classUrl('Stripe_Customer'); | |||||
$customerExtn = urlencode($customer); | |||||
$extn = urlencode($id); | |||||
return "$base/$customerExtn/subscriptions/$extn"; | |||||
} | |||||
/** | |||||
* @param array|null $params | |||||
* @return Stripe_Subscription The deleted subscription. | |||||
*/ | |||||
public function cancel($params=null) | |||||
{ | |||||
$class = get_class(); | |||||
return self::_scopedDelete($class, $params); | |||||
} | |||||
/** | |||||
* @return Stripe_Subscription The saved subscription. | |||||
*/ | |||||
public function save() | |||||
{ | |||||
$class = get_class(); | |||||
return self::_scopedSave($class); | |||||
} | |||||
/** | |||||
* @return Stripe_Subscription The updated subscription. | |||||
*/ | |||||
public function deleteDiscount() | |||||
{ | |||||
$requestor = new Stripe_ApiRequestor($this->_apiKey); | |||||
$url = $this->instanceUrl() . '/discount'; | |||||
list($response, $apiKey) = $requestor->request('delete', $url); | |||||
$this->refreshFrom(array('discount' => null), $apiKey, true); | |||||
} | |||||
} |