Skip to main content

Wallet Overview

The Sabi Wallet Service is a versatile platform designed to cater to various Sabi products, as well as the needs of other clients seeking to integrate their online products with a payment service. This service prioritizes security and provides wallet creation services for both personal and business users, facilitating a wide range of financial transactions. Its architecture incorporates multiple components to ensure the reliability and security of its operations.

**Creation of User and Wallet Profiles:

Business Profiles:**

  • Merchants & Agents: These users utilize the wallet for making payments for purchased goods and receiving commissions from Sabi.
  • Agency Banking: Wallets are created for agency banking customers, primarily for Cash-in and Cash-out transactions. Commission wallets are also established for this user category.
  • VAS Transactions: Business users can leverage their wallets to perform Value-Added Service (VAS) transactions.

Person Profiles:

  • Customers: These users use the wallet for purchasing goods and conducting transactions with agency banking users.
  • VAS Transactions: Customers have the capability to perform VAS transactions using their wallets.

Virtual Bank Accounts: Each customer is assigned a virtual bank account number, corresponding to their wallet ID on Ameta.

Wallet Creation Process:

  • A unified endpoint is exposed to all clients for wallet creation, accommodating various parameters.
  • Wallet creation involves multiple sequential calls to Ameta, which may result in non-instantaneous account creation due to the process-driven nature of these calls.

Wallet Architecture:

  • Client: This refers to diverse platforms integrating with the Wallet Service, including Sabi and third-party clients.
  • User Mgt/Wallet Mapper: Responsible for the centralized management of all users within the wallet service. It also includes a mapper for associating wallet accounts with users in cases where the user management service is inaccessible.
  • Wallet Microservice: Comprising wallet integration and logic components:
  • Sync service: This component patiently awaits the completion of operations before responding to client requests.
  • Producer Package: It accepts client requests and forwards them to the message broker (Azure Service Bus). While waiting, it anticipates responses from external parties or internal subscribers. Various processes have distinct exchange names.
  • Consumer Package: This component retrieves messages from the message broker. These messages can come from the producer package or other parties with service bus configurations, based on the subscribed exchange names.
  • Ameta: A crucial wallet service provider integrated with a core banking application to ensure seamless account creation and processing. It also facilitates payment collection through intra and inter-bank transfers.
  • CoralPay: An essential platform for managing payments and collections across multiple omni channels, including USSD, QR codes, transfers, contactless payments (NFC & Bluetooth), and payment links.