starkbank v0.3.0 StarkBank.Transfer View Source

Groups Transfer related functions

Link to this section Summary

Functions

When you initialize a Transfer, the entity will not be automatically created in the Stark Bank API. The 'create' function sends the structs to the Stark Bank API and returns the list of created structs.

Send a list of Transfer structs for creation in the Stark Bank API

Same as create(), but it will unwrap the error tuple and raise in case of errors.

Receive a single Transfer struct previously created in the Stark Bank API by passing its id

Same as get(), but it will unwrap the error tuple and raise in case of errors.

Receive a single Transfer pdf receipt file generated in the Stark Bank API by passing its id. Only valid for transfers with "processing" or "success" status.

Same as pdf(), but it will unwrap the error tuple and raise in case of errors.

Receive a stream of Transfer structs previously created in the Stark Bank API

Same as query(), but it will unwrap the error tuple and raise in case of errors.

Link to this section Types

Link to this type

t()

View Source
t() :: %StarkBank.Transfer{
  account_number: term(),
  amount: term(),
  bank_code: term(),
  branch_code: term(),
  created: term(),
  fee: term(),
  id: term(),
  name: term(),
  status: term(),
  tags: term(),
  tax_id: term(),
  transaction_ids: term(),
  updated: term()
}

Link to this section Functions

Link to this function

%StarkBank.Transfer{}

View Source (struct)

When you initialize a Transfer, the entity will not be automatically created in the Stark Bank API. The 'create' function sends the structs to the Stark Bank API and returns the list of created structs.

Parameters (required):

  • :amount [integer]: amount in cents to be transferred. ex: 1234 (= R$ 12.34)
  • :name [string]: receiver full name. ex: "Anthony Edward Stark"
  • :tax_id [string]: receiver tax ID (CPF or CNPJ) with or without formatting. ex: "01234567890" or "20.018.183/0001-80"
  • :bank_code [string]: receiver 1 to 3 digits of the bank institution in Brazil. ex: "200" or "341"
  • :branch_code [string]: receiver bank account branch. Use '-' in case there is a verifier digit. ex: "1357-9"
  • :account_number [string]: Receiver Bank Account number. Use '-' before the verifier digit. ex: "876543-2"

Parameters (optional):

  • :tags [list of strings]: list of strings for reference when searching for transfers. ex: ["employees", "monthly"]

Attributes (return-only):

  • :id [string, default nil]: unique id returned when Transfer is created. ex: "5656565656565656"
  • :fee [integer, default nil]: fee charged when transfer is created. ex: 200 (= R$ 2.00)
  • :status [string, default nil]: current boleto status. ex: "registered" or "paid"
  • :transaction_ids [list of strings, default nil]: ledger transaction ids linked to this transfer (if there are two, second is the chargeback). ex: ["19827356981273"]
  • :created [DateTime, default nil]: creation datetime for the transfer. ex: ~U[2020-03-26 19:32:35.418698Z]
  • :updated [DateTime, default nil]: latest update datetime for the transfer. ex: ~U[2020-03-26 19:32:35.418698Z]
Link to this function

create(transfers, options \\ [])

View Source
create([StarkBank.Transfer.t() | map()], [
  {:user, StarkBank.User.Project.t() | nil}
]) :: {:ok, [StarkBank.Transfer.t()]} | {:error, [StarkBank.Error.t()]}

Send a list of Transfer structs for creation in the Stark Bank API

Parameters (required):

  • transfers [list of Transfer structs]: list of Transfer structs to be created in the API

Options:

  • :user [Project]: Project struct returned from StarkBank.project(). Only necessary if default project has not been set in configs.

Return:

  • list of Transfer structs with updated attributes
Link to this function

create!(transfers, options \\ [])

View Source
create!([StarkBank.Transfer.t() | map()], [
  {:user, StarkBank.User.Project.t() | nil}
]) :: any()

Same as create(), but it will unwrap the error tuple and raise in case of errors.

Link to this function

get(id, options \\ [])

View Source
get(binary(), [{:user, StarkBank.User.Project.t() | nil}]) ::
  {:ok, StarkBank.Transfer.t()}
  | {:error, [%StarkBank.Error{code: term(), message: term()}]}

Receive a single Transfer struct previously created in the Stark Bank API by passing its id

Parameters (required):

  • id [string]: struct unique id. ex: "5656565656565656"

Options:

  • :user [Project]: Project struct returned from StarkBank.project(). Only necessary if default project has not been set in configs.

Return:

  • Transfer struct with updated attributes
Link to this function

get!(id, options \\ [])

View Source
get!(binary(), [{:user, StarkBank.User.Project.t() | nil}]) ::
  StarkBank.Transfer.t()

Same as get(), but it will unwrap the error tuple and raise in case of errors.

Link to this function

pdf(id, options \\ [])

View Source
pdf(binary(), [{:user, StarkBank.User.Project.t() | nil}]) ::
  {:ok, binary()} | {:error, [%StarkBank.Error{code: term(), message: term()}]}

Receive a single Transfer pdf receipt file generated in the Stark Bank API by passing its id. Only valid for transfers with "processing" or "success" status.

Parameters (required):

  • id [string]: struct unique id. ex: "5656565656565656"

Options:

  • :user [Project]: Project struct returned from StarkBank.project(). Only necessary if default project has not been set in configs.

Return:

  • Transfer pdf file content
Link to this function

pdf!(id, options \\ [])

View Source
pdf!(binary(), [{:user, StarkBank.User.Project.t() | nil}]) :: binary()

Same as pdf(), but it will unwrap the error tuple and raise in case of errors.

Link to this function

query(options \\ [])

View Source
query(
  limit: integer(),
  after: Date.t() | DateTime.t() | binary(),
  before: Date.t() | DateTime.t() | binary(),
  transaction_ids: [binary()],
  status: binary(),
  sort: binary(),
  tags: [binary()],
  user: StarkBank.User.Project.t()
) ::
  ({:cont, {:ok, [StarkBank.Transfer.t()]}}
   | {:error, [StarkBank.Error.t()]}
   | {:halt, any()}
   | {:suspend, any()},
   any() ->
     any())

Receive a stream of Transfer structs previously created in the Stark Bank API

Options:

  • :limit [integer, default nil]: maximum number of structs to be retrieved. Unlimited if nil. ex: 35
  • :after [Date, DateTime or string, default nil]: date filter for structs created or updated only after specified date. ex: ~D[2020-03-25]
  • :before [Date, DateTime or string, default nil]: date filter for structs created or updated only before specified date. ex: ~D[2020-03-25]
  • :transaction_ids [list of strings, default nil]: list of transaction IDs linked to the desired transfers. ex: ["5656565656565656", "4545454545454545"]
  • :status [string, default nil]: filter for status of retrieved structs. ex: "paid" or "registered"
  • :sort [string, default "-created"]: sort order considered in response. Valid options are "created", "-created", "updated" or "-updated".
  • :tags [list of strings, default nil]: tags to filter retrieved structs. ex: ["tony", "stark"]
  • :user [Project]: Project struct returned from StarkBank.project(). Only necessary if default project has not been set in configs.

Return:

  • stream of Transfer structs with updated attributes
Link to this function

query!(options \\ [])

View Source
query!(
  limit: integer(),
  after: Date.t() | DateTime.t() | binary(),
  before: Date.t() | DateTime.t() | binary(),
  transaction_ids: [binary()],
  status: binary(),
  sort: binary(),
  tags: [binary()],
  user: StarkBank.User.Project.t()
) ::
  ({:cont, [StarkBank.Transfer.t()]}
   | {:halt, any()}
   | {:suspend, any()},
   any() ->
     any())

Same as query(), but it will unwrap the error tuple and raise in case of errors.