Ibanity.PontoConnect.BulkPayment (ibanity v1.0.0)
Bulk Payment API wrapper
Link to this section Summary
Link to this section Functions
Link to this function
create(request)
Same as create/3
, but :attributes
, :account_id
, and :token
must be set in request.
examples
Examples
Set id and token to request a BulkPayment
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.Request.token()
...> |> Ibanity.Request.id(:account_id, account_id)
...> |> Ibanity.Request.attributes(attributes)
...> |> Ibanity.PontoConnect.BulkPayment.create()
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "343e64e5-4882-4559-96d0-221c398288f3"}}
Link to this function
create(request_or_token, account_or_id, attrs)
Returns {:ok, %__MODULE__{}}
if successful, {:error, reason}
otherwise.
example
Example
Fetch an account before each example, or use a valid account id
iex> {:ok, account_or_id} = token |> Ibanity.PontoConnect.Account.find("03ebe0ae-f630-4414-b37b-afde7de67229")
Or
iex> account_or_id = "03ebe0ae-f630-4414-b37b-afde7de67229"
"03ebe0ae-f630-4414-b37b-afde7de67229"
Attributes
iex> attributes = [
...> reference: "Invoice Payments",
...> redirect_uri: "https://fake-tpp.com/payment-confirmation?payment=123",
...> requested_execution_date: "2025-05-05",
...> batch_booking_preferred: true,
...> payments: [
...> %{
...> remittance_information: "payment 1",
...> remittance_information_type: "unstructured",
...> currency: "EUR",
...> amount: 59,
...> creditor_name: "Alex Creditor",
...> creditor_account_reference: "BE55732022998044",
...> creditor_account_reference_type: "IBAN",
...> creditor_agent: "NBBEBEBB203",
...> creditor_agent_type: "BIC",
...> end_to_end_id: "1234567890"
...> },
...> %{
...> remittance_information: "payment 2",
...> remittance_information_type: "unstructured",
...> currency: "EUR",
...> amount: 25,
...> creditor_name: "Pat Smith",
...> creditor_account_reference: "BE73055155935764",
...> creditor_account_reference_type: "IBAN",
...> creditor_agent: "NBBEBEBB203",
...> creditor_agent_type: "BIC",
...> end_to_end_id: "0987654321"
...> }
...> ]
...> ]
With token
iex> Ibanity.PontoConnect.BulkPayment.create(%Ibanity.PontoConnect.Token{}, account_or_id, attributes)
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "343e64e5-4882-4559-96d0-221c398288f3"}}
With request
iex> request = Ibanity.Request.token(%PontoConnect.Token{})
iex> Ibanity.PontoConnect.BulkPayment.create(request, account_or_id, attributes)
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "343e64e5-4882-4559-96d0-221c398288f3"}}
Link to this function
delete(request_or_token, ids)
Takes a map with the following keys as second argument:
:account_id
:Ibanity.PontoConnect.Account
struct or account ID as a string:id
: resource ID as a string
examples
Examples
Fetch an account before each example, or use a valid account id
iex> {:ok, account_or_id} = token |> Ibanity.PontoConnect.Account.find("03ebe0ae-f630-4414-b37b-afde7de67229")
Or
iex> account_or_id = "03ebe0ae-f630-4414-b37b-afde7de67229"
"03ebe0ae-f630-4414-b37b-afde7de67229"
With token
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.PontoConnect.BulkPayment.delete(%{
...> id: "953934eb-229a-4fd2-8675-07794078cc7d", account_id: account_or_id
...> })
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "953934eb-229a-4fd2-8675-07794078cc7d"}}
With request
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.Request.token()
...> |> Ibanity.Request.application(:my_application)
...> |> Ibanity.PontoConnect.BulkPayment.delete(%{
...> id: "953934eb-229a-4fd2-8675-07794078cc7d", account_id: account_or_id
...> })
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "953934eb-229a-4fd2-8675-07794078cc7d"}}
Error
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.PontoConnect.BulkPayment.delete(%{
...> id: "does-not-exist",
...> account_id: account_or_id
...> })
{:error,
[
%{
"code" => "resourceNotFound",
"detail" => "The requested resource was not found.",
"meta" => %{
"requestId" => "00077F00000184847F0000011F4066E44223327005A",
"resource" => "bulkPayment"
}
}
]}
Link to this function
find(request_or_token, ids)
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:
:account_id
:Ibanity.PontoConnect.Account
struct or account ID as a string:id
: resource ID as a string
examples
Examples
Fetch an account before each example, or use a valid account id
iex> {:ok, account_or_id} = token |> Ibanity.PontoConnect.Account.find("03ebe0ae-f630-4414-b37b-afde7de67229")
Or
iex> account_or_id = "03ebe0ae-f630-4414-b37b-afde7de67229"
"03ebe0ae-f630-4414-b37b-afde7de67229"
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.PontoConnect.BulkPayment.find(%{account_id: account_or_id, id: "d0e23b50-e150-403b-aa50-581a2329b5f5"})
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "d0e23b50-e150-403b-aa50-581a2329b5f5"}}
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.Request.token()
...> |> Ibanity.Request.application(:my_application)
...> |> Ibanity.PontoConnect.BulkPayment.find(%{account_id: account_or_id, id: "d0e23b50-e150-403b-aa50-581a2329b5f5"})
{:ok, %Ibanity.PontoConnect.BulkPayment{id: "d0e23b50-e150-403b-aa50-581a2329b5f5"}}
iex> %Ibanity.PontoConnect.Token{}
...> |> Ibanity.PontoConnect.BulkPayment.find(%{account_id: account_or_id, id: "does-not-exist"})
{:error,
[
%{
"code" => "resourceNotFound",
"detail" => "The requested resource was not found.",
"meta" => %{
"requestId" => "00077F00000184847F0000011F4066E44223327005A",
"resource" => "bulkPayment"
}
}
]}