Order.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace Stripe;
  3. /**
  4. * Class Order
  5. *
  6. * @package Stripe
  7. */
  8. class Order extends ApiResource
  9. {
  10. /**
  11. * @param string $id The ID of the Order to retrieve.
  12. * @param array|string|null $opts
  13. *
  14. * @return Order
  15. */
  16. public static function retrieve($id, $opts = null)
  17. {
  18. return self::_retrieve($id, $opts);
  19. }
  20. /**
  21. * @param array|null $params
  22. * @param array|string|null $opts
  23. *
  24. * @return Order The created Order.
  25. */
  26. public static function create($params = null, $opts = null)
  27. {
  28. return self::_create($params, $opts);
  29. }
  30. /**
  31. * @param string $id The ID of the order to update.
  32. * @param array|null $params
  33. * @param array|string|null $options
  34. *
  35. * @return Order The updated order.
  36. */
  37. public static function update($id, $params = null, $options = null)
  38. {
  39. return self::_update($id, $params, $options);
  40. }
  41. /**
  42. * @param array|string|null $opts
  43. *
  44. * @return Order The saved Order.
  45. */
  46. public function save($opts = null)
  47. {
  48. return $this->_save($opts);
  49. }
  50. /**
  51. * @param array|null $params
  52. * @param array|string|null $opts
  53. *
  54. * @return Collection of Orders
  55. */
  56. public static function all($params = null, $opts = null)
  57. {
  58. return self::_all($params, $opts);
  59. }
  60. /**
  61. * @return Order The paid order.
  62. */
  63. public function pay($params = null, $opts = null)
  64. {
  65. $url = $this->instanceUrl() . '/pay';
  66. list($response, $opts) = $this->_request('post', $url, $params, $opts);
  67. $this->refreshFrom($response, $opts);
  68. return $this;
  69. }
  70. /**
  71. * @return OrderReturn The newly created return.
  72. */
  73. public function returnOrder($params = null, $opts = null)
  74. {
  75. $url = $this->instanceUrl() . '/returns';
  76. list($response, $opts) = $this->_request('post', $url, $params, $opts);
  77. return Util\Util::convertToStripeObject($response, $opts);
  78. }
  79. }