PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.15.5
GiveWP – Donation Plugin and Fundraising Platform v4.15.5
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
give / vendor / stripe / stripe-php / lib / Service / SubscriptionItemService.php

SubscriptionItemService.php in GiveWP – Donation Plugin and Fundraising Platform 4.15.5, at vendor/stripe/stripe-php/lib/Service/SubscriptionItemService.php

152 lines 5.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // File generated from our OpenAPI spec
4
5 namespace Stripe\Service;
6
7 class SubscriptionItemService extends \Stripe\Service\AbstractService
8 {
9 /**
10 * Returns a list of your subscription items for a given subscription.
11 *
12 * @param null|array $params
13 * @param null|array|\Stripe\Util\RequestOptions $opts
14 *
15 * @throws \Stripe\Exception\ApiErrorException if the request fails
16 *
17 * @return \Stripe\Collection<\Stripe\SubscriptionItem>
18 */
19 public function all($params = null, $opts = null)
20 {
21 return $this->requestCollection('get', '/v1/subscription_items', $params, $opts);
22 }
23
24 /**
25 * For the specified subscription item, returns a list of summary objects. Each
26 * object in the list provides usage information that’s been summarized from
27 * multiple usage records and over a subscription billing period (e.g., 15 usage
28 * records in the month of September).
29 *
30 * The list is sorted in reverse-chronological order (newest first). The first list
31 * item represents the most current usage period that hasn’t ended yet. Since new
32 * usage records can still be added, the returned summary information for the
33 * subscription item’s ID should be seen as unstable until the subscription billing
34 * period ends.
35 *
36 * @param string $parentId
37 * @param null|array $params
38 * @param null|array|\Stripe\Util\RequestOptions $opts
39 *
40 * @throws \Stripe\Exception\ApiErrorException if the request fails
41 *
42 * @return \Stripe\Collection<\Stripe\UsageRecordSummary>
43 */
44 public function allUsageRecordSummaries($parentId, $params = null, $opts = null)
45 {
46 return $this->requestCollection('get', $this->buildPath('/v1/subscription_items/%s/usage_record_summaries', $parentId), $params, $opts);
47 }
48
49 /**
50 * Adds a new item to an existing subscription. No existing items will be changed
51 * or replaced.
52 *
53 * @param null|array $params
54 * @param null|array|\Stripe\Util\RequestOptions $opts
55 *
56 * @throws \Stripe\Exception\ApiErrorException if the request fails
57 *
58 * @return \Stripe\SubscriptionItem
59 */
60 public function create($params = null, $opts = null)
61 {
62 return $this->request('post', '/v1/subscription_items', $params, $opts);
63 }
64
65 /**
66 * Creates a usage record for a specified subscription item and date, and fills it
67 * with a quantity.
68 *
69 * Usage records provide <code>quantity</code> information that Stripe uses to
70 * track how much a customer is using your service. With usage information and the
71 * pricing model set up by the <a
72 * href="https://stripe.com/docs/billing/subscriptions/metered-billing">metered
73 * billing</a> plan, Stripe helps you send accurate invoices to your customers.
74 *
75 * The default calculation for usage is to add up all the <code>quantity</code>
76 * values of the usage records within a billing period. You can change this default
77 * behavior with the billing plan’s <code>aggregate_usage</code> <a
78 * href="/docs/api/plans/create#create_plan-aggregate_usage">parameter</a>. When
79 * there is more than one usage record with the same timestamp, Stripe adds the
80 * <code>quantity</code> values together. In most cases, this is the desired
81 * resolution, however, you can change this behavior with the <code>action</code>
82 * parameter.
83 *
84 * The default pricing model for metered billing is <a
85 * href="/docs/api/plans/object#plan_object-billing_scheme">per-unit pricing</a>.
86 * For finer granularity, you can configure metered billing to have a <a
87 * href="https://stripe.com/docs/billing/subscriptions/tiers">tiered pricing</a>
88 * model.
89 *
90 * @param string $parentId
91 * @param null|array $params
92 * @param null|array|\Stripe\Util\RequestOptions $opts
93 *
94 * @throws \Stripe\Exception\ApiErrorException if the request fails
95 *
96 * @return \Stripe\UsageRecord
97 */
98 public function createUsageRecord($parentId, $params = null, $opts = null)
99 {
100 return $this->request('post', $this->buildPath('/v1/subscription_items/%s/usage_records', $parentId), $params, $opts);
101 }
102
103 /**
104 * Deletes an item from the subscription. Removing a subscription item from a
105 * subscription will not cancel the subscription.
106 *
107 * @param string $id
108 * @param null|array $params
109 * @param null|array|\Stripe\Util\RequestOptions $opts
110 *
111 * @throws \Stripe\Exception\ApiErrorException if the request fails
112 *
113 * @return \Stripe\SubscriptionItem
114 */
115 public function delete($id, $params = null, $opts = null)
116 {
117 return $this->request('delete', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts);
118 }
119
120 /**
121 * Retrieves the subscription item with the given ID.
122 *
123 * @param string $id
124 * @param null|array $params
125 * @param null|array|\Stripe\Util\RequestOptions $opts
126 *
127 * @throws \Stripe\Exception\ApiErrorException if the request fails
128 *
129 * @return \Stripe\SubscriptionItem
130 */
131 public function retrieve($id, $params = null, $opts = null)
132 {
133 return $this->request('get', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts);
134 }
135
136 /**
137 * Updates the plan or quantity of an item on a current subscription.
138 *
139 * @param string $id
140 * @param null|array $params
141 * @param null|array|\Stripe\Util\RequestOptions $opts
142 *
143 * @throws \Stripe\Exception\ApiErrorException if the request fails
144 *
145 * @return \Stripe\SubscriptionItem
146 */
147 public function update($id, $params = null, $opts = null)
148 {
149 return $this->request('post', $this->buildPath('/v1/subscription_items/%s', $id), $params, $opts);
150 }
151 }
152