# 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](https://developer.verestro.com/books/iban-management-refactor/page/overview#bkmrk-supported-currencies) 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 with 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](https://developer.verestro.com/books/white-label-application/page/overview#bkmrk-1.3.1.1-secure-conne)[ DC.](https://developer.verestro.com/books/white-label-application/page/overview#bkmrk-1.3.1.1-secure-conne) In the case of the REST API implementation model, the Customer authenticates through signed [x509 certificate](https://developer.verestro.com/books/iban-management/page/technical-documentation#bkmrk-how-to-generate-csr-). ## 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](https://developer.verestro.com/books/iban-management-refactor/page/use-cases#bkmrk-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](https://developer.verestro.com/books/iban-management-refactor/page/use-cases#bkmrk-iban-transfer-sendin) 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](https://developer.verestro.com/books/iban-management-refactor/page/overview#bkmrk-iban-transfer-receiv). 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](https://developer.verestro.com/books/connecting-to-our-services/page/connecting-to-server-to-server-apis-fe-sandbox). ## 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](https://developer.verestro.com/books/iban-management-refactor/page/use-cases#bkmrk-notification-to-the-) and [notification for the end user](https://developer.verestro.com/books/iban-management-refactor/page/use-cases#bkmrk-notification-to-the--0). ### 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. ```JavaScript 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](https://developer.verestro.com/books/transaction-history-api/page/technical-documentation-thc-external-api) service.**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](https://developer.verestro.com/books/administration-panel?shelf=16) to see more detailed description of the service.**Note:** Process available for Admin Panel operetor with every type of [Admin Panel operator roles](https://developer.verestro.com/books/administration-panel/page/overview#bkmrk-14.1-%C2%A0-%C2%A0roles-and-pe).
**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](https://developer.verestro.com/books/administration-panel/page/overview#bkmrk-14.1-%C2%A0-%C2%A0roles-and-pe).
#### 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 `CUSTOMERS` / `End Users` tab and has been presented on the picture below: [](https://developer.verestro.com/uploads/images/gallery/2023-02/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: [](https://developer.verestro.com/uploads/images/gallery/2023-02/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: [](https://developer.verestro.com/uploads/images/gallery/2023-02/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 `CUSTOMERS` / `Payment History` tab and has been presented one the picture below: [](https://developer.verestro.com/uploads/images/gallery/2023-02/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. [](https://developer.verestro.com/uploads/images/gallery/2023-02/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: [](https://developer.verestro.com/uploads/images/gallery/2023-02/image-1677149382343.png) ``