1<?php 2 3// File generated from our OpenAPI spec 4 5namespace Stripe\Service; 6 7class SkuService extends \Stripe\Service\AbstractService 8{ 9 /** 10 * Returns a list of your SKUs. The SKUs are returned sorted by creation date, with 11 * the most recently created SKUs 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/skus', $params, $opts); 23 } 24 25 /** 26 * Creates a new SKU associated with a product. 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\SKU 34 */ 35 public function create($params = null, $opts = null) 36 { 37 return $this->request('post', '/v1/skus', $params, $opts); 38 } 39 40 /** 41 * Delete a SKU. Deleting a SKU is only possible until it has been used in an 42 * order. 43 * 44 * @param string $id 45 * @param null|array $params 46 * @param null|array|\Stripe\Util\RequestOptions $opts 47 * 48 * @throws \Stripe\Exception\ApiErrorException if the request fails 49 * 50 * @return \Stripe\SKU 51 */ 52 public function delete($id, $params = null, $opts = null) 53 { 54 return $this->request('delete', $this->buildPath('/v1/skus/%s', $id), $params, $opts); 55 } 56 57 /** 58 * Retrieves the details of an existing SKU. Supply the unique SKU identifier from 59 * either a SKU creation request or from the product, and Stripe will return the 60 * corresponding SKU information. 61 * 62 * @param string $id 63 * @param null|array $params 64 * @param null|array|\Stripe\Util\RequestOptions $opts 65 * 66 * @throws \Stripe\Exception\ApiErrorException if the request fails 67 * 68 * @return \Stripe\SKU 69 */ 70 public function retrieve($id, $params = null, $opts = null) 71 { 72 return $this->request('get', $this->buildPath('/v1/skus/%s', $id), $params, $opts); 73 } 74 75 /** 76 * Updates the specific SKU by setting the values of the parameters passed. Any 77 * parameters not provided will be left unchanged. 78 * 79 * Note that a SKU’s <code>attributes</code> are not editable. Instead, you would 80 * need to deactivate the existing SKU and create a new one with the new attribute 81 * values. 82 * 83 * @param string $id 84 * @param null|array $params 85 * @param null|array|\Stripe\Util\RequestOptions $opts 86 * 87 * @throws \Stripe\Exception\ApiErrorException if the request fails 88 * 89 * @return \Stripe\SKU 90 */ 91 public function update($id, $params = null, $opts = null) 92 { 93 return $this->request('post', $this->buildPath('/v1/skus/%s', $id), $params, $opts); 94 } 95} 96