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/payment_source.ex
defmodule Stripe.PaymentSource do
use Stripe.Entity
@moduledoc nil
(
defstruct []
@typedoc "The `payment_source` type.\n\n\n"
@type t :: %__MODULE__{}
)
(
nil
@doc "<p>List sources for a specified customer.</p>\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/customers/{customer}/sources`\n"
(
@spec list(
customer :: binary(),
params :: %{
optional(:ending_before) => binary,
optional(:expand) => list(binary),
optional(:limit) => integer,
optional(:object) => binary,
optional(:starting_after) => binary
},
opts :: Keyword.t()
) ::
{:ok, Stripe.List.t(Stripe.PaymentSource.t())}
| {:error, Stripe.ApiErrors.t()}
| {:error, term()}
def list(customer, params \\ %{}, opts \\ []) do
path =
Stripe.OpenApi.Path.replace_path_params(
"/v1/customers/{customer}/sources",
[
%{
__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>Retrieve a specified source for a given customer.</p>\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/customers/{customer}/sources/{id}`\n"
(
@spec retrieve(
customer :: binary(),
id :: binary(),
params :: %{optional(:expand) => list(binary)},
opts :: Keyword.t()
) ::
{:ok, Stripe.PaymentSource.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
def retrieve(customer, id, params \\ %{}, opts \\ []) do
path =
Stripe.OpenApi.Path.replace_path_params(
"/v1/customers/{customer}/sources/{id}",
[
%{
__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"
}
},
%{
__struct__: OpenApiGen.Blueprint.Parameter,
in: "path",
name: "id",
required: true,
schema: %{
__struct__: OpenApiGen.Blueprint.Parameter.Schema,
any_of: [],
items: [],
name: "id",
properties: [],
title: nil,
type: "string"
}
}
],
[customer, id]
)
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>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>\n\n<p>If the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should <a href=\"/docs/api#update_customer\">update the customer</a> to have a new <code>default_source</code>.</p>\n\n#### Details\n\n * Method: `post`\n * Path: `/v1/customers/{customer}/sources`\n"
(
@spec create(
customer :: binary(),
params :: %{
optional(:expand) => list(binary),
optional(:metadata) => %{optional(binary) => binary},
optional(:source) => binary,
optional(:validate) => boolean
},
opts :: Keyword.t()
) ::
{:ok, Stripe.PaymentSource.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
def create(customer, params \\ %{}, opts \\ []) do
path =
Stripe.OpenApi.Path.replace_path_params(
"/v1/customers/{customer}/sources",
[
%{
__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