Skip to main content

Use cases

This chapter contains the description of the processes taking place in the IBAN Management Service from the point of view of the Customer and the end user. Information on how to integrate with the solution has also been added.

Bank account number prefix

After signing the agreement with the Payment Institution, an IBAN prefix is ​​assigned to your Verestro account in the context of a given bank per currency. Each user creating a balance in the context of your IBAN Management Service implementation will have an IBAN number generated based on this prefix. Regardless of which bank the prefix was generated for you - your transactions will be settled between bank and the Payment Institution, thus exempting you from the responsibility of account operations.

Technical balance

When you create an account in Antaca, a technical balance is also created for you. It is a very important element of the solution because it contains funds that, for some reason, did not reach their destination and should be returned to the person ordering the transfer. The technical balance will be created during the process of creating an Antaca instance for you.

Display bank account number

The user who logs in the Customer application sees his balance and the IBAN that is assigned to this balance. This allows him to share such IBAN to a potential payer so that the payer can make a transfer to the user's account. Having a visible IBAN, the user can also top up his balance by making a bank transfer from his external account. The IBAN can be displayed by using the getIban and getIbanMobile methods depending on the implementation model used by the Customer. The implementation model also defines the method of Customer authorization in the IMS service. In the case of the Mobile SDK implementation model, the Customer authenticates using a session token received from Mobile DC. In the case of the REST API implementation model, the Customer authenticates through signed x509 certificate.

Transfer

Funds can be transferred in many ways. One of the most popular is a transfer using the recipient's account number. In the context of the IBAN Management Service solution, the transfer can be made in two directions.

The first is to receive funds on the account number provided to the entity ordering the transfer - this is an incoming transfer. The receiving domain is responsible for this type of transfer.

The second direction is to send funds to the indicated account number belonging to the recipient - this is an outgoing transfer.  The sending domain is responsible for this type of transfer.

Receiving

This functionality allows end user to receive transfers. End user which is using your application is able to share his IBAN to potential payer. This type of transfer is a transaction that top ups enduser's balance. As receiving an incoming transfer requires only to provide IBAN to his potential payer the public part of this domain contains only getting balance owner bank account number.

Sending

This functionality allows both Customer as a corporation and end user to order outgoing transfers. End user which is using your application is able to sends money on a given IBAN. The outgoing transfer is a transaction that charges balance which spiecified IBAN is connected with. The sender must provide the recipient's IBAN number for the transfer to be initiated. Depending on the recipient's IBAN, the transfer will be made using the appropriate transfer type - internal, domestic, SEPA or SWIFT. The types of transfers and their conditions are described here. SEPA and SWIFT transfers may be charged with additional costs. When ordering a transfer, PIN or biometric authorization may be required.

Important! Implementation work in progress...

Authorization

For security reasons, a transfer order requires authentication of the ordering entity. Depending on the type of integration you are performing, authentication can be done in different ways.

For mobile integration, our mobile SDK will provide authentication via biometrics or end-user PIN. This type of end-user authentication takes place when logging in and making a transfer.

In the case of server to server integration, we only authenticate the instance of a given Customer as the corporation ordering the transfer in the context of a given user. End user authentication in this case is your responsibility.

There is also a case in which you, as a corporation, want to order a transfer directly from your master balance. In this case, we authenticate you using a pre-signed x509 certificate.

Transaction result

After making each transfer, it is important to have information about its status. For this reason, we provide the ability to get information about the result of each transaction made. Our application provides two types of notifications: notification to the Customer and notification for the end user.

Notification to the Customer

One of the additional functionalities offered in the IMS solution is sending transaction notifications to the Customer. The notification is sent in the form of an event that should be handled by the Customer. The Customer should create POST type endpoint to allow us to send such an event.

POST https://example-customer-site.com/transaction-event

{
  "id": 20,
  "timestamp": 1665557034
}

Transaction event contains the transaction identifier as has been shown in example above. Using this identifier, the Customer can get the details of a given transaction using the appropriate method. It is also possible to get a list of all transactions. Implementation details are available in the technical documentation of the Transaction History Core service.

Expand to see UML diagram presenting notification process

@startuml
skinparam ParticipantPadding 30
skinparam BoxPadding 30
skinparam noteFontColor #FFFFFF
skinparam noteBackgroundColor #1C1E3F
skinparam noteBorderColor #1C1E3F
skinparam noteBorderThickness 1
skinparam sequence {
ArrowColor #1C1E3F
ArrowFontColor #1C1E3F
ActorBorderColor #1C1E3F
ActorBackgroundColor #FFFFFF
ActorFontStyle bold
ParticipantBorderColor #1C1E3F
ParticipantBackgroundColor #1C1E3F
ParticipantFontColor #FFFFFF
ParticipantFontStyle bold
LifeLineBackgroundColor #1C1E3F
LifeLineBorderColor #1C1E3F
}
participant "IBAN Management" as ims
participant "Transaction History Core" as THC
participant "Customer's Server" as issuer
ims->THC: Report performed transfer
THC->issuer: Send notification event on the Customer endpoint
issuer->THC: Get transaction details by received transaction id
issuer<-THC: Return transaction details
@enduml

Note: This is an optional feature, but we recommend using it.

Notification to the user

Important! Implementation work in progress...

Admin Panel

One of the additional functionalities that Verestro provides is the creation of an administration panel that allows the Customer to track the history of users' transactions - individual banking operations such as debiting or topping up the account with the transfer IBAN are visible. The Admin Panel also provides information such what IBAN is assigned to the secified user and and which balance this IBAN refers to. The Admin Panel is configured mainly on the Verestro side. Each instance of the Admin Panel is issued per Customer. Please visit Admin Panel documentation to see more detailed description of the service.

Expand to see UML diagram presenting filtering process and ordering transfer process

@startuml
skinparam ParticipantPadding 30
skinparam BoxPadding 30
skinparam noteFontColor #FFFFFF
skinparam noteBackgroundColor #1C1E3F
skinparam noteBorderColor #1C1E3F
skinparam noteBorderThickness 1
skinparam sequence {
ArrowColor #1C1E3F
ArrowFontColor #1C1E3F
ActorBorderColor #1C1E3F
ActorBackgroundColor #FFFFFF
ActorFontStyle bold
ParticipantBorderColor #1C1E3F
ParticipantBackgroundColor #1C1E3F
ParticipantFontColor #FFFFFF
ParticipantFontStyle bold
LifeLineBackgroundColor #1C1E3F
LifeLineBorderColor #1C1E3F
}
participant "Customer's employee" as issuer
participant "Admin Panel" as ap
participant "IBAN Management" as ims
participant "Transaction History Core" as thc
note right of issuer: Customer logs in Admin Panel
issuer->ap: Log in
issuer<-ap: Success
note right of issuer: Customer filter IBANs list
issuer->ap: Get IBANs
ap->ims: Get IBANs by specified query
ap<-ims: Return list of found IBANs
issuer<-ap: Show list of found IBANs
note right of issuer: Customer filter transaction history list
issuer->ap: Get transaction history
ap->thc: Get transaction history by specified query
ap<-thc: Return list of found transactions
issuer<-ap: Show list of found transactions
issuer->ap: Order transfer from Customer master balanse to specified IBAN
ap->ims: Order transfer
ap<-ims: OK - transfer ordered
issuer<-ap: Transfer ordered
note left of ims: This transfer will also be displayed in transaction history
@enduml

Note: Process available for Admin Panel operetor with every type of Admin Panel operator roles.

Views

This chapter contains views and actions to be performed available to the Admin Panel operator regarding the IBAN Management solution. Depending on the role of the operator's account, various actions are available in the Admin Panel. The roles available in the Admin Panel are EMPLOYEE, MANAGER and ADMIN. More information about roles and their permissions are included further in Views chapter subsections.

Note: Depending on the Customer's requirements, the permissions in the Admin Panel can be configurable. For example, it is possible that only ADMIN and MANAGER can add a new balance from the Admin Panel. EMPLOYEE, on the other hand, would only be able to perform read actions. Detailed information about roles and permissions configurations are available in the Admin Panel Service documentation.

Enduser details

Each role is entitled to read actions. This means that EMPLOYEE, MANAGER and ADMIN can filter their endusers and check their account details such as assigned balances and IBANs. The option of viewing end users is available in the CUSTOMERSEnd Users tab and has been presented on the picture below:

image-1677147920306.png

Using to the available filters in Endusers tab, the Admin Panel operator regardless of his Admin Panel role can find a proper user by various filtering criteria - including the IBAN number. The entered filtering criteria can be cleared using the Clear all button in the upper right corner. Available filtering options have been presented on the picture below:

image-1676554736454.png

Such the Admin Panel operator is also able to view the details of a given end user by selecting end user's record from the list of all end users. In the end user details section, there are several tabs dedicated to various functionalities - including Balances tab with balances details and the same IBANs assigned to these balances. By selecting the Reveal option, the Admin Panel operator can view the end user's IBAN number. From the same view, it is also possible to add a new balance to the end user, which will also generate a new IBAN number. Generating a new balance is possible with the +Add new balance button in the lower left corner. The action of generating a new balance is also available for each role of the Admin Panel operator. The described posibilities available in Balances tab have been presented on the picture below:

image-1676555543719.png

Payment history

Each of the Admin Panel operators also has the ability to view the transaction history of all endusers. The option of viewing end users is available in the CUSTOMERSPayment History tab and has been presented one the picture below:

image-1677150640402.png

Using to the available filters in Payment history tab, the Admin Panel operator regardless of his Admin Panel role can find a proper end user's transaction by various filtering criteria. The entered filtering criteria can be cleared using the Clear all button in the upper right corner. After specifying the filtering criteria, the operator can also generate a transaction report using the Generate transaction report button in the upper right corner.

image-1677151269746.png

Such the Admin Panel operator is also able to view the payment history of a given end user by selecting end user's record from the list of all end users. In the end user details section, there are several tabs dedicated to various functionalities - including Payment history tab with transaction details performed by selected enduser. The Payment history tab have been presented on the picture below:

image-1677149382343.png