Ibanity.PontoConnect.Sandbox.FinancialInstitutionTransaction (ibanity v1.0.0)
Sandbox Financial Institution Transaction API wrapper
Link to this section Summary
Functions
Same as create/3, but :attributes
, :account_id
, and :token
must be set in request.
Link to this section Functions
create(request)
Same as create/3, but :attributes
, :account_id
, and :token
must be set in request.
examples
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"}}
create(request_or_token, ids, attrs)
Creates a sandbox Financial Institution Transaction.
Returns {:ok, %__MODULE__{}}
if successful, {:error, reason}
otherwise.
Takes a map with the following keys as second argument:
:financial_institution_id
:Ibanity.PontoConnect.FinancialInstitution
struct or account ID as a string:financial_institution_account_id
:Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount
struct or account ID as a string:id
: resource ID as a string
examples
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"}}
find(request_or_token, ids)
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:
:financial_institution_id
:Ibanity.PontoConnect.FinancialInstitution
struct or account ID as a string:financial_institution_account_id
:Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount
struct or account ID as a string:id
: resource ID as a string
examples
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"
}
}
]}
list(request_or_token, ids)
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:
:financial_institution_id
:Ibanity.PontoConnect.FinancialInstitution
struct or account ID as a string:financial_institution_account_id
:Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount
struct or account ID as a string:id
: resource ID as a string
examples
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"}
}
]}
update(request_or_token, ids, attrs)
Updates an existing financial institution transaction
Returns {:ok, %__MODULE__{}}
if successful, {:error, reason}
otherwise.
Takes a map with the following keys as second argument:
:financial_institution_id
:Ibanity.PontoConnect.FinancialInstitution
struct or account ID as a string:financial_institution_account_id
:Ibanity.PontoConnect.Sandbox.FinancialInstitutionAccount
struct or account ID as a string:id
: resource ID as a string
examples
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{}}