Packages
stripity_stripe
3.3.1
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/cash_balance.ex
defmodule Stripe.CashBalance do
use Stripe.Entity
@moduledoc "A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account."
(
defstruct [:available, :customer, :livemode, :object, :settings]
@typedoc "The `cash_balance` type.\n\n * `available` A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).\n * `customer` The ID of the customer whose cash balance this object represents.\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 * `settings` \n"
@type t :: %__MODULE__{
available: term | nil,
customer: binary,
livemode: boolean,
object: binary,
settings: term
}
)
(
@typedoc "A hash of settings for this cash balance."
@type settings :: %{
optional(:reconciliation_mode) => :automatic | :manual | :merchant_default
}
)
(
nil
@doc "<p>Retrieves a customer’s cash balance.</p>\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/customers/{customer}/cash_balance`\n"
(
@spec retrieve(
customer :: binary(),
params :: %{optional(:expand) => list(binary)},
opts :: Keyword.t()
) :: {:ok, Stripe.CashBalance.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
def retrieve(customer, params \\ %{}, opts \\ []) do
path =
Stripe.OpenApi.Path.replace_path_params(
"/v1/customers/{customer}/cash_balance",
[
%{
__struct__: OpenApiGen.Blueprint.Parameter,
in: "path",
name: "customer",
required: true,
schema: %{
__struct__: OpenApiGen.Blueprint.Parameter.Schema,
any_of: [],
items: [],
name: "customer",
properties: [],
title: nil,
type: "string"
}
}
],
[customer]
)
Stripe.Request.new_request(opts)
|> Stripe.Request.put_endpoint(path)
|> Stripe.Request.put_params(params)
|> Stripe.Request.put_method(:get)
|> Stripe.Request.make_request()
end
)
)
(
nil
@doc "<p>Changes the settings on a customer’s cash balance.</p>\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/customers/{customer}/cash_balance`\n"
(
@spec update(
customer :: binary(),
params :: %{optional(:expand) => list(binary), optional(:settings) => settings},
opts :: Keyword.t()
) :: {:ok, Stripe.CashBalance.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
def update(customer, params \\ %{}, opts \\ []) do
path =
Stripe.OpenApi.Path.replace_path_params(
"/v1/customers/{customer}/cash_balance",
[
%{
__struct__: OpenApiGen.Blueprint.Parameter,
in: "path",
name: "customer",
required: true,
schema: %{
__struct__: OpenApiGen.Blueprint.Parameter.Schema,
any_of: [],
items: [],
name: "customer",
properties: [],
title: nil,
type: "string"
}
}
],
[customer]
)
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