starkbank v0.0.1 StarkBank.Transaction View Source

Groups Transaction related functions

Transaction struct:

A Transaction is a transfer of funds between workspaces inside Stark Bank. Transactions created by the user are only for internal transactions. Other operations (such as transfer or charge-payment) will automatically create a transaction for the user which can be retrieved for the statement. When you initialize a Transaction, 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)
  • description [string]: text to be displayed in the receiver and the sender statements (Min. 10 characters). ex: "funds redistribution"
  • external_id [string]: unique id, generated by user, to avoid duplicated transactions. ex: "transaction ABC 2020-03-30"
  • received_id [string]: unique id of the receiving workspace. ex: "5656565656565656"

Parameters (optional):

  • tags [list of strings]: list of strings for reference when searching transactions (may be empty). ex: ["abc", "test"]

Attributes (return-only):

  • id [string, default nil]: unique id returned when Transaction is created. ex: "7656565656565656"
  • fee [integer, default nil]: fee charged when transfer is created. ex: 200 (= R$ 2.00)
  • source [string, default nil]: locator of the entity that generated the transaction. ex: "charge/18276318736" or "transfer/19381639871263/chargeback"
  • created [DateTime, default nil]: creation datetime for the boleto. ex: ~U[2020-03-26 19:32:35.418698Z]

Link to this section Summary

Functions

Create Transactions

Send a list of Transaction entities for creation in the Stark Bank API

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

Retrieve a specific Transaction

Receive a single Transaction entity 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.

Retrieve Transactions

Receive a stream of Transaction entities 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.Transaction{
  amount: term(),
  created: term(),
  description: term(),
  external_id: term(),
  fee: term(),
  id: term(),
  receiver_id: term(),
  source: term(),
  tags: term()
}

Link to this section Functions

Link to this function

create(user, transactions)

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

Create Transactions

Send a list of Transaction entities for creation in the Stark Bank API

Parameters (required):

  • user [Project]: Project struct returned from StarkBank.project().
  • transactions [list of Transaction entities]: list of Transaction entities to be created in the API

Return:

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

create!(user, transactions)

View Source
create!(StarkBank.User.Project.t(), [StarkBank.Transaction.t()]) :: any()

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

Link to this function

get(user, id)

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

Retrieve a specific Transaction

Receive a single Transaction entity previously created in the Stark Bank API by passing its id

Parameters (required):

  • user [Project]: Project struct returned from StarkBank.project().
  • id [string]: entity unique id. ex: "5656565656565656"

Return:

  • Transaction struct with updated attributes
Link to this function

get!(user, id)

View Source
get!(StarkBank.User.Project.t(), binary()) :: StarkBank.Transaction.t()

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

Link to this function

query(user, options \\ [])

View Source
query(StarkBank.User.Project.t(), any()) ::
  ({:cont, {:ok, [StarkBank.Transaction.t()]}}
   | {:error, [StarkBank.Error.t()]}
   | {:halt, any()}
   | {:suspend, any()},
   any() ->
     any())

Retrieve Transactions

Receive a stream of Transaction entities previously created in the Stark Bank API

Parameters (required):

  • user [Project]: Project struct returned from StarkBank.project().

Parameters (optional):

  • limit [integer, default nil]: maximum number of entities to be retrieved. Unlimited if nil. ex: 35
  • external_ids [list of strings, default nil]: list of external ids to filter retrieved entities. ex: ["5656565656565656", "4545454545454545"]
  • after [Date, default nil] date filter for entities created only after specified date. ex: Date(2020, 3, 10)
  • before [Date, default nil] date filter for entities created only before specified date. ex: Date(2020, 3, 10)

Return:

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

query!(user, options \\ [])

View Source
query!(StarkBank.User.Project.t(), any()) ::
  ({:cont, [StarkBank.Transaction.t()]}
   | {:halt, any()}
   | {:suspend, any()},
   any() ->
     any())

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