Packages
stripity_stripe
3.3.2
3.3.2
3.3.1
3.2.0
3.1.1
3.1.0
3.0.0
2.17.3
2.17.2
2.17.1
2.17.0
2.16.0
2.15.1
2.15.0
2.14.1
2.14.0
2.13.0
2.12.1
2.12.0
2.11.0
2.10.0
2.9.0
2.8.0
2.7.2
2.7.1
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
2.2.3
2.2.2
2.2.1
2.2.0
2.1.0
2.0.1
2.0.0
2.0.0-alpha.11
2.0.0-alpha.10
2.0.0-alpha.9
2.0.0-alpha.8
2.0.0-alpha.7
2.0.0-alpha.6
2.0.0-alpha.5
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
1.6.2
1.6.1
1.6.0
1.4.0
1.3.0
1.2.0
1.1.0
0.5.0
0.4.0
0.3.0
0.2.0
A Stripe client for Elixir.
Current section
Files
Jump to
Current section
Files
lib/generated/billing__meter_event.ex
defmodule Stripe.Billing.MeterEvent do
use Stripe.Entity
@moduledoc "Meter events represent actions that customers take in your system. You can use meter events to bill a customer based on their usage. Meter events are associated with billing meters, which define both the contents of the event’s payload and how to aggregate those events."
(
defstruct [:created, :event_name, :identifier, :livemode, :object, :payload, :timestamp]
@typedoc "The `billing.meter_event` type.\n\n * `created` Time at which the object was created. Measured in seconds since the Unix epoch.\n * `event_name` The name of the meter event. Corresponds with the `event_name` field on a meter.\n * `identifier` A unique identifier for the event.\n * `livemode` Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `payload` The payload of the event. This contains the fields corresponding to a meter's `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and `value_settings.event_payload_key` (default is `value`). Read more about the [payload](https://stripe.com/docs/billing/subscriptions/usage-based/recording-usage#payload-key-overrides).\n * `timestamp` The timestamp passed in when creating the event. Measured in seconds since the Unix epoch.\n"
@type t :: %__MODULE__{
created: integer,
event_name: binary,
identifier: binary,
livemode: boolean,
object: binary,
payload: term,
timestamp: integer
}
)
(
nil
@doc "<p>Creates a billing meter event.</p>\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/billing/meter_events`\n"
(
@spec create(
params :: %{
optional(:event_name) => binary,
optional(:expand) => list(binary),
optional(:identifier) => binary,
optional(:payload) => map(),
optional(:timestamp) => integer
},
opts :: Keyword.t()
) ::
{:ok, Stripe.Billing.MeterEvent.t()}
| {:error, Stripe.ApiErrors.t()}
| {:error, term()}
def create(params \\ %{}, opts \\ []) do
path = Stripe.OpenApi.Path.replace_path_params("/v1/billing/meter_events", [], [])
Stripe.Request.new_request(opts)
|> Stripe.Request.put_endpoint(path)
|> Stripe.Request.put_params(params)
|> Stripe.Request.put_method(:post)
|> Stripe.Request.make_request()
end
)
)
end