PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.8
Booking for Appointments and Events Calendar – Amelia v2.4.8
2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / stripe / stripe-php / lib / Billing / Meter.php
ameliabooking / vendor / stripe / stripe-php / lib / Billing Last commit date
Alert.php 7 months ago AlertTriggered.php 7 months ago CreditBalanceSummary.php 7 months ago CreditBalanceTransaction.php 7 months ago CreditGrant.php 7 months ago Meter.php 7 months ago MeterEvent.php 7 months ago MeterEventAdjustment.php 7 months ago MeterEventSummary.php 7 months ago
Meter.php
149 lines
1 <?php
2
3 // File generated from our OpenAPI spec
4 namespace AmeliaVendor\Stripe\Billing;
5
6 /**
7 * Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. Meters attach to prices and form the basis of the bill.
8 *
9 * Related guide: <a href="https://docs.stripe.com/billing/subscriptions/usage-based">Usage based billing</a>
10 *
11 * @property string $id Unique identifier for the object.
12 * @property string $object String representing the object's type. Objects of the same type share the same value.
13 * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
14 * @property (object{event_payload_key: string, type: string}&\AmeliaVendor\Stripe\StripeObject) $customer_mapping
15 * @property (object{formula: string}&\AmeliaVendor\Stripe\StripeObject) $default_aggregation
16 * @property string $display_name The meter's name.
17 * @property string $event_name The name of the meter event to record usage for. Corresponds with the <code>event_name</code> field on meter events.
18 * @property null|string $event_time_window The time window to pre-aggregate meter events for, if any.
19 * @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
20 * @property string $status The meter's status.
21 * @property (object{deactivated_at: null|int}&\AmeliaVendor\Stripe\StripeObject) $status_transitions
22 * @property int $updated Time at which the object was last updated. Measured in seconds since the Unix epoch.
23 * @property (object{event_payload_key: string}&\AmeliaVendor\Stripe\StripeObject) $value_settings
24 */
25 class Meter extends \AmeliaVendor\Stripe\ApiResource
26 {
27 const OBJECT_NAME = 'billing.meter';
28 use \AmeliaVendor\Stripe\ApiOperations\NestedResource;
29 use \AmeliaVendor\Stripe\ApiOperations\Update;
30 const EVENT_TIME_WINDOW_DAY = 'day';
31 const EVENT_TIME_WINDOW_HOUR = 'hour';
32 const STATUS_ACTIVE = 'active';
33 const STATUS_INACTIVE = 'inactive';
34 /**
35 * Creates a billing meter.
36 *
37 * @param null|array{customer_mapping?: array{event_payload_key: string, type: string}, default_aggregation: array{formula: string}, display_name: string, event_name: string, event_time_window?: string, expand?: string[], value_settings?: array{event_payload_key: string}} $params
38 * @param null|array|string $options
39 *
40 * @return Meter the created resource
41 *
42 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
43 */
44 public static function create($params = null, $options = null)
45 {
46 self::_validateParams($params);
47 $url = static::classUrl();
48 list($response, $opts) = static::_staticRequest('post', $url, $params, $options);
49 $obj = \AmeliaVendor\Stripe\Util\Util::convertToStripeObject($response->json, $opts);
50 $obj->setLastResponse($response);
51 return $obj;
52 }
53 /**
54 * Retrieve a list of billing meters.
55 *
56 * @param null|array{ending_before?: string, expand?: string[], limit?: int, starting_after?: string, status?: string} $params
57 * @param null|array|string $opts
58 *
59 * @return \AmeliaVendor\Stripe\Collection<Meter> of ApiResources
60 *
61 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
62 */
63 public static function all($params = null, $opts = null)
64 {
65 $url = static::classUrl();
66 return static::_requestPage($url, \AmeliaVendor\Stripe\Collection::class, $params, $opts);
67 }
68 /**
69 * Retrieves a billing meter given an ID.
70 *
71 * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key
72 * @param null|array|string $opts
73 *
74 * @return Meter
75 *
76 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
77 */
78 public static function retrieve($id, $opts = null)
79 {
80 $opts = \AmeliaVendor\Stripe\Util\RequestOptions::parse($opts);
81 $instance = new static($id, $opts);
82 $instance->refresh();
83 return $instance;
84 }
85 /**
86 * Updates a billing meter.
87 *
88 * @param string $id the ID of the resource to update
89 * @param null|array{display_name?: string, expand?: string[]} $params
90 * @param null|array|string $opts
91 *
92 * @return Meter the updated resource
93 *
94 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
95 */
96 public static function update($id, $params = null, $opts = null)
97 {
98 self::_validateParams($params);
99 $url = static::resourceUrl($id);
100 list($response, $opts) = static::_staticRequest('post', $url, $params, $opts);
101 $obj = \AmeliaVendor\Stripe\Util\Util::convertToStripeObject($response->json, $opts);
102 $obj->setLastResponse($response);
103 return $obj;
104 }
105 /**
106 * @param null|array $params
107 * @param null|array|string $opts
108 *
109 * @return Meter the deactivated meter
110 *
111 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
112 */
113 public function deactivate($params = null, $opts = null)
114 {
115 $url = $this->instanceUrl() . '/deactivate';
116 list($response, $opts) = $this->_request('post', $url, $params, $opts);
117 $this->refreshFrom($response, $opts);
118 return $this;
119 }
120 /**
121 * @param null|array $params
122 * @param null|array|string $opts
123 *
124 * @return Meter the reactivated meter
125 *
126 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
127 */
128 public function reactivate($params = null, $opts = null)
129 {
130 $url = $this->instanceUrl() . '/reactivate';
131 list($response, $opts) = $this->_request('post', $url, $params, $opts);
132 $this->refreshFrom($response, $opts);
133 return $this;
134 }
135 const PATH_EVENT_SUMMARIES = '/event_summaries';
136 /**
137 * @param string $id the ID of the meter on which to retrieve the meter event summaries
138 * @param null|array $params
139 * @param null|array|string $opts
140 *
141 * @return \AmeliaVendor\Stripe\Collection<MeterEventSummary> the list of meter event summaries
142 *
143 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
144 */
145 public static function allEventSummaries($id, $params = null, $opts = null)
146 {
147 return self::_allNestedResources($id, static::PATH_EVENT_SUMMARIES, $params, $opts);
148 }
149 }