View Source Stripe.API behaviour (stripity_stripe v3.1.1)
Low-level utilities for interacting with the Stripe API.
Usually the utilities in Stripe.Request
are a better way to write custom interactions with
the API.
Link to this section Summary
Functions
Returns backoff in milliseconds.
A low level utility function to generate a new idempotency key for
Idempotency-Key
request header value.
In config.exs your implicit or explicit configuration is: config :stripity_stripe,
A low level utility function to make an OAuth request to the Stripe API
A low level utility function to make a direct request to the Stripe API
A low level utility function to make a direct request to the files Stripe API
Checks if an error is a problem that we should retry on. This includes both socket errors that may represent an intermittent problem and some special HTTP statuses.
Link to this section Types
@type method() :: :get | :post | :put | :delete | :patch
Link to this section Callbacks
Link to this section Functions
@spec backoff(attempts :: non_neg_integer(), config :: Keyword.t()) :: non_neg_integer()
Returns backoff in milliseconds.
@spec generate_idempotency_key() :: binary()
A low level utility function to generate a new idempotency key for
Idempotency-Key
request header value.
@spec json_library() :: module()
In config.exs your implicit or explicit configuration is: config :stripity_stripe,
json_library: Poison # defaults to Jason but can be configured to Poison
A low level utility function to make an OAuth request to the Stripe API
@spec request(map(), method(), String.t(), headers(), list()) :: {:ok, map()} | {:error, Stripe.Error.t()}
A low level utility function to make a direct request to the Stripe API
setting-the-api-key
Setting the api key
request(%{}, :get, "/customers", %{}, api_key: "bogus key")
setting-api-version
Setting api version
The api version defaults to 2022-11-15 but a custom version can be passed in as follows:
request(%{}, :get, "/customers", %{}, api_version: "2018-11-04")
connect-accounts
Connect Accounts
If you'd like to make a request on behalf of another Stripe account utilizing the Connect program, you can pass the other Stripe account's ID to the request function as follows:
request(%{}, :get, "/customers", %{}, connect_account: "acc_134151")
@spec request_file_upload(map(), method(), String.t(), headers(), list()) :: {:ok, map()} | {:error, Stripe.Error.t()}
A low level utility function to make a direct request to the files Stripe API
@spec should_retry?( http_success() | http_failure(), attempts :: non_neg_integer(), config :: Keyword.t() ) :: boolean()
Checks if an error is a problem that we should retry on. This includes both socket errors that may represent an intermittent problem and some special HTTP statuses.