Stripe.API behaviour (stripity_stripe v2.12.0) View Source

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 expicit 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

Specs

body() :: iodata() | {:multipart, list()}

Specs

headers() :: %{required(String.t()) => String.t()} | %{}

Specs

method() :: :get | :post | :put | :delete | :patch

Link to this section Functions

Link to this function

backoff(attempts, config)

View Source

Specs

backoff(attempts :: non_neg_integer(), config :: Keyword.t()) ::
  non_neg_integer()

Returns backoff in milliseconds.

Link to this function

generate_idempotency_key()

View Source

Specs

generate_idempotency_key() :: binary()

A low level utility function to generate a new idempotency key for Idempotency-Key request header value.

Specs

json_library() :: module()

In config.exs your implicit or expicit configuration is: config :stripity_stripe,

json_library: Poison # defaults to Jason but can be configured to Poison
Link to this function

oauth_request(method, endpoint, body, api_key \\ nil, opts \\ [])

View Source

A low level utility function to make an OAuth request to the Stripe API

Link to this function

request(body, method, endpoint, headers, opts)

View Source

Specs

request(body(), 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

request(%{}, :get, "/customers", %{}, api_key: "bogus key")

Setting api version

The api version defaults to 2019-12-03 but a custom version can be passed in as follows:

request(%{}, :get, "/customers", %{}, api_version: "2018-11-04")

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")
Link to this function

request_file_upload(body, method, endpoint, headers, opts)

View Source

Specs

request_file_upload(body(), 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

Link to this function

should_retry?(response, attempts \\ 0, config \\ [])

View Source

Specs

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.

Link to this section Callbacks

Link to this callback

oauth_request(method, arg2, map)

View Source

Specs

oauth_request(method(), String.t(), map()) :: {:ok, map()}