1<?php
2
3// File generated from our OpenAPI spec
4
5namespace Stripe\Service;
6
7class TaxRateService extends \Stripe\Service\AbstractService
8{
9    /**
10     * Returns a list of your tax rates. Tax rates are returned sorted by creation
11     * date, with the most recently created tax rates 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/tax_rates', $params, $opts);
23    }
24
25    /**
26     * Creates a new tax rate.
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\TaxRate
34     */
35    public function create($params = null, $opts = null)
36    {
37        return $this->request('post', '/v1/tax_rates', $params, $opts);
38    }
39
40    /**
41     * Retrieves a tax rate with the given ID.
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\TaxRate
50     */
51    public function retrieve($id, $params = null, $opts = null)
52    {
53        return $this->request('get', $this->buildPath('/v1/tax_rates/%s', $id), $params, $opts);
54    }
55
56    /**
57     * Updates an existing tax rate.
58     *
59     * @param string $id
60     * @param null|array $params
61     * @param null|array|\Stripe\Util\RequestOptions $opts
62     *
63     * @throws \Stripe\Exception\ApiErrorException if the request fails
64     *
65     * @return \Stripe\TaxRate
66     */
67    public function update($id, $params = null, $opts = null)
68    {
69        return $this->request('post', $this->buildPath('/v1/tax_rates/%s', $id), $params, $opts);
70    }
71}
72