Skip to content

Use Cases

Naman Dwivedi edited this page Aug 13, 2018 · 3 revisions

Each use case in the core module is a standalone feature of the wallet framework.

Each use case has a set of request values that can be passed to the use case execution and a set of response value that the client can get back after the execution is completed. These use cases should be executed from the presenters in the client app by using UseCaseHandler

Currently, the following use cases are available -

  • AuthenticateUser - Authentication using the self service apis.
    RequestValues - username, password
    ResponseValues - The authenticated user

  • FetchAccount - Fetches the wallet account for the client using the wallet savingsProductId defined in the core module.
    RequestValues - clientId ResponseValues - The wallet account associated with the client

  • FetchAccounts - Fetches all the savings account for the client
    RequestValues - clientId
    ResponseValues - List of accounts

  • SearchClient - Finds the client using the vpa/mobileNo provided
    RequestValues - vpa/externalId of the client
    ResponseValues - List of search results

  • TransferFunds - Makes a funds transfer between the two wallet accounts using third party transfer from self service apis.
    RequestValues - fromClientId, toClientId, amount

  • FetchAccountTransactions - Fetches the recent transactions for the account
    RequestValues - accountId
    ResponseValues - List of transactions

  • FetchClientData - Fetches the details of a client
    RequestValues - clientId (optional)
    ResponseValues - Client details

  • RegisterUser - Creates a new user in the fineract backend: creates a new self service user, creates a new client and creates a new wallet account.
    RequestValues - RegisterPayload

  • BlockUnblockCommand - Blocks or Unblocks an account of a client
    RequestValues - accountId, command (Block/Unblock)

  • FetchMerchants - Fetches all the registered merchants
    RequestValues - None ResponseValues - List of merchants

  • FetchAccountTransfer - Fetches transfer details of a specific transaction
    RequestValues - transferId ResponseValues - Transfer Details

  • FetchTransactionReceipt - Fetches receipt of a transaction
    RequestValues - transactionId ResponseValues - Receipt PDF

  • FetchClientImage - Fetches client's image
    RequestValues - clientId ResponseValues - Image decoded in Base64

  • UpdateClient - Updates mobileNo or any other field of a client RequestValues - clientEntity containing the fields one wants to update (example: mobileNo), clientId

  • FetchClientImage - Fetches client's image
    RequestValues - clientId ResponseValues - Image decoded in Base64

  • FetchInvoice - Fetches a specific invoice of a client RequestValues - uniquePaymentLink ResponseValues - Invoice

  • FetchInvoices - Fetches all the invoices of a client
    RequestValues - clientId ResponseValues - List of invoices

  • FetchKYCLevel1Details - Fetches KYC level 1 details of a client RequestValues - clientId ResponseValues - KYC Level 1 details

  • UpdatesKYCLevel1Details - Updates KYC level 1 details of a client
    RequestValues - clientId

  • UploadKYCDocs - Uploads KYC documents of a client
    RequestValues - entityType, clientId, docname, identityType, file

  • UploadKYCLevel1Details - Upload KYC level 1 details of a client RequestValues - clientId, KYC level 1 details

  • FetchNotifications - fetches all the notifications of a client RequestValues - clientId ResponseValues - List of notifications

  • AddCard - Adds a new credit card RequestValues - clientId, card details

  • DeleteCard - Deletes a credit card of a client RequestValues - clientId, cardID

  • EditCard - Updates a credit card of a client RequestValues - clientId, new card details

  • FetchSavedCards - Fetches saved credit cards of a client RequestValues - clientId ResponseValues - List of cards

  • RequestOTP - Sends an OTP on client's registered mobile number or email Id RequestValues - deliveryMethod

  • ValidateOTP - Validates an OTP token
    RequestValues - token ResponseValues - accessToken

  • UpdateUser - Updates email Id or any other field of a user
    RequestValues - userEntity containing the fields one wants to update (example: email), clientId

Demo credentials

  • Fineract Instance: venus.mifos.io
  • username: venus
  • password: Venus2023#
Clone this wiki locally