1<?php 2 3// File generated from our OpenAPI spec 4 5namespace Stripe\Service; 6 7class OrderService extends \Stripe\Service\AbstractService 8{ 9 /** 10 * Returns a list of your orders. The orders are returned sorted by creation date, 11 * with the most recently created orders appearing first. 12 * 13 * @param null|array $params 14 * @param null|array|\Stripe\Util\RequestOptions $opts 15 * 16 * @throws \Stripe\Exception\ApiErrorException if the request fails 17 * 18 * @return \Stripe\Collection 19 */ 20 public function all($params = null, $opts = null) 21 { 22 return $this->requestCollection('get', '/v1/orders', $params, $opts); 23 } 24 25 /** 26 * Creates a new order object. 27 * 28 * @param null|array $params 29 * @param null|array|\Stripe\Util\RequestOptions $opts 30 * 31 * @throws \Stripe\Exception\ApiErrorException if the request fails 32 * 33 * @return \Stripe\Order 34 */ 35 public function create($params = null, $opts = null) 36 { 37 return $this->request('post', '/v1/orders', $params, $opts); 38 } 39 40 /** 41 * Pay an order by providing a <code>source</code> to create a payment. 42 * 43 * @param string $id 44 * @param null|array $params 45 * @param null|array|\Stripe\Util\RequestOptions $opts 46 * 47 * @throws \Stripe\Exception\ApiErrorException if the request fails 48 * 49 * @return \Stripe\Order 50 */ 51 public function pay($id, $params = null, $opts = null) 52 { 53 return $this->request('post', $this->buildPath('/v1/orders/%s/pay', $id), $params, $opts); 54 } 55 56 /** 57 * Retrieves the details of an existing order. Supply the unique order ID from 58 * either an order creation request or the order list, and Stripe will return the 59 * corresponding order information. 60 * 61 * @param string $id 62 * @param null|array $params 63 * @param null|array|\Stripe\Util\RequestOptions $opts 64 * 65 * @throws \Stripe\Exception\ApiErrorException if the request fails 66 * 67 * @return \Stripe\Order 68 */ 69 public function retrieve($id, $params = null, $opts = null) 70 { 71 return $this->request('get', $this->buildPath('/v1/orders/%s', $id), $params, $opts); 72 } 73 74 /** 75 * Return all or part of an order. The order must have a status of 76 * <code>paid</code> or <code>fulfilled</code> before it can be returned. Once all 77 * items have been returned, the order will become <code>canceled</code> or 78 * <code>returned</code> depending on which status the order started in. 79 * 80 * @param string $id 81 * @param null|array $params 82 * @param null|array|\Stripe\Util\RequestOptions $opts 83 * 84 * @throws \Stripe\Exception\ApiErrorException if the request fails 85 * 86 * @return \Stripe\Order 87 */ 88 public function returnOrder($id, $params = null, $opts = null) 89 { 90 return $this->request('post', $this->buildPath('/v1/orders/%s/returns', $id), $params, $opts); 91 } 92 93 /** 94 * Updates the specific order by setting the values of the parameters passed. Any 95 * parameters not provided will be left unchanged. 96 * 97 * @param string $id 98 * @param null|array $params 99 * @param null|array|\Stripe\Util\RequestOptions $opts 100 * 101 * @throws \Stripe\Exception\ApiErrorException if the request fails 102 * 103 * @return \Stripe\Order 104 */ 105 public function update($id, $params = null, $opts = null) 106 { 107 return $this->request('post', $this->buildPath('/v1/orders/%s', $id), $params, $opts); 108 } 109} 110