Invoice.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace Stripe;
  3. class Invoice extends ApiResource
  4. {
  5. /**
  6. * @param array|null $params
  7. * @param array|string|null $opts
  8. *
  9. * @return Invoice The created invoice.
  10. */
  11. public static function create($params = null, $opts = null)
  12. {
  13. return self::_create($params, $opts);
  14. }
  15. /**
  16. * @param string $id The ID of the invoice to retrieve.
  17. * @param array|string|null $opts
  18. *
  19. * @return Invoice
  20. */
  21. public static function retrieve($id, $opts = null)
  22. {
  23. return self::_retrieve($id, $opts);
  24. }
  25. /**
  26. * @param array|null $params
  27. * @param array|string|null $opts
  28. *
  29. * @return Collection of Invoices
  30. */
  31. public static function all($params = null, $opts = null)
  32. {
  33. return self::_all($params, $opts);
  34. }
  35. /**
  36. * @param array|null $params
  37. * @param array|string|null $opts
  38. *
  39. * @return Invoice The upcoming invoice.
  40. */
  41. public static function upcoming($params = null, $opts = null)
  42. {
  43. $url = static::classUrl() . '/upcoming';
  44. list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
  45. return Util\Util::convertToStripeObject($response, $opts);
  46. }
  47. /**
  48. * @param array|string|null $opts
  49. *
  50. * @return Invoice The saved invoice.
  51. */
  52. public function save($opts = null)
  53. {
  54. return $this->_save($opts);
  55. }
  56. /**
  57. * @return Invoice The paid invoice.
  58. */
  59. public function pay($opts = null)
  60. {
  61. $url = $this->instanceUrl() . '/pay';
  62. list($response, $opts) = $this->_request('post', $url, null, $opts);
  63. $this->refreshFrom($response, $opts);
  64. return $this;
  65. }
  66. }