Files
dolibarr/htdocs/includes/stripe/lib/Invoice.php
Alexandre SPANGARO d0e27f67e7 Add plugins Stripe
2017-04-18 05:44:08 +02:00

93 lines
2.1 KiB
PHP

<?php
namespace Stripe;
/**
* Class Invoice
*
* @package Stripe
*/
class Invoice extends ApiResource
{
/**
* @param array|null $params
* @param array|string|null $opts
*
* @return Invoice The created invoice.
*/
public static function create($params = null, $opts = null)
{
return self::_create($params, $opts);
}
/**
* @param string $id The ID of the invoice to retrieve.
* @param array|string|null $opts
*
* @return Invoice
*/
public static function retrieve($id, $opts = null)
{
return self::_retrieve($id, $opts);
}
/**
* @param array|null $params
* @param array|string|null $opts
*
* @return Collection of Invoices
*/
public static function all($params = null, $opts = null)
{
return self::_all($params, $opts);
}
/**
* @param string $id The ID of the invoice to update.
* @param array|null $params
* @param array|string|null $options
*
* @return Invoice The updated invoice.
*/
public static function update($id, $params = null, $options = null)
{
return self::_update($id, $params, $options);
}
/**
* @param array|null $params
* @param array|string|null $opts
*
* @return Invoice The upcoming invoice.
*/
public static function upcoming($params = null, $opts = null)
{
$url = static::classUrl() . '/upcoming';
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
$obj = Util\Util::convertToStripeObject($response->json, $opts);
$obj->setLastResponse($response);
return $obj;
}
/**
* @param array|string|null $opts
*
* @return Invoice The saved invoice.
*/
public function save($opts = null)
{
return $this->_save($opts);
}
/**
* @return Invoice The paid invoice.
*/
public function pay($opts = null)
{
$url = $this->instanceUrl() . '/pay';
list($response, $opts) = $this->_request('post', $url, null, $opts);
$this->refreshFrom($response, $opts);
return $this;
}
}