View Source Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction (ibanity v1.1.0)

Sandbox Financial Institution Transaction API wrapper

Summary

Functions

Same as create/3, but :attributes, :account_id, and :token must be set in request.

Examples

Set id and token to create a FinancialInstitutionTransaction

iex> %PontoConnect.Token{}
...> |> Request.token()
...> |> Request.ids(financial_institution_id: financial_institution_id, financial_institution_account_id: financial_institution_account_id)
...> |> Request.attributes(attributes)
...> |> PontoConnect.FinancialInstitutionTransaction.create()
{:ok, %PontoConnect.FinancialInstitutionTransaction{id: "343e64e5-4882-4559-96d0-221c398288f3"}}
Link to this function

create(request_or_token, ids, attrs)

View Source

Creates a sandbox Financial Institution Transaction.

Returns {:ok, %__MODULE__{}} if successful, {:error, reason} otherwise.

Takes a map with the following keys as second argument:

Examples

Fetch a financial institution and financial institution account before each example, or use a valid financial institution id

iex> {:ok, financial_institution_or_id} = Ibanity.PontoConnect.FinancialInstitution.find_public(
...>   "953934eb-229a-4fd2-8675-07794078cc7d"
...> )
iex> {:ok, financial_institution_account_or_id} = Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount.find(
...>   token,
...>   %{
...>     financial_institution_id: financial_institution_or_id,
...>     id: "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"
...>   }
...> )

Or

iex> financial_institution_or_id = "953934eb-229a-4fd2-8675-07794078cc7d"
iex> financial_institution_account_or_id = "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"

Attributes

iex> attributes = [
...>   valueDate: "2020-05-22T00:00:00Z",
...>   executionDate: "2020-05-25T00:00:00Z",
...>   amount: 84.42,
...>   currency: "EUR",
...>   counterpartName: "Otro Bank",
...>   counterpartReference: "BE9786154282554",
...>   description: "Small Cotton Shoes",
...>   remittanceInformation: "NEW SHOES",
...>   remittanceInformationType: "unstructured",
...>   endToEndId: "ref.243435343",
...>   purposeCode: "CASH",
...>   mandateId: "234",
...>   creditorId: "123498765421",
...>   additionalInformation: "Online payment on fake-tpp.com",
...>   proprietaryBankTransactionCode: "12267",
...>   bankTransactionCode: "PMNT-IRCT-ESCT",
...>   cardReferenceType: "MASKEDPAN",
...>   cardReference: "6666",
...>   fee: 3.14
...> ]

IDs

iex> ids = %{
...>   financial_institution_id: financial_institution_or_id,
...>   financial_institution_account_id: financial_institution_account_or_id
...> }

Use attributes and ids:

iex> PontoConnect.Sandbox.FinancialInstitutionTransaction.create(token, ids, attributes)
{:ok, %PontoConnect.Sandbox.FinancialInstitutionTransaction{id: "343e64e5-4882-4559-96d0-221c398288f3"}}

iex> request = Request.token(token)
iex> PontoConnect.Sandbox.FinancialInstitutionTransaction.create(request, ids, attributes)
{:ok, %PontoConnect.Sandbox.FinancialInstitutionTransaction{id: "343e64e5-4882-4559-96d0-221c398288f3"}}
Link to this function

find(request_or_token, ids)

View Source

Find sandbox Financial Institution Transaction by id

Takes a Ibanity.PontoConnect.Token, or a Ibanity.Request with set :token as first argument.

Takes a map with the following keys as second argument:

Examples

Fetch a financial institution and financial institution account before each example, or use a valid financial institution id

iex> {:ok, financial_institution_or_id} = Ibanity.PontoConnect.FinancialInstitution.find_public(
...>   "953934eb-229a-4fd2-8675-07794078cc7d"
...> )
iex> {:ok, financial_institution_account_or_id} = Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount.find(
...>   token,
...>   %{
...>     financial_institution_id: financial_institution_or_id,
...>     id: "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"
...>   }
...> )

Or

iex> financial_institution_or_id = "953934eb-229a-4fd2-8675-07794078cc7d"
iex> financial_institution_account_or_id = "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"

Use financial_institution_or_id and financial_institution_account_or_id to find a Financial Institution Transactions

iex> token
...> |> Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction.find(%{
...>   financial_institution_id: financial_institution_or_id,
...>   financial_institution_account_id: financial_institution_account_or_id,
...>   id: "953934eb-229a-4fd2-8675-07794078cc7d"
...> })
{:ok, %Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction{id: "953934eb-229a-4fd2-8675-07794078cc7d"}}

iex> token
...> |> Ibanity.Request.token()
...> |> Ibanity.Request.application(:my_application)
...> |> Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction.find(%{
...>   financial_institution_id: financial_institution_or_id,
...>   financial_institution_account_id: financial_institution_account_or_id,
...>   id: "953934eb-229a-4fd2-8675-07794078cc7d"
...> })
{:ok, %Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction{id: "953934eb-229a-4fd2-8675-07794078cc7d"}}

iex> token
...> |> Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction.find(%{
...>   financial_institution_id: financial_institution_or_id,
...>   financial_institution_account_id: financial_institution_account_or_id,
...>   id: "does-not-exist"
...> })
{:error,
  [
    %{
      "code" => "resourceNotFound",
      "detail" => "The requested resource was not found.",
      "meta" => %{
        "requestId" => "00077F00000184847F0000011F4066E44223327005A",
        "resource" => "Sandbox.FinancialInstitutionTransaction"
      }
    }
  ]}
Link to this function

list(request_or_token, ids)

View Source

List sandbox Financial Institution Transactions

Takes a Ibanity.PontoConnect.Token, or a Ibanity.Request with set :token as argument.

Takes a map with the following keys as second argument:

Examples

Fetch a financial institution and financial institution account before each example, or use a valid financial institution id

iex> {:ok, financial_institution_or_id} = Ibanity.PontoConnect.FinancialInstitution.find_public(
...>   "953934eb-229a-4fd2-8675-07794078cc7d"
...> )
iex> {:ok, financial_institution_account_or_id} = Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount.find(
...>   token,
...>   %{
...>     financial_institution_id: financial_institution_or_id,
...>     id: "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"
...>   }
...> )

Or

iex> financial_institution_or_id = "953934eb-229a-4fd2-8675-07794078cc7d"
iex> financial_institution_account_or_id = "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"

Use financial_institution_or_id and financial_institution_account_or_id to list Financial Institution Transactions

iex> token |> Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction.list(%{
...>   financial_institution_id: financial_institution_or_id,
...>   financial_institution_account_id: financial_institution_account_or_id
...> })
{:ok, %Ibanity.Collection{
  items: [%Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction{}]
}}

iex> token |> Ibanity.Request.token() |> Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction.list(financial_institution_or_id)
{:ok, %Ibanity.Collection{
  items: [%Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction{}]
}}

iex> invalid_token |> Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction.list(financial_institution_or_id)
{:error,
  [
    %{
      "code" => "invalidAccessToken",
      "detail" => "Your access token is invalid.",
      "meta" => %{"requestId" => "00077F000001D3A87F0000011F4066E43AFD1900051"}
    }
  ]}
Link to this function

update(request_or_token, ids, attrs)

View Source

Updates an existing financial institution transaction

Returns {:ok, %__MODULE__{}} if successful, {:error, reason} otherwise.

Takes a map with the following keys as second argument:

Examples

Fetch a financial institution and financial institution account before each example, or use a valid financial institution id

iex> {:ok, financial_institution_or_id} = Ibanity.PontoConnect.FinancialInstitution.find_public(
...>   "953934eb-229a-4fd2-8675-07794078cc7d"
...> )
iex> {:ok, financial_institution_account_or_id} = Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount.find(
...>   token,
...>   %{
...>     financial_institution_id: financial_institution_or_id,
...>     id: "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"
...>   }
...> )

Or

iex> financial_institution_or_id = "953934eb-229a-4fd2-8675-07794078cc7d"
iex> financial_institution_account_or_id = "cb0bb5ab-dc3d-4832-b2ff-e6629240732f"

Attributes

iex> attributes = [
...>   counterpart_name: "Otro Bank",
...>   description: "Small Cotton Shoes",
...>   remittance_information: "NEW SHOES",
...>   end_to_end_id: "ref.243435343",
...>   purpose_code: "CASH",
...>   mandate_id: "234",
...>   creditor_id: "123498765421",
...>   additional_information: "Online payment on fake-tpp.com",
...>   proprietary_bank_transaction_code: "12267",
...>   bank_transaction_code: "PMNT-IRCT-ESCT"
...> ]

IDs

iex> ids = %{
...>   financial_institution_id: financial_institution_or_id,
...>   financial_institution_account_id: financial_institution_account_or_id,
...>   id: financial_institution_transaction_or_id
...> }

Use attributes and ids

iex> PontoConnect.Sandbox.FinancialInstitutionTransaction.update(token, ids, attributes)
{:ok, %PontoConnect.Sandbox.FinancialInstitutionTransaction{}}

iex> request = token |> Request.token() |> Request.application(:my_application)
iex> PontoConnect.Sandbox.FinancialInstitutionTransaction.update(request, ids, attributes)
{:ok, %PontoConnect.Sandbox.FinancialInstitutionTransaction{}}